mirror of
https://github.com/zeldaret/tmc
synced 2026-09-02 02:02:30 -04:00
Merge pull request #337 from octorock/push-and-pull
This commit is contained in:
@@ -1,216 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
mov r8, r0
|
||||
adds r6, r1, #0
|
||||
ldrh r1, [r6, #2]
|
||||
asrs r7, r1, #4
|
||||
movs r0, #1
|
||||
ands r7, r0
|
||||
movs r0, #0xf
|
||||
ands r1, r0
|
||||
cmp r1, #6
|
||||
bls _0806F1C8
|
||||
b _0806F332
|
||||
_0806F1C8:
|
||||
lsls r0, r1, #2
|
||||
ldr r1, _0806F1D4 @ =_0806F1D8
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0806F1D4: .4byte _0806F1D8
|
||||
_0806F1D8: @ jump table
|
||||
.4byte _0806F332 @ case 0
|
||||
.4byte _0806F342 @ case 1
|
||||
.4byte _0806F1F4 @ case 2
|
||||
.4byte _0806F24E @ case 3
|
||||
.4byte _0806F2BA @ case 4
|
||||
.4byte _0806F324 @ case 5
|
||||
.4byte _0806F336 @ case 6
|
||||
_0806F1F4:
|
||||
ldr r4, [r6]
|
||||
asrs r1, r4, #0xc
|
||||
movs r0, #0xf
|
||||
ands r1, r0
|
||||
ldr r0, _0806F210 @ =0x00000FFF
|
||||
ands r4, r0
|
||||
movs r5, #0
|
||||
cmp r1, #1
|
||||
beq _0806F22A
|
||||
cmp r1, #1
|
||||
bgt _0806F214
|
||||
cmp r1, #0
|
||||
beq _0806F21A
|
||||
b _0806F248
|
||||
.align 2, 0
|
||||
_0806F210: .4byte 0x00000FFF
|
||||
_0806F214:
|
||||
cmp r1, #2
|
||||
beq _0806F23A
|
||||
b _0806F248
|
||||
_0806F21A:
|
||||
adds r0, r4, #0
|
||||
bl CheckRoomFlag
|
||||
adds r5, r0, #0
|
||||
_0806F222:
|
||||
adds r0, r4, #0
|
||||
bl SetRoomFlag
|
||||
b _0806F248
|
||||
_0806F22A:
|
||||
adds r0, r4, #0
|
||||
bl CheckLocalFlag
|
||||
adds r5, r0, #0
|
||||
_0806F232:
|
||||
adds r0, r4, #0
|
||||
bl SetLocalFlag
|
||||
b _0806F248
|
||||
_0806F23A:
|
||||
adds r0, r4, #0
|
||||
bl CheckGlobalFlag
|
||||
adds r5, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl SetGlobalFlag
|
||||
_0806F248:
|
||||
cmp r5, #0
|
||||
beq _0806F342
|
||||
b _0806F34C
|
||||
_0806F24E:
|
||||
ldr r4, [r6]
|
||||
asrs r1, r4, #0xc
|
||||
movs r0, #0xf
|
||||
ands r1, r0
|
||||
ldr r0, _0806F26C @ =0x00000FFF
|
||||
ands r4, r0
|
||||
movs r5, #0
|
||||
cmp r1, #1
|
||||
beq _0806F28A
|
||||
cmp r1, #1
|
||||
bgt _0806F270
|
||||
cmp r1, #0
|
||||
beq _0806F276
|
||||
b _0806F248
|
||||
.align 2, 0
|
||||
_0806F26C: .4byte 0x00000FFF
|
||||
_0806F270:
|
||||
cmp r1, #2
|
||||
beq _0806F29E
|
||||
b _0806F248
|
||||
_0806F276:
|
||||
adds r0, r4, #0
|
||||
bl CheckRoomFlag
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
beq _0806F222
|
||||
adds r0, r4, #0
|
||||
bl ClearRoomFlag
|
||||
b _0806F248
|
||||
_0806F28A:
|
||||
adds r0, r4, #0
|
||||
bl CheckLocalFlag
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
beq _0806F232
|
||||
adds r0, r4, #0
|
||||
bl ClearLocalFlag
|
||||
b _0806F248
|
||||
_0806F29E:
|
||||
adds r0, r4, #0
|
||||
bl CheckGlobalFlag
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bne _0806F2B2
|
||||
adds r0, r4, #0
|
||||
bl SetGlobalFlag
|
||||
b _0806F248
|
||||
_0806F2B2:
|
||||
adds r0, r4, #0
|
||||
bl ClearGlobalFlag
|
||||
b _0806F248
|
||||
_0806F2BA:
|
||||
ldr r4, [r6]
|
||||
asrs r1, r4, #0xc
|
||||
movs r0, #0xf
|
||||
ands r1, r0
|
||||
ldr r0, _0806F2D8 @ =0x00000FFF
|
||||
ands r4, r0
|
||||
movs r5, #0
|
||||
cmp r1, #4
|
||||
bhi _0806F248
|
||||
lsls r0, r1, #2
|
||||
ldr r1, _0806F2DC @ =_0806F2E0
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0806F2D8: .4byte 0x00000FFF
|
||||
_0806F2DC: .4byte _0806F2E0
|
||||
_0806F2E0: @ jump table
|
||||
.4byte _0806F2F4 @ case 0
|
||||
.4byte _0806F2FC @ case 1
|
||||
.4byte _0806F304 @ case 2
|
||||
.4byte _0806F30C @ case 3
|
||||
.4byte _0806F314 @ case 4
|
||||
_0806F2F4:
|
||||
adds r0, r4, #0
|
||||
bl CheckRoomFlag
|
||||
b _0806F320
|
||||
_0806F2FC:
|
||||
adds r0, r4, #0
|
||||
bl CheckLocalFlag
|
||||
b _0806F320
|
||||
_0806F304:
|
||||
adds r0, r4, #0
|
||||
bl CheckGlobalFlag
|
||||
b _0806F320
|
||||
_0806F30C:
|
||||
adds r0, r4, #0
|
||||
bl CheckKinstoneFused
|
||||
b _0806F320
|
||||
_0806F314:
|
||||
adds r0, r4, #0
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _0806F320
|
||||
movs r0, #1
|
||||
_0806F320:
|
||||
adds r5, r0, #0
|
||||
b _0806F248
|
||||
_0806F324:
|
||||
ldr r1, [r6, #4]
|
||||
cmp r1, #0
|
||||
beq _0806F332
|
||||
mov r0, r8
|
||||
bl _call_via_r1
|
||||
b _0806F35E
|
||||
_0806F332:
|
||||
movs r0, #0
|
||||
b _0806F34E
|
||||
_0806F336:
|
||||
ldr r0, _0806F348 @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
movs r1, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806F34C
|
||||
_0806F342:
|
||||
ldrh r0, [r6, #6]
|
||||
b _0806F34E
|
||||
.align 2, 0
|
||||
_0806F348: .4byte gPlayerState
|
||||
_0806F34C:
|
||||
ldrh r0, [r6, #4]
|
||||
_0806F34E:
|
||||
cmp r7, #0
|
||||
beq _0806F35A
|
||||
mov r1, r8
|
||||
bl MessageNoOverlap
|
||||
b _0806F35E
|
||||
_0806F35A:
|
||||
bl MessageFromTarget
|
||||
_0806F35E:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,69 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r1, r0, #1
|
||||
strb r1, [r5, #0xe]
|
||||
lsls r0, r1, #0x18
|
||||
cmp r0, #0
|
||||
bne _08099896
|
||||
bl DeleteThisEntity
|
||||
b _0809990E
|
||||
_08099896:
|
||||
lsls r0, r1, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0x30
|
||||
bne _080998A4
|
||||
adds r0, r5, #0
|
||||
bl sub_08099C18
|
||||
_080998A4:
|
||||
ldrb r0, [r5, #0xe]
|
||||
movs r4, #0x3c
|
||||
subs r4, r4, r0
|
||||
lsls r4, r4, #5
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
adds r4, r4, r1
|
||||
adds r0, r5, #0
|
||||
adds r2, r4, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
movs r2, #2
|
||||
movs r3, #0
|
||||
bl sub_0806FCF4
|
||||
movs r0, #0xf
|
||||
movs r1, #0x11
|
||||
movs r2, #0x40
|
||||
bl CreateObject
|
||||
adds r6, r0, #0
|
||||
cmp r6, #0
|
||||
beq _0809990E
|
||||
bl Random
|
||||
adds r4, r0, #0
|
||||
asrs r0, r4, #0x10
|
||||
movs r1, #0x21
|
||||
bl __modsi3
|
||||
adds r2, r0, #0
|
||||
subs r2, #0x10
|
||||
movs r0, #0xf
|
||||
ands r0, r4
|
||||
subs r4, r0, #4
|
||||
adds r3, r6, #0
|
||||
adds r3, #0x29
|
||||
ldrb r1, [r3]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
lsls r2, r2, #0x10
|
||||
lsls r3, r4, #0x10
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
bl PositionRelative
|
||||
_0809990E:
|
||||
pop {r4, r5, r6, pc}
|
||||
.syntax divided
|
||||
@@ -1,77 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
ldr r2, _08057434 @ =gRoomControls
|
||||
ldr r0, [r2, #0x28]
|
||||
ldr r1, _08057438 @ =0xFFFFE000
|
||||
adds r0, r0, r1
|
||||
str r0, [r2, #0x28]
|
||||
ldr r0, [r2, #0x2c]
|
||||
ldr r1, _0805743C @ =0xFFFFF000
|
||||
adds r0, r0, r1
|
||||
str r0, [r2, #0x2c]
|
||||
ldr r5, _08057440 @ =gScreen
|
||||
movs r1, #0xa
|
||||
ldrsh r0, [r2, r1]
|
||||
ldrh r1, [r2, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
ldrh r1, [r2, #0x2a]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r5, #0x2e]
|
||||
movs r1, #0xc
|
||||
ldrsh r0, [r2, r1]
|
||||
ldrh r1, [r2, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
ldrh r2, [r2, #0x2e]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r5, #0x30]
|
||||
ldr r2, _08057444 @ =gSineTable
|
||||
ldr r4, _08057448 @ =gRoomTransition
|
||||
ldr r1, [r4]
|
||||
ldrb r0, [r4]
|
||||
adds r0, #0x40
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
asrs r0, r0, #5
|
||||
adds r0, #0x10
|
||||
bl sub_0805732C
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x22
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _08057430
|
||||
ldr r0, [r4]
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08057430
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x24
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r1, _0805744C @ =gUnk_08107C30
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_08057430:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08057434: .4byte gRoomControls
|
||||
_08057438: .4byte 0xFFFFE000
|
||||
_0805743C: .4byte 0xFFFFF000
|
||||
_08057440: .4byte gScreen
|
||||
_08057444: .4byte gSineTable
|
||||
_08057448: .4byte gRoomTransition
|
||||
_0805744C: .4byte gUnk_08107C30
|
||||
.syntax divided
|
||||
@@ -0,0 +1,155 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x50]
|
||||
ldrh r1, [r0, #0xc]
|
||||
ldr r0, _0808AC38 @ =0x00000201
|
||||
cmp r1, r0
|
||||
bne _0808ABD6
|
||||
bl DeleteThisEntity
|
||||
_0808ABD6:
|
||||
ldr r0, [r4, #0x54]
|
||||
ldr r1, [r4, #0x50]
|
||||
bl sub_0808B1F0
|
||||
adds r2, r0, #0
|
||||
cmp r2, #7
|
||||
bhi _0808ABE6
|
||||
movs r2, #0
|
||||
_0808ABE6:
|
||||
ldrb r3, [r4, #0x14]
|
||||
lsls r1, r3, #2
|
||||
ldr r0, _0808AC3C @ =gUnk_081211CC
|
||||
adds r5, r1, r0
|
||||
cmp r2, #0x1f
|
||||
bhi _0808AC5A
|
||||
cmp r2, #0
|
||||
beq _0808ABF8
|
||||
subs r2, #6
|
||||
_0808ABF8:
|
||||
ldrh r0, [r5]
|
||||
str r0, [r4, #0x70]
|
||||
ldr r1, [r4, #0x50]
|
||||
movs r0, #2
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r3, [r1, #0x2e]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #3
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r1, [r1, #0x32]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
ldrb r1, [r4, #0x14]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0808AC40
|
||||
lsls r1, r2, #4
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #2
|
||||
subs r0, r0, r1
|
||||
str r0, [r4, #0x74]
|
||||
lsls r0, r2, #3
|
||||
movs r1, #0x90
|
||||
lsls r1, r1, #1
|
||||
adds r0, r0, r1
|
||||
str r0, [r4, #0x78]
|
||||
movs r0, #0xf
|
||||
strb r0, [r4, #0x1e]
|
||||
b _0808ACDE
|
||||
.align 2, 0
|
||||
_0808AC38: .4byte 0x00000201
|
||||
_0808AC3C: .4byte gUnk_081211CC
|
||||
_0808AC40:
|
||||
lsls r1, r2, #4
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #2
|
||||
subs r0, r0, r1
|
||||
str r0, [r4, #0x78]
|
||||
lsls r0, r2, #3
|
||||
movs r3, #0x90
|
||||
lsls r3, r3, #1
|
||||
adds r0, r0, r3
|
||||
str r0, [r4, #0x74]
|
||||
movs r0, #0x14
|
||||
strb r0, [r4, #0x1e]
|
||||
b _0808ACDE
|
||||
_0808AC5A:
|
||||
movs r0, #1
|
||||
ands r3, r0
|
||||
cmp r3, #0
|
||||
beq _0808AC9E
|
||||
adds r1, r2, #0
|
||||
subs r1, #0x20
|
||||
lsls r1, r1, #2
|
||||
adds r0, #0xff
|
||||
subs r0, r0, r1
|
||||
str r0, [r4, #0x74]
|
||||
lsls r0, r2, #3
|
||||
movs r1, #0xa0
|
||||
lsls r1, r1, #1
|
||||
adds r0, r0, r1
|
||||
str r0, [r4, #0x78]
|
||||
movs r0, #0x10
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r1, [r4, #0x14]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0808AC92
|
||||
ldr r0, [r4, #0x50]
|
||||
lsrs r1, r2, #1
|
||||
ldrh r0, [r0, #0x2e]
|
||||
subs r0, r0, r1
|
||||
strh r0, [r4, #0x2e]
|
||||
b _0808ACDE
|
||||
_0808AC92:
|
||||
ldr r1, [r4, #0x50]
|
||||
lsrs r0, r2, #1
|
||||
ldrh r1, [r1, #0x2e]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x2e]
|
||||
b _0808ACDE
|
||||
_0808AC9E:
|
||||
adds r1, r2, #0
|
||||
subs r1, #0x20
|
||||
lsls r1, r1, #2
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
subs r0, r0, r1
|
||||
str r0, [r4, #0x78]
|
||||
lsls r0, r2, #3
|
||||
movs r3, #0xa0
|
||||
lsls r3, r3, #1
|
||||
adds r0, r0, r3
|
||||
str r0, [r4, #0x74]
|
||||
movs r0, #0x15
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r1, [r4, #0x14]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0808ACCE
|
||||
ldr r0, [r4, #0x50]
|
||||
lsrs r1, r2, #1
|
||||
ldrh r0, [r0, #0x32]
|
||||
adds r1, r1, r0
|
||||
b _0808ACD6
|
||||
_0808ACCE:
|
||||
ldr r0, [r4, #0x50]
|
||||
lsrs r2, r2, #1
|
||||
ldrh r1, [r0, #0x32]
|
||||
subs r1, r1, r2
|
||||
_0808ACD6:
|
||||
movs r0, #3
|
||||
ldrsb r0, [r5, r0]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
_0808ACDE:
|
||||
ldr r1, [r4, #0x74]
|
||||
ldr r2, [r4, #0x78]
|
||||
ldr r3, [r4, #0x70]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805EC9C
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,75 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0808AD00
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
_0808AD00:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x41
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
subs r0, #4
|
||||
cmp r0, #0x12
|
||||
bhi _0808AD92
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _0808AD1C @ =_0808AD20
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0808AD1C: .4byte _0808AD20
|
||||
_0808AD20: @ jump table
|
||||
.4byte _0808AD6C @ case 0
|
||||
.4byte _0808AD6C @ case 1
|
||||
.4byte _0808AD6C @ case 2
|
||||
.4byte _0808AD92 @ case 3
|
||||
.4byte _0808AD6C @ case 4
|
||||
.4byte _0808AD6C @ case 5
|
||||
.4byte _0808AD6C @ case 6
|
||||
.4byte _0808AD6C @ case 7
|
||||
.4byte _0808AD6C @ case 8
|
||||
.4byte _0808AD6C @ case 9
|
||||
.4byte _0808AD92 @ case 10
|
||||
.4byte _0808AD92 @ case 11
|
||||
.4byte _0808AD6C @ case 12
|
||||
.4byte _0808AD6C @ case 13
|
||||
.4byte _0808AD6C @ case 14
|
||||
.4byte _0808AD88 @ case 15
|
||||
.4byte _0808AD6C @ case 16
|
||||
.4byte _0808AD92 @ case 17
|
||||
.4byte _0808AD6C @ case 18
|
||||
_0808AD6C:
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x3e
|
||||
ldrb r0, [r0]
|
||||
bl sub_0806F5A4
|
||||
strb r0, [r4, #0x14]
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
strb r0, [r4, #0xe]
|
||||
b _0808AD9E
|
||||
_0808AD88:
|
||||
movs r1, #0
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
b _0808AD9E
|
||||
_0808AD92:
|
||||
movs r0, #0
|
||||
strb r0, [r4, #0xf]
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_08078930
|
||||
_0808AD9E:
|
||||
pop {r4, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,85 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x88
|
||||
adds r5, r0, #0
|
||||
ldr r1, [r5, #0x50]
|
||||
bl sub_0808B1F0
|
||||
adds r7, r0, #0
|
||||
ldrb r0, [r5, #0xa]
|
||||
cmp r0, #0
|
||||
beq _0808B0D6
|
||||
cmp r0, #1
|
||||
beq _0808B0DE
|
||||
b _0808B162
|
||||
_0808B0D6:
|
||||
adds r0, r5, #0
|
||||
bl GetNextFrame
|
||||
b _0808B162
|
||||
_0808B0DE:
|
||||
ldr r6, _0808B148 @ =gPlayerEntity
|
||||
ldrb r0, [r6, #0x14]
|
||||
movs r1, #0xe
|
||||
ands r1, r0
|
||||
ldr r0, _0808B14C @ =gUnk_08126EE4
|
||||
adds r1, r1, r0
|
||||
mov r2, sp
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
ldrh r3, [r6, #0x2e]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
movs r0, #1
|
||||
ldrsb r0, [r1, r0]
|
||||
ldrh r1, [r6, #0x32]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x32]
|
||||
mov r0, sp
|
||||
adds r1, r5, #0
|
||||
movs r2, #7
|
||||
movs r3, #7
|
||||
bl sub_0800419C
|
||||
cmp r0, #0
|
||||
beq _0808B154
|
||||
ldrb r0, [r6, #0xc]
|
||||
cmp r0, #1
|
||||
bne _0808B162
|
||||
ldr r4, _0808B150 @ =gPlayerState
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x26
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0808B162
|
||||
movs r0, #0x1b
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
strb r7, [r0]
|
||||
ldrb r0, [r5, #0x15]
|
||||
movs r1, #0x10
|
||||
eors r0, r1
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x39
|
||||
strb r0, [r1]
|
||||
ldr r0, [r5, #0x50]
|
||||
adds r1, r6, #0
|
||||
bl sub_0808B1F0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3a
|
||||
strb r0, [r1]
|
||||
b _0808B162
|
||||
.align 2, 0
|
||||
_0808B148: .4byte gPlayerEntity
|
||||
_0808B14C: .4byte gUnk_08126EE4
|
||||
_0808B150: .4byte gPlayerState
|
||||
_0808B154:
|
||||
movs r0, #0x40
|
||||
strh r0, [r5, #0x24]
|
||||
cmp r7, #0x3f
|
||||
bhi _0808B162
|
||||
adds r0, r5, #0
|
||||
bl LinearMoveUpdate
|
||||
_0808B162:
|
||||
add sp, #0x88
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,68 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r3, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0808B188
|
||||
ldrb r0, [r3, #0x14]
|
||||
movs r1, #2
|
||||
eors r1, r0
|
||||
lsls r1, r1, #1
|
||||
ldr r0, _0808B184 @ =gUnk_081211F4
|
||||
adds r2, r1, r0
|
||||
adds r1, r2, #1
|
||||
ldr r4, [r3, #0x50]
|
||||
adds r5, r4, #0
|
||||
b _0808B1CE
|
||||
.align 2, 0
|
||||
_0808B184: .4byte gUnk_081211F4
|
||||
_0808B188:
|
||||
ldrb r1, [r3, #0x14]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0808B1B8
|
||||
ldr r5, _0808B1AC @ =gPlayerEntity
|
||||
ldr r4, [r3, #0x50]
|
||||
ldrb r1, [r3, #0x14]
|
||||
lsls r2, r1, #1
|
||||
ldr r0, _0808B1B0 @ =gUnk_081211FC
|
||||
adds r2, r2, r0
|
||||
movs r0, #2
|
||||
eors r1, r0
|
||||
lsls r1, r1, #1
|
||||
ldr r0, _0808B1B4 @ =gUnk_081211F5
|
||||
adds r1, r1, r0
|
||||
b _0808B1CE
|
||||
.align 2, 0
|
||||
_0808B1AC: .4byte gPlayerEntity
|
||||
_0808B1B0: .4byte gUnk_081211FC
|
||||
_0808B1B4: .4byte gUnk_081211F4+1
|
||||
_0808B1B8:
|
||||
ldr r5, [r3, #0x50]
|
||||
ldr r4, _0808B1E4 @ =gPlayerEntity
|
||||
movs r0, #2
|
||||
eors r0, r1
|
||||
lsls r0, r0, #1
|
||||
ldr r1, _0808B1E8 @ =gUnk_081211F4
|
||||
adds r2, r0, r1
|
||||
ldrb r0, [r3, #0x14]
|
||||
lsls r0, r0, #1
|
||||
ldr r1, _0808B1EC @ =gUnk_081211FD
|
||||
adds r1, r0, r1
|
||||
_0808B1CE:
|
||||
movs r0, #0
|
||||
ldrsb r0, [r2, r0]
|
||||
ldrh r5, [r5, #0x2e]
|
||||
adds r0, r0, r5
|
||||
strh r0, [r3, #0x2e]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
ldrh r4, [r4, #0x32]
|
||||
adds r0, r0, r4
|
||||
strh r0, [r3, #0x32]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0808B1E4: .4byte gPlayerEntity
|
||||
_0808B1E8: .4byte gUnk_081211F4
|
||||
_0808B1EC: .4byte gUnk_081211FC+1
|
||||
.syntax divided
|
||||
@@ -0,0 +1,170 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
movs r2, #1
|
||||
strb r2, [r4, #0xc]
|
||||
movs r3, #0
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
ldrb r0, [r4, #0xe]
|
||||
strb r0, [r4, #0xf]
|
||||
strb r3, [r4, #0xe]
|
||||
ldrb r1, [r4, #0x11]
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x11]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x81
|
||||
strb r3, [r0]
|
||||
adds r0, #2
|
||||
strb r3, [r0]
|
||||
ldrb r1, [r4, #0x19]
|
||||
movs r0, #0x3f
|
||||
ands r0, r1
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #1
|
||||
bne _0808F9E8
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x80
|
||||
strb r3, [r0]
|
||||
b _0808FA1C
|
||||
_0808F9E8:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x80
|
||||
strb r2, [r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #5
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #2
|
||||
beq _0808FA0A
|
||||
cmp r0, #4
|
||||
bne _0808FA1C
|
||||
_0808FA0A:
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r0, #2
|
||||
strh r0, [r4, #0x32]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x63
|
||||
movs r0, #0xfe
|
||||
strb r0, [r1]
|
||||
strb r3, [r4, #0xd]
|
||||
strb r3, [r4, #0x1e]
|
||||
_0808FA1C:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
beq _0808FAC4
|
||||
movs r6, #0
|
||||
cmp r0, #0x80
|
||||
beq _0808FA84
|
||||
ldrh r1, [r4, #0xa]
|
||||
ldr r0, _0808FA38 @ =0x00000101
|
||||
cmp r1, r0
|
||||
bne _0808FA3C
|
||||
movs r0, #0xf
|
||||
ldrsb r0, [r4, r0]
|
||||
ldrh r1, [r4, #0x32]
|
||||
b _0808FA42
|
||||
.align 2, 0
|
||||
_0808FA38: .4byte 0x00000101
|
||||
_0808FA3C:
|
||||
movs r0, #0xf
|
||||
ldrsb r0, [r4, r0]
|
||||
ldrh r1, [r4, #0x2e]
|
||||
_0808FA42:
|
||||
adds r0, r0, r1
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x7e
|
||||
strh r0, [r1]
|
||||
adds r5, r1, #0
|
||||
ldr r3, [r4, #0x50]
|
||||
cmp r3, #0
|
||||
bne _0808FA5E
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl CheckFlags
|
||||
b _0808FA7C
|
||||
_0808FA5E:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x82
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0808FA76
|
||||
ldrb r0, [r3, #0xc]
|
||||
cmp r0, #2
|
||||
bne _0808FAA2
|
||||
adds r6, #1
|
||||
b _0808FAA2
|
||||
_0808FA76:
|
||||
ldrb r0, [r2]
|
||||
bl CheckLocalFlag
|
||||
_0808FA7C:
|
||||
cmp r0, #0
|
||||
beq _0808FAA2
|
||||
adds r6, #1
|
||||
b _0808FAA2
|
||||
_0808FA84:
|
||||
movs r6, #1
|
||||
ldrh r1, [r4, #0xa]
|
||||
ldr r0, _0808FA94 @ =0x00000101
|
||||
cmp r1, r0
|
||||
bne _0808FA98
|
||||
ldrh r1, [r4, #0x32]
|
||||
b _0808FA9A
|
||||
.align 2, 0
|
||||
_0808FA94: .4byte 0x00000101
|
||||
_0808FA98:
|
||||
ldrh r1, [r4, #0x2e]
|
||||
_0808FA9A:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x7e
|
||||
strh r1, [r0]
|
||||
adds r5, r0, #0
|
||||
_0808FAA2:
|
||||
cmp r6, #0
|
||||
beq _0808FAC4
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x81
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
ldrh r1, [r4, #0xa]
|
||||
ldr r0, _0808FABC @ =0x00000101
|
||||
cmp r1, r0
|
||||
bne _0808FAC0
|
||||
ldrh r0, [r5]
|
||||
strh r0, [r4, #0x32]
|
||||
b _0808FAC4
|
||||
.align 2, 0
|
||||
_0808FABC: .4byte 0x00000101
|
||||
_0808FAC0:
|
||||
ldrh r0, [r5]
|
||||
strh r0, [r4, #0x2e]
|
||||
_0808FAC4:
|
||||
adds r0, r4, #0
|
||||
bl sub_0808FF50
|
||||
pop {r4, r5, r6, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,201 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r6, r0, #0
|
||||
adds r5, r1, #0
|
||||
adds r7, r2, #0
|
||||
adds r0, r7, #0
|
||||
movs r1, #1
|
||||
bl sub_080002E0
|
||||
adds r4, r0, #0
|
||||
adds r0, r7, #0
|
||||
movs r1, #1
|
||||
bl GetTileIndex
|
||||
adds r3, r0, #0
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #7
|
||||
ands r0, r3
|
||||
cmp r0, #0
|
||||
bne _0809012C
|
||||
adds r3, r5, #0
|
||||
ldr r1, _080900D0 @ =0xFFFFBFDC
|
||||
adds r0, r3, r1
|
||||
cmp r0, #0xb
|
||||
bhi _0809011A
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _080900D4 @ =_080900D8
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080900D0: .4byte 0xFFFFBFDC
|
||||
_080900D4: .4byte _080900D8
|
||||
_080900D8: @ jump table
|
||||
.4byte _08090114 @ case 0
|
||||
.4byte _08090108 @ case 1
|
||||
.4byte _0809011A @ case 2
|
||||
.4byte _0809011A @ case 3
|
||||
.4byte _0809011A @ case 4
|
||||
.4byte _0809011A @ case 5
|
||||
.4byte _0809011A @ case 6
|
||||
.4byte _0809011A @ case 7
|
||||
.4byte _08090114 @ case 8
|
||||
.4byte _0809010E @ case 9
|
||||
.4byte _08090114 @ case 10
|
||||
.4byte _0809010E @ case 11
|
||||
_08090108:
|
||||
cmp r4, #5
|
||||
bne _0809011A
|
||||
b _08090118
|
||||
_0809010E:
|
||||
cmp r4, #5
|
||||
bne _0809011A
|
||||
b _08090118
|
||||
_08090114:
|
||||
cmp r4, #0xa
|
||||
bne _0809011A
|
||||
_08090118:
|
||||
ldr r3, _08090128 @ =0x00004022
|
||||
_0809011A:
|
||||
adds r0, r3, #0
|
||||
adds r1, r7, #0
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
b _08090242
|
||||
.align 2, 0
|
||||
_08090128: .4byte 0x00004022
|
||||
_0809012C:
|
||||
ldr r1, _08090140 @ =0xFFFFBFDE
|
||||
adds r0, r3, r1
|
||||
cmp r0, #0xd
|
||||
bls _08090136
|
||||
b _08090242
|
||||
_08090136:
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _08090144 @ =_08090148
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08090140: .4byte 0xFFFFBFDE
|
||||
_08090144: .4byte _08090148
|
||||
_08090148: @ jump table
|
||||
.4byte _08090242 @ case 0
|
||||
.4byte _08090242 @ case 1
|
||||
.4byte _080901EC @ case 2
|
||||
.4byte _08090180 @ case 3
|
||||
.4byte _08090242 @ case 4
|
||||
.4byte _08090242 @ case 5
|
||||
.4byte _08090242 @ case 6
|
||||
.4byte _08090242 @ case 7
|
||||
.4byte _08090242 @ case 8
|
||||
.4byte _08090242 @ case 9
|
||||
.4byte _08090210 @ case 10
|
||||
.4byte _080901B4 @ case 11
|
||||
.4byte _08090210 @ case 12
|
||||
.4byte _080901B4 @ case 13
|
||||
_08090180:
|
||||
ldr r0, _080901A8 @ =0x00004024
|
||||
cmp r5, r0
|
||||
bne _08090194
|
||||
ldr r3, _080901AC @ =0x00004022
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x83
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x10
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
_08090194:
|
||||
ldr r0, _080901B0 @ =0x0000402C
|
||||
cmp r5, r0
|
||||
bne _08090238
|
||||
ldr r3, _080901AC @ =0x00004022
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x83
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x10
|
||||
b _08090234
|
||||
.align 2, 0
|
||||
_080901A8: .4byte 0x00004024
|
||||
_080901AC: .4byte 0x00004022
|
||||
_080901B0: .4byte 0x0000402C
|
||||
_080901B4:
|
||||
ldr r0, _080901DC @ =0x0000402C
|
||||
cmp r5, r0
|
||||
bne _080901C8
|
||||
ldr r3, _080901E0 @ =0x0000402B
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x83
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x10
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
_080901C8:
|
||||
ldr r0, _080901E4 @ =0x00004024
|
||||
cmp r5, r0
|
||||
bne _08090238
|
||||
ldr r3, _080901E8 @ =0x00004022
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x83
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x10
|
||||
b _08090234
|
||||
.align 2, 0
|
||||
_080901DC: .4byte 0x0000402C
|
||||
_080901E0: .4byte 0x0000402B
|
||||
_080901E4: .4byte 0x00004024
|
||||
_080901E8: .4byte 0x00004022
|
||||
_080901EC:
|
||||
ldr r0, _08090204 @ =0x00004025
|
||||
cmp r5, r0
|
||||
bne _08090200
|
||||
ldr r3, _08090208 @ =0x00004022
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x83
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
_08090200:
|
||||
ldr r0, _0809020C @ =0x0000402D
|
||||
b _08090226
|
||||
.align 2, 0
|
||||
_08090204: .4byte 0x00004025
|
||||
_08090208: .4byte 0x00004022
|
||||
_0809020C: .4byte 0x0000402D
|
||||
_08090210:
|
||||
ldr r0, _08090244 @ =0x0000402D
|
||||
cmp r5, r0
|
||||
bne _08090224
|
||||
ldr r3, _08090248 @ =0x0000402B
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x83
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
_08090224:
|
||||
ldr r0, _0809024C @ =0x00004025
|
||||
_08090226:
|
||||
cmp r5, r0
|
||||
bne _08090238
|
||||
ldr r3, _08090250 @ =0x00004022
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x83
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x20
|
||||
_08090234:
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
_08090238:
|
||||
adds r0, r3, #0
|
||||
adds r1, r7, #0
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
_08090242:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08090244: .4byte 0x0000402D
|
||||
_08090248: .4byte 0x0000402B
|
||||
_0809024C: .4byte 0x00004025
|
||||
_08090250: .4byte 0x00004022
|
||||
.syntax divided
|
||||
@@ -0,0 +1,256 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r6, r0, #0
|
||||
adds r4, r6, #0
|
||||
adds r4, #0x83
|
||||
ldrb r0, [r4]
|
||||
movs r2, #0x30
|
||||
ands r2, r0
|
||||
movs r0, #0
|
||||
mov sb, r0
|
||||
strb r2, [r4]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x70
|
||||
ldrh r5, [r0]
|
||||
adds r7, r5, #0
|
||||
subs r7, #0x80
|
||||
adds r0, #2
|
||||
ldrh r3, [r0]
|
||||
movs r0, #0x80
|
||||
rsbs r0, r0, #0
|
||||
adds r0, r0, r3
|
||||
mov r8, r0
|
||||
cmp r1, #1
|
||||
bne _0809039A
|
||||
movs r0, #0x20
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _080902D4
|
||||
adds r1, r3, #0
|
||||
subs r1, #0x7f
|
||||
movs r0, #0
|
||||
bl sub_08090480
|
||||
b _080902FE
|
||||
_080902D4:
|
||||
mov r0, r8
|
||||
movs r1, #2
|
||||
bl GetTileType
|
||||
adds r1, r0, #0
|
||||
ldr r0, _080902EC @ =0x00000301
|
||||
cmp r1, r0
|
||||
beq _080902F0
|
||||
adds r0, #7
|
||||
cmp r1, r0
|
||||
beq _080902F6
|
||||
b _080902FE
|
||||
.align 2, 0
|
||||
_080902EC: .4byte 0x00000301
|
||||
_080902F0:
|
||||
ldrb r0, [r4]
|
||||
movs r1, #8
|
||||
b _080902FA
|
||||
_080902F6:
|
||||
ldrb r0, [r4]
|
||||
movs r1, #2
|
||||
_080902FA:
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
_080902FE:
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x83
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x2a
|
||||
ands r0, r1
|
||||
adds r4, r2, #0
|
||||
cmp r0, #0
|
||||
beq _0809031E
|
||||
movs r0, #0
|
||||
adds r1, r7, #0
|
||||
bl sub_08090480
|
||||
movs r0, #0
|
||||
mov r1, r8
|
||||
bl sub_08090480
|
||||
_0809031E:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0809034E
|
||||
subs r4, r7, #1
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl GetTileType
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #2
|
||||
cmp r0, r1
|
||||
bne _0809033C
|
||||
b _08090478
|
||||
_0809033C:
|
||||
movs r0, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_08090480
|
||||
subs r1, r7, #2
|
||||
movs r0, #2
|
||||
bl sub_08090480
|
||||
b _08090478
|
||||
_0809034E:
|
||||
subs r0, r7, #1
|
||||
movs r1, #2
|
||||
bl GetTileType
|
||||
adds r1, r0, #0
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #2
|
||||
cmp r1, r0
|
||||
beq _08090368
|
||||
adds r0, #8
|
||||
cmp r1, r0
|
||||
beq _0809036E
|
||||
b _08090376
|
||||
_08090368:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #4
|
||||
b _08090372
|
||||
_0809036E:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #1
|
||||
_08090372:
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
_08090376:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0x15
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08090478
|
||||
movs r0, #0x2a
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08090478
|
||||
movs r0, #0
|
||||
adds r1, r7, #0
|
||||
bl sub_08090480
|
||||
movs r0, #1
|
||||
mov r1, r8
|
||||
bl sub_08090480
|
||||
b _08090478
|
||||
_0809039A:
|
||||
movs r0, #0x10
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _080903AE
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x81
|
||||
movs r0, #0
|
||||
bl sub_08090480
|
||||
b _080903DA
|
||||
_080903AE:
|
||||
adds r0, r7, #0
|
||||
movs r1, #2
|
||||
bl GetTileType
|
||||
adds r1, r0, #0
|
||||
ldr r0, _080903C8 @ =0x00000302
|
||||
cmp r1, r0
|
||||
beq _080903CC
|
||||
adds r0, #4
|
||||
cmp r1, r0
|
||||
beq _080903D2
|
||||
b _080903DA
|
||||
.align 2, 0
|
||||
_080903C8: .4byte 0x00000302
|
||||
_080903CC:
|
||||
ldrb r0, [r4]
|
||||
movs r1, #4
|
||||
b _080903D6
|
||||
_080903D2:
|
||||
ldrb r0, [r4]
|
||||
movs r1, #1
|
||||
_080903D6:
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
_080903DA:
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x83
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x15
|
||||
ands r0, r1
|
||||
adds r4, r2, #0
|
||||
cmp r0, #0
|
||||
beq _080903FA
|
||||
movs r0, #0
|
||||
adds r1, r7, #0
|
||||
bl sub_08090480
|
||||
movs r0, #0
|
||||
mov r1, r8
|
||||
bl sub_08090480
|
||||
_080903FA:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0x20
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0809042C
|
||||
mov r4, r8
|
||||
adds r4, #1
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl GetTileType
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #2
|
||||
cmp r0, r1
|
||||
beq _08090478
|
||||
movs r0, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_08090480
|
||||
mov r1, r8
|
||||
adds r1, #2
|
||||
movs r0, #1
|
||||
bl sub_08090480
|
||||
b _08090478
|
||||
_0809042C:
|
||||
mov r0, r8
|
||||
adds r0, #1
|
||||
movs r1, #2
|
||||
bl GetTileType
|
||||
adds r1, r0, #0
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #2
|
||||
cmp r1, r0
|
||||
beq _08090448
|
||||
adds r0, #6
|
||||
cmp r1, r0
|
||||
beq _0809044E
|
||||
b _08090456
|
||||
_08090448:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #8
|
||||
b _08090452
|
||||
_0809044E:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #2
|
||||
_08090452:
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
_08090456:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0x2a
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08090478
|
||||
movs r0, #0x15
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08090478
|
||||
movs r0, #2
|
||||
adds r1, r7, #0
|
||||
bl sub_08090480
|
||||
movs r0, #0
|
||||
mov r1, r8
|
||||
bl sub_08090480
|
||||
_08090478:
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,91 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
ldr r0, _08089750 @ =gPlayerState
|
||||
ldrb r1, [r0, #5]
|
||||
movs r0, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0x12
|
||||
bne _08089768
|
||||
ldr r6, _08089754 @ =gPlayerEntity
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08089768
|
||||
ldrb r3, [r6, #0x14]
|
||||
movs r2, #6
|
||||
ands r2, r3
|
||||
lsls r2, r2, #1
|
||||
ldr r0, _08089758 @ =gUnk_080B4468
|
||||
adds r2, r2, r0
|
||||
ldr r0, _0808975C @ =gUnk_080B4488
|
||||
lsrs r3, r3, #1
|
||||
lsls r3, r3, #1
|
||||
adds r3, r3, r0
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r6, r0]
|
||||
movs r4, #0
|
||||
ldrsh r0, [r2, r4]
|
||||
adds r1, r1, r0
|
||||
ldr r5, _08089760 @ =gRoomControls
|
||||
ldrh r0, [r5, #6]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r6, r7]
|
||||
movs r7, #2
|
||||
ldrsh r2, [r2, r7]
|
||||
adds r0, r0, r2
|
||||
ldrh r2, [r5, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r4
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
movs r0, #0
|
||||
ldrsh r7, [r3, r0]
|
||||
subs r1, r1, r7
|
||||
lsls r4, r1, #0x10
|
||||
lsrs r0, r4, #0x10
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x38
|
||||
ldrb r1, [r5]
|
||||
bl sub_080002C8
|
||||
adds r1, r0, #0
|
||||
subs r0, #0x26
|
||||
cmp r0, #1
|
||||
bls _08089768
|
||||
cmp r1, #0x29
|
||||
beq _08089768
|
||||
ldrb r0, [r5]
|
||||
bl GetLayerByIndex
|
||||
asrs r1, r4, #0x10
|
||||
ldr r2, _08089764 @ =0x00002004
|
||||
adds r0, r0, r2
|
||||
adds r2, r0, r1
|
||||
ldrb r2, [r2]
|
||||
subs r1, r1, r7
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r2, #0
|
||||
bne _08089768
|
||||
cmp r0, #0
|
||||
bne _08089768
|
||||
movs r0, #1
|
||||
b _0808976A
|
||||
.align 2, 0
|
||||
_08089750: .4byte gPlayerState
|
||||
_08089754: .4byte gPlayerEntity
|
||||
_08089758: .4byte gUnk_080B4468
|
||||
_0808975C: .4byte gUnk_080B4488
|
||||
_08089760: .4byte gRoomControls
|
||||
_08089764: .4byte 0x00002004
|
||||
_08089768:
|
||||
movs r0, #0
|
||||
_0808976A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
||||
@@ -1,806 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start BigIceBlock
|
||||
BigIceBlock: @ 0x08099734
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xa]
|
||||
cmp r0, #3
|
||||
bhi _08099754
|
||||
ldr r0, _08099750 @ =gUnk_081237A0
|
||||
ldrb r1, [r2, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r2, #0
|
||||
bl _call_via_r1
|
||||
b _0809975A
|
||||
.align 2, 0
|
||||
_08099750: .4byte gUnk_081237A0
|
||||
_08099754:
|
||||
adds r0, r2, #0
|
||||
bl sub_08099D30
|
||||
_0809975A:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0809975C
|
||||
sub_0809975C: @ 0x0809975C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _08099770
|
||||
bl DeleteThisEntity
|
||||
_08099770:
|
||||
movs r2, #1
|
||||
strb r2, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
ldrb r1, [r4, #0x11]
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x11]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3c
|
||||
movs r0, #7
|
||||
strb r0, [r1]
|
||||
adds r1, #4
|
||||
movs r0, #0x48
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x3f
|
||||
strb r2, [r0]
|
||||
subs r1, #5
|
||||
movs r0, #0x80
|
||||
strb r0, [r1]
|
||||
ldr r0, _080997C8 @ =gUnk_080FD190
|
||||
str r0, [r4, #0x48]
|
||||
adds r0, r4, #0
|
||||
bl sub_08099910
|
||||
ldrb r1, [r4, #0xa]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
movs r0, #0x85
|
||||
movs r1, #4
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
cmp r0, #0
|
||||
beq _080997C6
|
||||
str r4, [r0, #0x50]
|
||||
_080997C6:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080997C8: .4byte gUnk_080FD190
|
||||
|
||||
thumb_func_start sub_080997CC
|
||||
sub_080997CC: @ 0x080997CC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0809963C
|
||||
cmp r0, #0
|
||||
beq _080997EC
|
||||
movs r0, #0
|
||||
movs r1, #2
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r0, _080997F0 @ =0x000001B3
|
||||
bl EnqueueSFX
|
||||
adds r0, r4, #0
|
||||
bl sub_080997F4
|
||||
_080997EC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080997F0: .4byte 0x000001B3
|
||||
|
||||
thumb_func_start sub_080997F4
|
||||
sub_080997F4: @ 0x080997F4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0809963C
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bne _08099822
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #1
|
||||
bls _0809980E
|
||||
subs r0, #2
|
||||
strb r0, [r4, #0xe]
|
||||
b _08099810
|
||||
_0809980E:
|
||||
strb r1, [r4, #0xe]
|
||||
_08099810:
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
bne _08099828
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805EC60
|
||||
b _0809987C
|
||||
_08099822:
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
_08099828:
|
||||
ldr r1, _08099858 @ =gUnk_081237B0
|
||||
ldrb r0, [r4, #0xe]
|
||||
lsrs r0, r0, #5
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r2, [r0]
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
adds r0, r4, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #1
|
||||
beq _0809986C
|
||||
cmp r0, #2
|
||||
beq _0809985C
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl SetFlag
|
||||
b _0809986C
|
||||
.align 2, 0
|
||||
_08099858: .4byte gUnk_081237B0
|
||||
_0809985C:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
ldrh r3, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x53
|
||||
movs r2, #0
|
||||
bl sub_080A2A3C
|
||||
_0809986C:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x3c
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
_0809987C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08099880
|
||||
sub_08099880: @ 0x08099880
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r1, r0, #1
|
||||
strb r1, [r5, #0xe]
|
||||
lsls r0, r1, #0x18
|
||||
cmp r0, #0
|
||||
bne _08099896
|
||||
bl DeleteThisEntity
|
||||
b _0809990E
|
||||
_08099896:
|
||||
lsls r0, r1, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0x30
|
||||
bne _080998A4
|
||||
adds r0, r5, #0
|
||||
bl sub_08099C18
|
||||
_080998A4:
|
||||
ldrb r0, [r5, #0xe]
|
||||
movs r4, #0x3c
|
||||
subs r4, r4, r0
|
||||
lsls r4, r4, #5
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
adds r4, r4, r1
|
||||
adds r0, r5, #0
|
||||
adds r2, r4, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
movs r2, #2
|
||||
movs r3, #0
|
||||
bl sub_0806FCF4
|
||||
movs r0, #0xf
|
||||
movs r1, #0x11
|
||||
movs r2, #0x40
|
||||
bl CreateObject
|
||||
adds r6, r0, #0
|
||||
cmp r6, #0
|
||||
beq _0809990E
|
||||
bl Random
|
||||
adds r4, r0, #0
|
||||
asrs r0, r4, #0x10
|
||||
movs r1, #0x21
|
||||
bl __modsi3
|
||||
adds r2, r0, #0
|
||||
subs r2, #0x10
|
||||
movs r0, #0xf
|
||||
ands r0, r4
|
||||
subs r4, r0, #4
|
||||
adds r3, r6, #0
|
||||
adds r3, #0x29
|
||||
ldrb r1, [r3]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
lsls r2, r2, #0x10
|
||||
lsls r3, r4, #0x10
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
bl PositionRelative
|
||||
_0809990E:
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
thumb_func_start sub_08099910
|
||||
sub_08099910: @ 0x08099910
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r4, r1]
|
||||
ldr r3, _08099968 @ =gRoomControls
|
||||
ldrh r1, [r3, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r6, r0, #4
|
||||
movs r2, #0x3f
|
||||
ands r6, r2
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
ldrh r1, [r3, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r6, r0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6e
|
||||
strh r6, [r0]
|
||||
ldrh r2, [r4, #0x2e]
|
||||
movs r0, #8
|
||||
adds r1, r0, #0
|
||||
ands r1, r2
|
||||
lsls r1, r1, #0x10
|
||||
lsrs r1, r1, #0x13
|
||||
ldrh r2, [r4, #0x32]
|
||||
ands r0, r2
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x12
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
adds r1, r1, r0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6c
|
||||
strh r1, [r0]
|
||||
cmp r1, #2
|
||||
beq _08099A4C
|
||||
cmp r1, #2
|
||||
bhi _0809996C
|
||||
cmp r1, #1
|
||||
beq _080999A8
|
||||
b _08099972
|
||||
.align 2, 0
|
||||
_08099968: .4byte gRoomControls
|
||||
_0809996C:
|
||||
cmp r1, #3
|
||||
bne _08099972
|
||||
b _08099AF0
|
||||
_08099972:
|
||||
ldr r5, _080999A4 @ =0x00004022
|
||||
adds r1, r6, #0
|
||||
subs r1, #0x41
|
||||
adds r4, #0x38
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl SetTile
|
||||
adds r1, r6, #0
|
||||
subs r1, #0x40
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl SetTile
|
||||
subs r1, r6, #1
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl SetTile
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
bl SetTile
|
||||
b _08099BF0
|
||||
.align 2, 0
|
||||
_080999A4: .4byte 0x00004022
|
||||
_080999A8:
|
||||
adds r5, r6, #0
|
||||
subs r5, #0x41
|
||||
lsls r0, r5, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
adds r4, #0x38
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099A40 @ =0x00004024
|
||||
cmp r0, #0x12
|
||||
bne _080999C0
|
||||
adds r1, #0x55
|
||||
_080999C0:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
ldr r7, _08099A44 @ =0x00004022
|
||||
adds r1, r6, #0
|
||||
subs r1, #0x40
|
||||
ldrb r2, [r4]
|
||||
adds r0, r7, #0
|
||||
bl SetTile
|
||||
adds r5, r6, #0
|
||||
subs r5, #0x3f
|
||||
lsls r0, r5, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099A48 @ =0x00004025
|
||||
cmp r0, #0x12
|
||||
bne _080999EE
|
||||
adds r1, #0x56
|
||||
_080999EE:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
subs r5, r6, #1
|
||||
lsls r0, r5, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099A40 @ =0x00004024
|
||||
cmp r0, #0x12
|
||||
bne _08099A0C
|
||||
adds r1, #0x55
|
||||
_08099A0C:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
ldrb r2, [r4]
|
||||
adds r0, r7, #0
|
||||
adds r1, r6, #0
|
||||
bl SetTile
|
||||
adds r5, r6, #1
|
||||
adds r0, r5, #0
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099A48 @ =0x00004025
|
||||
cmp r0, #0x12
|
||||
bne _08099A32
|
||||
adds r1, #0x56
|
||||
_08099A32:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
b _08099BF0
|
||||
.align 2, 0
|
||||
_08099A40: .4byte 0x00004024
|
||||
_08099A44: .4byte 0x00004022
|
||||
_08099A48: .4byte 0x00004025
|
||||
_08099A4C:
|
||||
adds r7, r6, #0
|
||||
subs r7, #0x41
|
||||
lsls r0, r7, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x38
|
||||
ldrb r1, [r5]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099AE4 @ =0x00004023
|
||||
cmp r0, #0x12
|
||||
bne _08099A66
|
||||
adds r1, #0x54
|
||||
_08099A66:
|
||||
ldrb r2, [r5]
|
||||
adds r0, r1, #0
|
||||
adds r1, r7, #0
|
||||
bl SetTile
|
||||
adds r4, r6, #0
|
||||
subs r4, #0x40
|
||||
lsls r0, r4, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
ldrb r1, [r5]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099AE4 @ =0x00004023
|
||||
cmp r0, #0x12
|
||||
bne _08099A86
|
||||
adds r1, #0x54
|
||||
_08099A86:
|
||||
ldrb r2, [r5]
|
||||
adds r0, r1, #0
|
||||
adds r1, r4, #0
|
||||
bl SetTile
|
||||
ldr r4, _08099AE8 @ =0x00004022
|
||||
subs r1, r6, #1
|
||||
ldrb r2, [r5]
|
||||
adds r0, r4, #0
|
||||
bl SetTile
|
||||
ldrb r2, [r5]
|
||||
adds r0, r4, #0
|
||||
adds r1, r6, #0
|
||||
bl SetTile
|
||||
adds r4, r6, #0
|
||||
adds r4, #0x3f
|
||||
adds r0, r4, #0
|
||||
ldrb r1, [r5]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099AEC @ =0x00004026
|
||||
cmp r0, #0x12
|
||||
bne _08099ABA
|
||||
adds r1, #0x56
|
||||
_08099ABA:
|
||||
ldrb r2, [r5]
|
||||
adds r0, r1, #0
|
||||
adds r1, r4, #0
|
||||
bl SetTile
|
||||
adds r4, r6, #0
|
||||
adds r4, #0x40
|
||||
adds r0, r4, #0
|
||||
ldrb r1, [r5]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099AEC @ =0x00004026
|
||||
cmp r0, #0x12
|
||||
bne _08099AD8
|
||||
adds r1, #0x56
|
||||
_08099AD8:
|
||||
ldrb r2, [r5]
|
||||
adds r0, r1, #0
|
||||
adds r1, r4, #0
|
||||
bl SetTile
|
||||
b _08099BF0
|
||||
.align 2, 0
|
||||
_08099AE4: .4byte 0x00004023
|
||||
_08099AE8: .4byte 0x00004022
|
||||
_08099AEC: .4byte 0x00004026
|
||||
_08099AF0:
|
||||
adds r5, r6, #0
|
||||
subs r5, #0x41
|
||||
lsls r0, r5, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
adds r4, #0x38
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099BF4 @ =0x00004027
|
||||
cmp r0, #0x12
|
||||
bne _08099B08
|
||||
adds r1, #0x4e
|
||||
_08099B08:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
adds r5, r6, #0
|
||||
subs r5, #0x40
|
||||
lsls r0, r5, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099BF8 @ =0x00004023
|
||||
cmp r0, #0x12
|
||||
bne _08099B28
|
||||
adds r1, #0x54
|
||||
_08099B28:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
adds r5, r6, #0
|
||||
subs r5, #0x3f
|
||||
lsls r0, r5, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099BFC @ =0x00004028
|
||||
cmp r0, #0x12
|
||||
bne _08099B48
|
||||
adds r1, #0x4e
|
||||
_08099B48:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
subs r5, r6, #1
|
||||
lsls r0, r5, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099C00 @ =0x00004024
|
||||
cmp r0, #0x12
|
||||
bne _08099B66
|
||||
adds r1, #0x55
|
||||
_08099B66:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
ldr r0, _08099C04 @ =0x00004022
|
||||
ldrb r2, [r4]
|
||||
adds r1, r6, #0
|
||||
bl SetTile
|
||||
adds r5, r6, #1
|
||||
adds r0, r5, #0
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099C08 @ =0x00004025
|
||||
cmp r0, #0x12
|
||||
bne _08099B8C
|
||||
adds r1, #0x56
|
||||
_08099B8C:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x3f
|
||||
adds r0, r5, #0
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099C0C @ =0x00004029
|
||||
cmp r0, #0x12
|
||||
bne _08099BAA
|
||||
adds r1, #0x4f
|
||||
_08099BAA:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x40
|
||||
adds r0, r5, #0
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099C10 @ =0x00004026
|
||||
cmp r0, #0x12
|
||||
bne _08099BC8
|
||||
adds r1, #0x56
|
||||
_08099BC8:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x41
|
||||
adds r0, r5, #0
|
||||
ldrb r1, [r4]
|
||||
bl sub_080002C8
|
||||
ldr r1, _08099C14 @ =0x0000402A
|
||||
cmp r0, #0x12
|
||||
bne _08099BE6
|
||||
adds r1, #0x50
|
||||
_08099BE6:
|
||||
ldrb r2, [r4]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
_08099BF0:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08099BF4: .4byte 0x00004027
|
||||
_08099BF8: .4byte 0x00004023
|
||||
_08099BFC: .4byte 0x00004028
|
||||
_08099C00: .4byte 0x00004024
|
||||
_08099C04: .4byte 0x00004022
|
||||
_08099C08: .4byte 0x00004025
|
||||
_08099C0C: .4byte 0x00004029
|
||||
_08099C10: .4byte 0x00004026
|
||||
_08099C14: .4byte 0x0000402A
|
||||
|
||||
thumb_func_start sub_08099C18
|
||||
sub_08099C18: @ 0x08099C18
|
||||
push {r4, r5, lr}
|
||||
adds r1, r0, #0
|
||||
adds r0, #0x6e
|
||||
ldrh r5, [r0]
|
||||
subs r0, #2
|
||||
ldrh r0, [r0]
|
||||
cmp r0, #2
|
||||
beq _08099C96
|
||||
cmp r0, #2
|
||||
bgt _08099C32
|
||||
cmp r0, #1
|
||||
beq _08099C60
|
||||
b _08099C36
|
||||
_08099C32:
|
||||
cmp r0, #3
|
||||
beq _08099CD4
|
||||
_08099C36:
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x41
|
||||
adds r4, r1, #0
|
||||
adds r4, #0x38
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x40
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
subs r0, r5, #1
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
ldrb r1, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807BA8C
|
||||
b _08099D2C
|
||||
_08099C60:
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x41
|
||||
adds r4, r1, #0
|
||||
adds r4, #0x38
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x40
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x3f
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
subs r0, r5, #1
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
ldrb r1, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #1
|
||||
b _08099CCC
|
||||
_08099C96:
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x41
|
||||
adds r4, r1, #0
|
||||
adds r4, #0x38
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x40
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
subs r0, r5, #1
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
ldrb r1, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x3f
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x40
|
||||
_08099CCC:
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
b _08099D2C
|
||||
_08099CD4:
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x41
|
||||
adds r4, r1, #0
|
||||
adds r4, #0x38
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x40
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x3f
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
subs r0, r5, #1
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
ldrb r1, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #1
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x3f
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x40
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x41
|
||||
ldrb r1, [r4]
|
||||
bl sub_0807BA8C
|
||||
_08099D2C:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08099D30
|
||||
sub_08099D30: @ 0x08099D30
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x50]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
bne _08099D40
|
||||
bl DeleteThisEntity
|
||||
_08099D40:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08099D6A
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
bl InitializeAnimation
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x63
|
||||
ldrb r0, [r1]
|
||||
subs r0, #1
|
||||
strb r0, [r1]
|
||||
_08099D6A:
|
||||
ldr r0, [r4, #0x50]
|
||||
ldrb r0, [r0, #0xc]
|
||||
cmp r0, #1
|
||||
bhi _08099DAA
|
||||
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 r2, r4, #0
|
||||
adds r2, #0x5a
|
||||
ldrb r1, [r2]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08099DA2
|
||||
movs r0, #0
|
||||
strb r0, [r2]
|
||||
bl Random
|
||||
movs r1, #0x78
|
||||
ands r0, r1
|
||||
adds r0, #0x78
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x59
|
||||
strb r0, [r1]
|
||||
_08099DA2:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
b _08099DB4
|
||||
_08099DAA:
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_08099DB4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -1,542 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start BlockPushed
|
||||
BlockPushed: @ 0x08082E9C
|
||||
push {lr}
|
||||
ldr r2, _08082EB0 @ =gUnk_0811F624
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08082EB0: .4byte gUnk_0811F624
|
||||
|
||||
thumb_func_start sub_08082EB4
|
||||
sub_08082EB4: @ 0x08082EB4
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _08082EE0 @ =gRoomControls
|
||||
ldrb r1, [r0, #4]
|
||||
adds r6, r0, #0
|
||||
cmp r1, #0x11
|
||||
bne _08082EF6
|
||||
adds r0, r4, #0
|
||||
bl sub_080AE068
|
||||
ldr r1, _08082EE4 @ =0x000001C1
|
||||
adds r0, r4, #0
|
||||
bl LoadFixedGFX
|
||||
cmp r0, #0
|
||||
bne _08082EE8
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
b _0808308E
|
||||
.align 2, 0
|
||||
_08082EE0: .4byte gRoomControls
|
||||
_08082EE4: .4byte 0x000001C1
|
||||
_08082EE8:
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #4
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r0
|
||||
movs r0, #1
|
||||
orrs r1, r0
|
||||
strb r1, [r4, #0x18]
|
||||
_08082EF6:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x20
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
subs r0, #0x88
|
||||
ands r0, r1
|
||||
movs r1, #6
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r4, r1]
|
||||
ldrh r1, [r6, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r5, r0, #4
|
||||
movs r2, #0x3f
|
||||
ands r5, r2
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
ldrh r1, [r6, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r5, r0
|
||||
ldrb r1, [r4, #0xa]
|
||||
lsls r1, r1, #3
|
||||
ldrh r0, [r4, #0x2e]
|
||||
adds r0, r1, r0
|
||||
strh r0, [r4, #0x2e]
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r4, #0x32]
|
||||
ldr r1, _08082F6C @ =gUnk_0811F64C
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
str r0, [r4, #0x48]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl GetTileType
|
||||
str r0, [r4, #0x68]
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #1
|
||||
beq _08082F7A
|
||||
cmp r0, #1
|
||||
bgt _08082F70
|
||||
cmp r0, #0
|
||||
beq _08082F76
|
||||
b _08082FF0
|
||||
.align 2, 0
|
||||
_08082F6C: .4byte gUnk_0811F64C
|
||||
_08082F70:
|
||||
cmp r0, #2
|
||||
beq _08082F9A
|
||||
b _08082FF0
|
||||
_08082F76:
|
||||
adds r0, r5, #0
|
||||
b _08082FE8
|
||||
_08082F7A:
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #1
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x40
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x41
|
||||
b _08082FE8
|
||||
_08082F9A:
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #1
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #2
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x40
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x41
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x42
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x80
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x81
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x82
|
||||
_08082FE8:
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
b _08083088
|
||||
_08082FF0:
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #1
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #2
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #3
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x40
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x41
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x42
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x43
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x80
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x81
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x82
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x83
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xc0
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xc1
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xc2
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xc3
|
||||
adds r1, r4, #0
|
||||
bl sub_080832D8
|
||||
_08083088:
|
||||
ldr r0, _08083090 @ =0x0000010F
|
||||
bl EnqueueSFX
|
||||
_0808308E:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08083090: .4byte 0x0000010F
|
||||
|
||||
thumb_func_start sub_08083094
|
||||
sub_08083094: @ 0x08083094
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl LinearMoveUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_0800445C
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080830B4
|
||||
adds r0, r4, #0
|
||||
bl sub_080830B8
|
||||
_080830B4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080830B8
|
||||
sub_080830B8: @ 0x080830B8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
mov sb, r0
|
||||
ldrb r5, [r0, #0xa]
|
||||
lsls r4, r5, #3
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r0, r1]
|
||||
subs r0, r0, r4
|
||||
ldr r3, _080830FC @ =gRoomControls
|
||||
ldrh r1, [r3, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r7, r0, #4
|
||||
movs r2, #0x3f
|
||||
ands r7, r2
|
||||
mov r6, sb
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r6, r1]
|
||||
subs r0, r0, r4
|
||||
ldrh r1, [r3, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r7, r0
|
||||
cmp r5, #1
|
||||
beq _08083128
|
||||
cmp r5, #1
|
||||
bgt _08083100
|
||||
cmp r5, #0
|
||||
beq _08083106
|
||||
b _080831EC
|
||||
.align 2, 0
|
||||
_080830FC: .4byte gRoomControls
|
||||
_08083100:
|
||||
cmp r5, #2
|
||||
beq _08083160
|
||||
b _080831EC
|
||||
_08083106:
|
||||
mov r0, sb
|
||||
bl sub_0800442E
|
||||
cmp r0, #0
|
||||
beq _08083112
|
||||
b _080832C0
|
||||
_08083112:
|
||||
ldr r0, _08083124 @ =0x00000365
|
||||
mov r1, sb
|
||||
adds r1, #0x38
|
||||
ldrb r2, [r1]
|
||||
adds r1, r7, #0
|
||||
bl sub_0807B7D8
|
||||
b _080832BA
|
||||
.align 2, 0
|
||||
_08083124: .4byte 0x00000365
|
||||
_08083128:
|
||||
mov r2, sb
|
||||
ldr r0, [r2, #0x68]
|
||||
mov r4, sb
|
||||
adds r4, #0x38
|
||||
ldrb r2, [r4]
|
||||
adds r1, r7, #0
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _08083158 @ =0x0000036F
|
||||
adds r1, r7, #1
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
movs r0, #0xdc
|
||||
lsls r0, r0, #2
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x40
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _0808315C @ =0x00000371
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x41
|
||||
b _080831CA
|
||||
.align 2, 0
|
||||
_08083158: .4byte 0x0000036F
|
||||
_0808315C: .4byte 0x00000371
|
||||
_08083160:
|
||||
mov r6, sb
|
||||
ldr r0, [r6, #0x68]
|
||||
mov r4, sb
|
||||
adds r4, #0x38
|
||||
ldrb r2, [r4]
|
||||
adds r1, r7, #0
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _080831D4 @ =0x00000372
|
||||
adds r1, r7, #1
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _080831D8 @ =0x0000036F
|
||||
adds r1, r7, #2
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
movs r0, #0xdd
|
||||
lsls r0, r0, #2
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x40
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _080831DC @ =0x00000376
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x41
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _080831E0 @ =0x00000375
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x42
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
movs r0, #0xdc
|
||||
lsls r0, r0, #2
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x80
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _080831E4 @ =0x00000373
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x81
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _080831E8 @ =0x00000371
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x82
|
||||
_080831CA:
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
b _080832BA
|
||||
.align 2, 0
|
||||
_080831D4: .4byte 0x00000372
|
||||
_080831D8: .4byte 0x0000036F
|
||||
_080831DC: .4byte 0x00000376
|
||||
_080831E0: .4byte 0x00000375
|
||||
_080831E4: .4byte 0x00000373
|
||||
_080831E8: .4byte 0x00000371
|
||||
_080831EC:
|
||||
mov r1, sb
|
||||
ldr r0, [r1, #0x68]
|
||||
mov r4, sb
|
||||
adds r4, #0x38
|
||||
ldrb r2, [r4]
|
||||
adds r1, r7, #0
|
||||
bl sub_0807B7D8
|
||||
ldr r5, _080832C8 @ =0x00000372
|
||||
adds r1, r7, #1
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807B7D8
|
||||
adds r1, r7, #2
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _080832CC @ =0x0000036F
|
||||
adds r1, r7, #3
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
movs r2, #0xdd
|
||||
lsls r2, r2, #2
|
||||
mov r8, r2
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x40
|
||||
ldrb r2, [r4]
|
||||
mov r0, r8
|
||||
bl sub_0807B7D8
|
||||
adds r5, #4
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x41
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807B7D8
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x42
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807B7D8
|
||||
ldr r6, _080832D0 @ =0x00000375
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x43
|
||||
ldrb r2, [r4]
|
||||
adds r0, r6, #0
|
||||
bl sub_0807B7D8
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x80
|
||||
ldrb r2, [r4]
|
||||
mov r0, r8
|
||||
bl sub_0807B7D8
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x81
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807B7D8
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x82
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807B7D8
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x83
|
||||
ldrb r2, [r4]
|
||||
adds r0, r6, #0
|
||||
bl sub_0807B7D8
|
||||
movs r0, #0xdc
|
||||
lsls r0, r0, #2
|
||||
adds r1, r7, #0
|
||||
adds r1, #0xc0
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
subs r5, #3
|
||||
adds r1, r7, #0
|
||||
adds r1, #0xc1
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807B7D8
|
||||
adds r1, r7, #0
|
||||
adds r1, #0xc2
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _080832D4 @ =0x00000371
|
||||
adds r1, r7, #0
|
||||
adds r1, #0xc3
|
||||
ldrb r2, [r4]
|
||||
bl sub_0807B7D8
|
||||
_080832BA:
|
||||
mov r0, sb
|
||||
bl DeleteEntity
|
||||
_080832C0:
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080832C8: .4byte 0x00000372
|
||||
_080832CC: .4byte 0x0000036F
|
||||
_080832D0: .4byte 0x00000375
|
||||
_080832D4: .4byte 0x00000371
|
||||
|
||||
thumb_func_start sub_080832D8
|
||||
sub_080832D8: @ 0x080832D8
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x38
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #2
|
||||
beq _080832FC
|
||||
ldrb r1, [r1, #0x15]
|
||||
movs r0, #8
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080832F6
|
||||
ldrb r2, [r2]
|
||||
movs r0, #0x21
|
||||
b _0808330A
|
||||
_080832F6:
|
||||
ldrb r2, [r2]
|
||||
movs r0, #0x20
|
||||
b _0808330A
|
||||
_080832FC:
|
||||
ldrb r1, [r1, #0x15]
|
||||
movs r0, #8
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08083312
|
||||
ldrb r2, [r2]
|
||||
movs r0, #0x2f
|
||||
_0808330A:
|
||||
adds r1, r3, #0
|
||||
bl sub_0807B7D8
|
||||
b _0808331C
|
||||
_08083312:
|
||||
ldrb r2, [r2]
|
||||
movs r0, #0x2e
|
||||
adds r1, r3, #0
|
||||
bl sub_0807B7D8
|
||||
_0808331C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,537 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start PushableGrave
|
||||
PushableGrave: @ 0x08097588
|
||||
push {lr}
|
||||
ldr r2, _0809759C @ =gUnk_081232AC
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809759C: .4byte gUnk_081232AC
|
||||
|
||||
thumb_func_start sub_080975A0
|
||||
sub_080975A0: @ 0x080975A0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldrb r0, [r4, #0xa]
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r1, [r4, #0x11]
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x11]
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r4, r1]
|
||||
ldr r2, _08097690 @ =gRoomControls
|
||||
mov r8, r2
|
||||
ldrh r1, [r2, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r5, r0, #4
|
||||
movs r6, #0x3f
|
||||
ands r5, r6
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
ldrh r1, [r2, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r6
|
||||
lsls r0, r0, #6
|
||||
orrs r5, r0
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x41
|
||||
adds r7, r4, #0
|
||||
adds r7, #0x38
|
||||
ldrb r1, [r7]
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6a
|
||||
strh r0, [r1]
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x40
|
||||
ldrb r1, [r7]
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6c
|
||||
strh r0, [r1]
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x3f
|
||||
ldrb r1, [r7]
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6e
|
||||
strh r0, [r1]
|
||||
subs r0, r5, #1
|
||||
ldrb r1, [r7]
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x70
|
||||
strh r0, [r1]
|
||||
ldrb r1, [r7]
|
||||
adds r0, r5, #0
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x72
|
||||
strh r0, [r1]
|
||||
adds r0, r5, #1
|
||||
ldrb r1, [r7]
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x74
|
||||
strh r0, [r1]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x3f
|
||||
ldrb r1, [r7]
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x76
|
||||
strh r0, [r1]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x40
|
||||
ldrb r1, [r7]
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x78
|
||||
strh r0, [r1]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x41
|
||||
ldrb r1, [r7]
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x7a
|
||||
strh r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_0809798C
|
||||
cmp r0, #0
|
||||
beq _080976A2
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _08097694
|
||||
ldrh r0, [r4, #0x32]
|
||||
subs r0, #0x16
|
||||
b _08097698
|
||||
.align 2, 0
|
||||
_08097690: .4byte gRoomControls
|
||||
_08097694:
|
||||
ldrh r0, [r4, #0x32]
|
||||
subs r0, #0x10
|
||||
_08097698:
|
||||
strh r0, [r4, #0x32]
|
||||
adds r0, r4, #0
|
||||
bl sub_080977F4
|
||||
b _08097722
|
||||
_080976A2:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r4, r2]
|
||||
mov r2, r8
|
||||
ldrh r1, [r2, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r5, r0, #4
|
||||
ands r5, r6
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
ldrh r1, [r2, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r6
|
||||
lsls r0, r0, #6
|
||||
orrs r5, r0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
strh r5, [r0]
|
||||
ldr r1, _080976FC @ =gUnk_081232DE
|
||||
ldrb r0, [r4, #0xb]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r6, [r0]
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _08097704
|
||||
ldr r0, _08097700 @ =gUnk_080FD578
|
||||
str r0, [r4, #0x48]
|
||||
subs r1, r5, #1
|
||||
ldrb r2, [r7]
|
||||
adds r0, r6, #0
|
||||
bl SetTile
|
||||
ldrb r2, [r7]
|
||||
adds r0, r6, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r0, #2
|
||||
strh r0, [r4, #0x32]
|
||||
b _08097722
|
||||
.align 2, 0
|
||||
_080976FC: .4byte gUnk_081232DE
|
||||
_08097700: .4byte gUnk_080FD578
|
||||
_08097704:
|
||||
ldr r0, _08097728 @ =gUnk_080FD570
|
||||
str r0, [r4, #0x48]
|
||||
ldrb r2, [r7]
|
||||
adds r0, r6, #0
|
||||
adds r1, r5, #0
|
||||
bl SetTile
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, #2
|
||||
bne _08097722
|
||||
ldr r0, _0809772C @ =gUnk_081232C0
|
||||
ldrb r2, [r7]
|
||||
adds r1, r5, #0
|
||||
bl sub_0801AF18
|
||||
_08097722:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08097728: .4byte gUnk_080FD570
|
||||
_0809772C: .4byte gUnk_081232C0
|
||||
|
||||
thumb_func_start sub_08097730
|
||||
sub_08097730: @ 0x08097730
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0809785C
|
||||
cmp r0, #0
|
||||
beq _08097744
|
||||
ldrb r1, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl RequestPriorityDuration
|
||||
_08097744:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08097748
|
||||
sub_08097748: @ 0x08097748
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xd]
|
||||
cmp r0, #0
|
||||
bne _08097774
|
||||
ldrb r0, [r2, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0809779A
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0xd]
|
||||
movs r0, #0x78
|
||||
strb r0, [r2, #0xf]
|
||||
ldr r1, _08097770 @ =gRoomControls
|
||||
str r2, [r1, #0x30]
|
||||
movs r0, #2
|
||||
strb r0, [r1, #0xe]
|
||||
b _0809779A
|
||||
.align 2, 0
|
||||
_08097770: .4byte gRoomControls
|
||||
_08097774:
|
||||
ldrb r0, [r2, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0809779A
|
||||
movs r0, #3
|
||||
strb r0, [r2, #0xc]
|
||||
movs r0, #0x60
|
||||
strb r0, [r2, #0xe]
|
||||
movs r0, #0x14
|
||||
strb r0, [r2, #0xf]
|
||||
adds r0, r2, #0
|
||||
movs r1, #0x60
|
||||
bl RequestPriorityDuration
|
||||
ldr r0, _0809779C @ =0x0000010F
|
||||
bl SoundReq
|
||||
_0809779A:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809779C: .4byte 0x0000010F
|
||||
|
||||
thumb_func_start sub_080977A0
|
||||
sub_080977A0: @ 0x080977A0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
beq _080977BC
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl LinearMoveUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_0800445C
|
||||
b _080977E4
|
||||
_080977BC:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
beq _080977C8
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
b _080977E4
|
||||
_080977C8:
|
||||
movs r0, #0x72
|
||||
bl EnqueueSFX
|
||||
adds r0, r4, #0
|
||||
bl sub_080977F4
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _080977E4
|
||||
ldr r0, _080977E8 @ =gRoomControls
|
||||
ldr r1, _080977EC @ =gPlayerEntity
|
||||
str r1, [r0, #0x30]
|
||||
movs r1, #4
|
||||
strb r1, [r0, #0xe]
|
||||
_080977E4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080977E8: .4byte gRoomControls
|
||||
_080977EC: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start nullsub_528
|
||||
nullsub_528: @ 0x080977F0
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080977F4
|
||||
sub_080977F4: @ 0x080977F4
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
movs r1, #0
|
||||
movs r0, #4
|
||||
strb r0, [r5, #0xc]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x63
|
||||
strb r1, [r0]
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r5, r1]
|
||||
ldr r3, _08097854 @ =gRoomControls
|
||||
ldrh r1, [r3, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r4, r0, #4
|
||||
movs r2, #0x3f
|
||||
ands r4, r2
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r5, r1]
|
||||
ldrh r1, [r3, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r4, r0
|
||||
ldr r7, _08097858 @ =0x00004022
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x38
|
||||
ldrb r2, [r6]
|
||||
adds r0, r7, #0
|
||||
adds r1, r4, #0
|
||||
bl SetTile
|
||||
ldrb r0, [r5, #0xa]
|
||||
cmp r0, #0
|
||||
bne _08097844
|
||||
subs r1, r4, #1
|
||||
ldrb r2, [r6]
|
||||
adds r0, r7, #0
|
||||
bl SetTile
|
||||
_08097844:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x86
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _08097852
|
||||
bl SetFlag
|
||||
_08097852:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08097854: .4byte gRoomControls
|
||||
_08097858: .4byte 0x00004022
|
||||
|
||||
thumb_func_start sub_0809785C
|
||||
sub_0809785C: @ 0x0809785C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r4, [r5, #0xa]
|
||||
cmp r4, #0
|
||||
beq _08097948
|
||||
ldrb r0, [r5, #0xb]
|
||||
cmp r0, #0
|
||||
bne _0809786E
|
||||
b _08097986
|
||||
_0809786E:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl CheckFlags
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x68
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x38
|
||||
cmp r0, #0
|
||||
bne _08097892
|
||||
ldrh r0, [r4]
|
||||
ldrb r1, [r6]
|
||||
bl GetTileType
|
||||
ldr r1, _08097940 @ =0x0000403F
|
||||
cmp r0, r1
|
||||
bne _08097986
|
||||
_08097892:
|
||||
movs r1, #0
|
||||
movs r0, #3
|
||||
strb r0, [r5, #0xc]
|
||||
movs r0, #0x40
|
||||
strb r0, [r5, #0xe]
|
||||
strb r1, [r5, #0xf]
|
||||
strb r1, [r5, #0x15]
|
||||
strh r0, [r5, #0x24]
|
||||
ldrh r4, [r4]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x72
|
||||
ldrh r0, [r0]
|
||||
ldrb r2, [r6]
|
||||
adds r1, r4, #0
|
||||
bl sub_0807B9B8
|
||||
ldrb r0, [r5, #0xb]
|
||||
cmp r0, #2
|
||||
bne _08097934
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x6a
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
subs r1, #0x41
|
||||
ldrb r2, [r6]
|
||||
bl sub_0807B9B8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x6c
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
subs r1, #0x40
|
||||
ldrb r2, [r6]
|
||||
bl sub_0807B9B8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x6e
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
subs r1, #0x3f
|
||||
ldrb r2, [r6]
|
||||
bl sub_0807B9B8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x70
|
||||
ldrh r0, [r0]
|
||||
subs r1, r4, #1
|
||||
ldrb r2, [r6]
|
||||
bl sub_0807B9B8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #1
|
||||
ldrb r2, [r6]
|
||||
bl sub_0807B9B8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x76
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3f
|
||||
ldrb r2, [r6]
|
||||
bl sub_0807B9B8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x78
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x40
|
||||
ldrb r2, [r6]
|
||||
bl sub_0807B9B8
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x7a
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x41
|
||||
ldrb r2, [r6]
|
||||
bl sub_0807B9B8
|
||||
_08097934:
|
||||
ldr r0, _08097944 @ =0x0000010F
|
||||
bl SoundReq
|
||||
movs r0, #1
|
||||
b _08097988
|
||||
.align 2, 0
|
||||
_08097940: .4byte 0x0000403F
|
||||
_08097944: .4byte 0x0000010F
|
||||
_08097948:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _08097986
|
||||
movs r0, #2
|
||||
strb r0, [r5, #0xc]
|
||||
strb r4, [r5, #0xd]
|
||||
movs r0, #0xf0
|
||||
strb r0, [r5, #0xe]
|
||||
movs r0, #0x3c
|
||||
strb r0, [r5, #0xf]
|
||||
strb r4, [r5, #0x15]
|
||||
movs r0, #0x40
|
||||
strh r0, [r5, #0x24]
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x68
|
||||
ldrh r0, [r4]
|
||||
adds r5, #0x38
|
||||
ldrb r1, [r5]
|
||||
bl sub_0807BA8C
|
||||
ldrh r0, [r4]
|
||||
subs r0, #1
|
||||
ldrb r1, [r5]
|
||||
bl sub_0807BA8C
|
||||
movs r0, #1
|
||||
b _08097988
|
||||
_08097986:
|
||||
movs r0, #0
|
||||
_08097988:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0809798C
|
||||
sub_0809798C: @ 0x0809798C
|
||||
push {r4, lr}
|
||||
adds r1, r0, #0
|
||||
movs r4, #0
|
||||
ldrb r0, [r1, #0xa]
|
||||
cmp r0, #0
|
||||
beq _0809799E
|
||||
ldrb r0, [r1, #0xb]
|
||||
cmp r0, #0
|
||||
beq _080979AE
|
||||
_0809799E:
|
||||
adds r0, r1, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _080979AE
|
||||
movs r4, #1
|
||||
_080979AE:
|
||||
adds r0, r4, #0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -1,269 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start PushableRock
|
||||
PushableRock: @ 0x0808A4F4
|
||||
push {lr}
|
||||
ldr r2, _0808A508 @ =gUnk_08121078
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0808A508: .4byte gUnk_08121078
|
||||
|
||||
thumb_func_start sub_0808A50C
|
||||
sub_0808A50C: @ 0x0808A50C
|
||||
push {lr}
|
||||
ldrb r2, [r0, #0x18]
|
||||
movs r1, #4
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r2
|
||||
movs r2, #1
|
||||
orrs r1, r2
|
||||
strb r1, [r0, #0x18]
|
||||
ldrb r1, [r0, #0xc]
|
||||
adds r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
ldrb r2, [r0, #0x19]
|
||||
movs r1, #0x3f
|
||||
ands r1, r2
|
||||
movs r2, #0x80
|
||||
orrs r1, r2
|
||||
strb r1, [r0, #0x19]
|
||||
adds r3, r0, #0
|
||||
adds r3, #0x29
|
||||
ldrb r2, [r3]
|
||||
movs r1, #8
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r2
|
||||
movs r2, #4
|
||||
orrs r1, r2
|
||||
movs r2, #0x39
|
||||
rsbs r2, r2, #0
|
||||
ands r1, r2
|
||||
movs r2, #0x18
|
||||
orrs r1, r2
|
||||
strb r1, [r3]
|
||||
bl sub_0808A644
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0808A550
|
||||
sub_0808A550: @ 0x0808A550
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
bl GetTileType
|
||||
adds r1, r0, #0
|
||||
ldr r0, _0808A58C @ =0x0000401F
|
||||
cmp r1, r0
|
||||
bhi _0808A5CC
|
||||
subs r0, #3
|
||||
cmp r1, r0
|
||||
blo _0808A5CC
|
||||
adds r0, r1, #0
|
||||
subs r0, #0x1c
|
||||
lsls r1, r0, #1
|
||||
strb r1, [r4, #0x14]
|
||||
lsls r1, r0, #3
|
||||
strb r1, [r4, #0x15]
|
||||
lsls r0, r0, #0x19
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #2
|
||||
bne _0808A590
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #0x40
|
||||
orrs r0, r1
|
||||
b _0808A598
|
||||
.align 2, 0
|
||||
_0808A58C: .4byte 0x0000401F
|
||||
_0808A590:
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #0x41
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
_0808A598:
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x70
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x74
|
||||
ldrh r1, [r1]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x14]
|
||||
lsrs r1, r1, #1
|
||||
adds r1, #1
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldr r0, _0808A5C8 @ =0x0000010F
|
||||
bl EnqueueSFX
|
||||
b _0808A5DE
|
||||
.align 2, 0
|
||||
_0808A5C8: .4byte 0x0000010F
|
||||
_0808A5CC:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0808A5DE
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
_0808A5DE:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0808A5E0
|
||||
sub_0808A5E0: @ 0x0808A5E0
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0800445C
|
||||
ldr r2, _0808A618 @ =gUnk_08121088
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x5a
|
||||
ldrb r1, [r5]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r4, #0x24]
|
||||
adds r0, r4, #0
|
||||
bl LinearMoveUpdate
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
ldrb r1, [r5]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0808A616
|
||||
movs r0, #0
|
||||
strb r0, [r4, #0xc]
|
||||
_0808A616:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0808A618: .4byte gUnk_08121088
|
||||
|
||||
thumb_func_start sub_0808A61C
|
||||
sub_0808A61C: @ 0x0808A61C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0808A634
|
||||
adds r0, r2, #0
|
||||
bl GetNextFrame
|
||||
b _0808A640
|
||||
_0808A634:
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x29
|
||||
ldrb r1, [r0]
|
||||
movs r2, #7
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
_0808A640:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0808A644
|
||||
sub_0808A644: @ 0x0808A644
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r2, _0808A6D0 @ =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 r5, r4, #0
|
||||
adds r5, #0x74
|
||||
strh r1, [r5]
|
||||
ldrh r0, [r5]
|
||||
adds r6, r4, #0
|
||||
adds r6, #0x38
|
||||
ldrb r1, [r6]
|
||||
bl GetTileIndex
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x70
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r5]
|
||||
ldrb r1, [r6]
|
||||
bl sub_080002E0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x72
|
||||
strb r0, [r1]
|
||||
ldrh r0, [r5]
|
||||
ldrb r1, [r6]
|
||||
bl sub_080002C8
|
||||
cmp r0, #0x19
|
||||
beq _0808A69E
|
||||
cmp r0, #0xf0
|
||||
bne _0808A6E2
|
||||
_0808A69E:
|
||||
ldr r0, _0808A6D4 @ =0x00004015
|
||||
ldrh r1, [r5]
|
||||
ldrb r2, [r6]
|
||||
bl SetTile
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x86
|
||||
ldrh r0, [r5]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
bne _0808A6D8
|
||||
ldrh r0, [r5]
|
||||
bl SetFlag
|
||||
movs r0, #0xcd
|
||||
bl SoundReq
|
||||
adds r0, r4, #0
|
||||
movs r1, #5
|
||||
bl InitializeAnimation
|
||||
b _0808A6EC
|
||||
.align 2, 0
|
||||
_0808A6D0: .4byte gRoomControls
|
||||
_0808A6D4: .4byte 0x00004015
|
||||
_0808A6D8:
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl InitializeAnimation
|
||||
b _0808A6EC
|
||||
_0808A6E2:
|
||||
ldr r0, _0808A6F0 @ =0x0000401B
|
||||
ldrh r1, [r5]
|
||||
ldrb r2, [r6]
|
||||
bl SetTile
|
||||
_0808A6EC:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0808A6F0: .4byte 0x0000401B
|
||||
@@ -1,741 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start PushableStatue
|
||||
PushableStatue: @ 0x080891DC
|
||||
push {lr}
|
||||
ldr r2, _080891F0 @ =gUnk_08120C98
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080891F0: .4byte gUnk_08120C98
|
||||
|
||||
thumb_func_start sub_080891F4
|
||||
sub_080891F4: @ 0x080891F4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0808965C
|
||||
cmp r0, #0
|
||||
beq _08089236
|
||||
movs r3, #0
|
||||
movs r2, #1
|
||||
strb r2, [r4, #0xc]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
ldrb r1, [r4, #0x11]
|
||||
subs r0, #0x90
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x11]
|
||||
ldr r0, _08089238 @ =gUnk_080FD1F4
|
||||
str r0, [r4, #0x48]
|
||||
strb r2, [r4, #0x16]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
strh r3, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_08089454
|
||||
adds r0, r4, #0
|
||||
bl sub_080894C8
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
_08089236:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08089238: .4byte gUnk_080FD1F4
|
||||
|
||||
thumb_func_start sub_0808923C
|
||||
sub_0808923C: @ 0x0808923C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0800442E
|
||||
cmp r0, #0
|
||||
bne _080892C0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x84
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
bl GetTileType
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r5, r0, #0x10
|
||||
ldr r0, _08089278 @ =0x0000400B
|
||||
cmp r5, r0
|
||||
beq _080892BA
|
||||
adds r0, r5, #0
|
||||
bl sub_0808968C
|
||||
cmp r0, #1
|
||||
beq _0808927C
|
||||
cmp r0, #1
|
||||
blo _08089294
|
||||
cmp r0, #2
|
||||
beq _080892B2
|
||||
b _080892C0
|
||||
.align 2, 0
|
||||
_08089278: .4byte 0x0000400B
|
||||
_0808927C:
|
||||
movs r1, #3
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r5, #0
|
||||
subs r0, #0xc
|
||||
ands r0, r1
|
||||
lsls r0, r0, #3
|
||||
strb r0, [r4, #0x15]
|
||||
adds r0, r4, #0
|
||||
bl sub_08089538
|
||||
b _080892C0
|
||||
_08089294:
|
||||
movs r0, #0xf
|
||||
movs r1, #4
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _080892AA
|
||||
adds r0, r4, #0
|
||||
bl CopyPosition
|
||||
_080892AA:
|
||||
adds r0, r4, #0
|
||||
bl sub_080894FC
|
||||
b _080892C0
|
||||
_080892B2:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x80
|
||||
strh r5, [r0]
|
||||
b _080892C0
|
||||
_080892BA:
|
||||
adds r0, r4, #0
|
||||
bl sub_08078930
|
||||
_080892C0:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080892C4
|
||||
sub_080892C4: @ 0x080892C4
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _080892D8
|
||||
adds r0, r2, #0
|
||||
bl sub_080895C0
|
||||
b _080892F6
|
||||
_080892D8:
|
||||
ldr r0, _080892F8 @ =gPlayerState
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #0
|
||||
bne _080892E4
|
||||
movs r0, #6
|
||||
strb r0, [r2, #0xd]
|
||||
_080892E4:
|
||||
ldr r0, _080892FC @ =gUnk_08120CAC
|
||||
ldrb r1, [r2, #0xd]
|
||||
subs r1, #5
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r2, #0
|
||||
bl _call_via_r1
|
||||
_080892F6:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080892F8: .4byte gPlayerState
|
||||
_080892FC: .4byte gUnk_08120CAC
|
||||
|
||||
thumb_func_start sub_08089300
|
||||
sub_08089300: @ 0x08089300
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x83
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _0808932C
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
ldr r1, _0808935C @ =gPlayerEntity
|
||||
ldrb r0, [r1, #0x14]
|
||||
ldr r2, _08089360 @ =gUnk_08120CB4
|
||||
adds r0, r0, r2
|
||||
movs r2, #0
|
||||
ldrsb r2, [r0, r2]
|
||||
lsls r2, r2, #0x10
|
||||
movs r3, #1
|
||||
ldrsb r3, [r0, r3]
|
||||
lsls r3, r3, #0x10
|
||||
adds r0, r5, #0
|
||||
bl PositionRelative
|
||||
_0808932C:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x84
|
||||
ldrh r0, [r0]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
bl GetTileType
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r4, r0, #0x10
|
||||
ldr r0, _08089364 @ =0x0000400B
|
||||
cmp r4, r0
|
||||
beq _080893A0
|
||||
adds r0, r4, #0
|
||||
bl sub_0808968C
|
||||
cmp r0, #1
|
||||
beq _08089368
|
||||
cmp r0, #1
|
||||
blo _0808937C
|
||||
cmp r0, #2
|
||||
beq _0808939A
|
||||
b _080893A0
|
||||
.align 2, 0
|
||||
_0808935C: .4byte gPlayerEntity
|
||||
_08089360: .4byte gUnk_08120CB4
|
||||
_08089364: .4byte 0x0000400B
|
||||
_08089368:
|
||||
adds r0, r4, #0
|
||||
subs r0, #0xc
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
lsls r0, r0, #3
|
||||
strb r0, [r5, #0x15]
|
||||
adds r0, r5, #0
|
||||
bl sub_08089538
|
||||
b _080893A0
|
||||
_0808937C:
|
||||
movs r0, #0xf
|
||||
movs r1, #4
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _08089392
|
||||
adds r0, r5, #0
|
||||
bl CopyPosition
|
||||
_08089392:
|
||||
adds r0, r5, #0
|
||||
bl sub_080894FC
|
||||
b _080893D6
|
||||
_0808939A:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x80
|
||||
strh r4, [r0]
|
||||
_080893A0:
|
||||
bl sub_080896B0
|
||||
cmp r0, #0
|
||||
beq _080893D6
|
||||
ldr r2, _080893D8 @ =gPlayerState
|
||||
movs r3, #0
|
||||
movs r0, #0x10
|
||||
strb r0, [r2, #0xc]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #0x20
|
||||
strb r0, [r1]
|
||||
ldr r0, [r2, #0x30]
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
str r0, [r2, #0x30]
|
||||
ldr r0, _080893DC @ =gPlayerEntity
|
||||
strh r3, [r0, #0x2c]
|
||||
strh r3, [r0, #0x30]
|
||||
ldrb r0, [r0, #0x14]
|
||||
movs r1, #4
|
||||
eors r0, r1
|
||||
lsls r0, r0, #2
|
||||
strb r0, [r5, #0x15]
|
||||
adds r0, r5, #0
|
||||
bl sub_08089538
|
||||
_080893D6:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080893D8: .4byte gPlayerState
|
||||
_080893DC: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_080893E0
|
||||
sub_080893E0: @ 0x080893E0
|
||||
movs r2, #0
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
adds r0, #0x83
|
||||
strb r2, [r0]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_080893EC
|
||||
sub_080893EC: @ 0x080893EC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080895C0
|
||||
cmp r0, #0
|
||||
beq _080893FC
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_080893FC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08089400
|
||||
sub_08089400: @ 0x08089400
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _08089424
|
||||
ldrb r2, [r4, #0x18]
|
||||
lsls r1, r2, #0x1e
|
||||
lsrs r1, r1, #0x1e
|
||||
movs r0, #1
|
||||
eors r1, r0
|
||||
subs r0, #5
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
b _0808944E
|
||||
_08089424:
|
||||
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, #0xc]
|
||||
ldr r0, _08089450 @ =0x0000400B
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x84
|
||||
ldrh r1, [r1]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
adds r0, r4, #0
|
||||
bl sub_080894C8
|
||||
_0808944E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08089450: .4byte 0x0000400B
|
||||
|
||||
thumb_func_start sub_08089454
|
||||
sub_08089454: @ 0x08089454
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r5, r0]
|
||||
ldr r2, _080894C0 @ =gRoomControls
|
||||
ldrh r0, [r2, #6]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
movs r3, #0x3f
|
||||
ands r1, r3
|
||||
movs r4, #0x32
|
||||
ldrsh r0, [r5, r4]
|
||||
ldrh r2, [r2, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r3
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x84
|
||||
strh r1, [r6]
|
||||
ldrh r0, [r6]
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x38
|
||||
ldrb r1, [r4]
|
||||
bl GetTileIndex
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x80
|
||||
strh r0, [r1]
|
||||
ldr r5, _080894C4 @ =0x0000400B
|
||||
ldrh r1, [r6]
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl SetTile
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #2
|
||||
bne _080894BC
|
||||
ldrh r0, [r6]
|
||||
movs r1, #1
|
||||
bl GetTileType
|
||||
movs r1, #0xc4
|
||||
lsls r1, r1, #2
|
||||
cmp r0, r1
|
||||
bne _080894BC
|
||||
ldrh r1, [r6]
|
||||
adds r0, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
_080894BC:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080894C0: .4byte gRoomControls
|
||||
_080894C4: .4byte 0x0000400B
|
||||
|
||||
thumb_func_start sub_080894C8
|
||||
sub_080894C8: @ 0x080894C8
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
movs r2, #0
|
||||
ldr r1, _080894E0 @ =gRoomVars
|
||||
adds r4, r1, #0
|
||||
adds r4, #0xac
|
||||
ldr r0, [r4]
|
||||
mov ip, r1
|
||||
cmp r0, #0
|
||||
bne _080894E4
|
||||
str r3, [r4]
|
||||
b _080894FA
|
||||
.align 2, 0
|
||||
_080894E0: .4byte gRoomVars
|
||||
_080894E4:
|
||||
adds r2, #1
|
||||
cmp r2, #7
|
||||
bhi _080894FA
|
||||
lsls r0, r2, #2
|
||||
mov r1, ip
|
||||
adds r1, #0xac
|
||||
adds r1, r0, r1
|
||||
ldr r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _080894E4
|
||||
str r3, [r1]
|
||||
_080894FA:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_080894FC
|
||||
sub_080894FC: @ 0x080894FC
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
movs r2, #0
|
||||
ldr r1, _08089514 @ =gRoomVars
|
||||
adds r4, r1, #0
|
||||
adds r4, #0xac
|
||||
ldr r0, [r4]
|
||||
mov ip, r1
|
||||
cmp r3, r0
|
||||
bne _08089518
|
||||
str r2, [r4]
|
||||
b _08089530
|
||||
.align 2, 0
|
||||
_08089514: .4byte gRoomVars
|
||||
_08089518:
|
||||
adds r2, #1
|
||||
cmp r2, #7
|
||||
bhi _08089530
|
||||
lsls r0, r2, #2
|
||||
mov r1, ip
|
||||
adds r1, #0xac
|
||||
adds r1, r0, r1
|
||||
ldr r0, [r1]
|
||||
cmp r3, r0
|
||||
bne _08089518
|
||||
movs r0, #0
|
||||
str r0, [r1]
|
||||
_08089530:
|
||||
adds r0, r3, #0
|
||||
bl DeleteEntity
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08089538
|
||||
sub_08089538: @ 0x08089538
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x86
|
||||
movs r0, #0x20
|
||||
strh r0, [r1]
|
||||
adds r0, #0xef
|
||||
bl EnqueueSFX
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x80
|
||||
ldrh r0, [r0]
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x84
|
||||
ldrh r1, [r6]
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x38
|
||||
ldrb r2, [r4]
|
||||
bl SetTile
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #2
|
||||
bne _08089580
|
||||
ldrh r0, [r6]
|
||||
movs r1, #1
|
||||
bl GetTileType
|
||||
ldr r1, _080895B8 @ =0x0000400B
|
||||
cmp r0, r1
|
||||
bne _08089580
|
||||
movs r0, #0xc4
|
||||
lsls r0, r0, #2
|
||||
ldrh r1, [r6]
|
||||
movs r2, #1
|
||||
bl sub_08000152
|
||||
_08089580:
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x84
|
||||
ldr r1, _080895BC @ =gUnk_080B4488
|
||||
ldrb r0, [r5, #0x15]
|
||||
lsrs r0, r0, #3
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
ldrh r2, [r2]
|
||||
adds r0, r0, r2
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
bl GetTileType
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #0x79
|
||||
beq _080895AC
|
||||
cmp r0, #0x77
|
||||
bne _080895B4
|
||||
_080895AC:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x63
|
||||
movs r0, #0xfe
|
||||
strb r0, [r1]
|
||||
_080895B4:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080895B8: .4byte 0x0000400B
|
||||
_080895BC: .4byte gUnk_080B4488
|
||||
|
||||
thumb_func_start sub_080895C0
|
||||
sub_080895C0: @ 0x080895C0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl LinearMoveUpdate
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x86
|
||||
ldrh r0, [r1]
|
||||
subs r0, #1
|
||||
strh r0, [r1]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _0808964C
|
||||
adds r0, r4, #0
|
||||
bl sub_0800442E
|
||||
cmp r0, #0
|
||||
bne _0808964C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x63
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_080002D0
|
||||
cmp r0, #0
|
||||
bne _080895FE
|
||||
adds r0, r4, #0
|
||||
bl sub_08089454
|
||||
movs r0, #1
|
||||
b _08089654
|
||||
_080895FE:
|
||||
movs r0, #0xf
|
||||
movs r1, #4
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _08089614
|
||||
adds r0, r4, #0
|
||||
bl CopyPosition
|
||||
_08089614:
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldr r2, _08089658 @ =gUnk_08120CBC
|
||||
ldrb r1, [r4, #0x15]
|
||||
lsrs r1, r1, #2
|
||||
lsls r0, r1, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
ldrh r3, [r4, #0x2e]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r4, #0x2e]
|
||||
adds r1, #1
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r2
|
||||
ldrh r0, [r1]
|
||||
ldrh r1, [r4, #0x32]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
adds r0, r4, #0
|
||||
bl sub_08089454
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x3c
|
||||
strb r0, [r4, #0xe]
|
||||
_0808964C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0800445C
|
||||
movs r0, #0
|
||||
_08089654:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08089658: .4byte gUnk_08120CBC
|
||||
|
||||
thumb_func_start sub_0808965C
|
||||
sub_0808965C: @ 0x0808965C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r3, _08089678 @ =gRoomControls
|
||||
ldrb r0, [r3, #4]
|
||||
cmp r0, #0x3f
|
||||
bls _08089680
|
||||
ldr r1, _0808967C @ =gUnk_08120CCC
|
||||
subs r0, #0x40
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r2, #0
|
||||
b _08089684
|
||||
.align 2, 0
|
||||
_08089678: .4byte gRoomControls
|
||||
_0808967C: .4byte gUnk_08120CCC
|
||||
_08089680:
|
||||
adds r0, r2, #0
|
||||
movs r1, #0xe9
|
||||
_08089684:
|
||||
bl LoadFixedGFX
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0808968C
|
||||
sub_0808968C: @ 0x0808968C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r1, _08089694 @ =gUnk_08120D6C
|
||||
b _080896A4
|
||||
.align 2, 0
|
||||
_08089694: .4byte gUnk_08120D6C
|
||||
_08089698:
|
||||
ldrh r0, [r1]
|
||||
cmp r0, r2
|
||||
bne _080896A2
|
||||
ldrh r0, [r1, #2]
|
||||
b _080896AC
|
||||
_080896A2:
|
||||
adds r1, #4
|
||||
_080896A4:
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _08089698
|
||||
movs r0, #0
|
||||
_080896AC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080896B0
|
||||
sub_080896B0: @ 0x080896B0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
ldr r0, _08089750 @ =gPlayerState
|
||||
ldrb r1, [r0, #5]
|
||||
movs r0, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0x12
|
||||
bne _08089768
|
||||
ldr r6, _08089754 @ =gPlayerEntity
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08089768
|
||||
ldrb r3, [r6, #0x14]
|
||||
movs r2, #6
|
||||
ands r2, r3
|
||||
lsls r2, r2, #1
|
||||
ldr r0, _08089758 @ =gUnk_080B4468
|
||||
adds r2, r2, r0
|
||||
ldr r0, _0808975C @ =gUnk_080B4488
|
||||
lsrs r3, r3, #1
|
||||
lsls r3, r3, #1
|
||||
adds r3, r3, r0
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r6, r0]
|
||||
movs r4, #0
|
||||
ldrsh r0, [r2, r4]
|
||||
adds r1, r1, r0
|
||||
ldr r5, _08089760 @ =gRoomControls
|
||||
ldrh r0, [r5, #6]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r6, r7]
|
||||
movs r7, #2
|
||||
ldrsh r2, [r2, r7]
|
||||
adds r0, r0, r2
|
||||
ldrh r2, [r5, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r4
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
movs r0, #0
|
||||
ldrsh r7, [r3, r0]
|
||||
subs r1, r1, r7
|
||||
lsls r4, r1, #0x10
|
||||
lsrs r0, r4, #0x10
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x38
|
||||
ldrb r1, [r5]
|
||||
bl sub_080002C8
|
||||
adds r1, r0, #0
|
||||
subs r0, #0x26
|
||||
cmp r0, #1
|
||||
bls _08089768
|
||||
cmp r1, #0x29
|
||||
beq _08089768
|
||||
ldrb r0, [r5]
|
||||
bl GetLayerByIndex
|
||||
asrs r1, r4, #0x10
|
||||
ldr r2, _08089764 @ =0x00002004
|
||||
adds r0, r0, r2
|
||||
adds r2, r0, r1
|
||||
ldrb r2, [r2]
|
||||
subs r1, r1, r7
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r2, #0
|
||||
bne _08089768
|
||||
cmp r0, #0
|
||||
bne _08089768
|
||||
movs r0, #1
|
||||
b _0808976A
|
||||
.align 2, 0
|
||||
_08089750: .4byte gPlayerState
|
||||
_08089754: .4byte gPlayerEntity
|
||||
_08089758: .4byte gUnk_080B4468
|
||||
_0808975C: .4byte gUnk_080B4488
|
||||
_08089760: .4byte gRoomControls
|
||||
_08089764: .4byte 0x00002004
|
||||
_08089768:
|
||||
movs r0, #0
|
||||
_0808976A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
@@ -1,742 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start SmallIceBlock
|
||||
SmallIceBlock: @ 0x080991A4
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xa]
|
||||
cmp r0, #2
|
||||
bhi _080991C4
|
||||
ldr r0, _080991C0 @ =gUnk_08123734
|
||||
ldrb r1, [r2, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r2, #0
|
||||
bl _call_via_r1
|
||||
b _080991CA
|
||||
.align 2, 0
|
||||
_080991C0: .4byte gUnk_08123734
|
||||
_080991C4:
|
||||
adds r0, r2, #0
|
||||
bl sub_080996AC
|
||||
_080991CA:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080991CC
|
||||
sub_080991CC: @ 0x080991CC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #2
|
||||
bgt _080991EC
|
||||
cmp r0, #0
|
||||
blt _080991EC
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _080991EC
|
||||
bl DeleteThisEntity
|
||||
_080991EC:
|
||||
movs r2, #1
|
||||
strb r2, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
ldrb r1, [r4, #0x11]
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x11]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3c
|
||||
movs r0, #7
|
||||
strb r0, [r1]
|
||||
adds r1, #4
|
||||
movs r0, #0x48
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x3f
|
||||
strb r2, [r0]
|
||||
subs r1, #5
|
||||
movs r0, #0x80
|
||||
strb r0, [r1]
|
||||
ldr r0, _08099244 @ =gUnk_080FD408
|
||||
str r0, [r4, #0x48]
|
||||
adds r0, r4, #0
|
||||
bl sub_08099468
|
||||
ldrb r1, [r4, #0xa]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
movs r0, #0x84
|
||||
movs r1, #3
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
cmp r0, #0
|
||||
beq _08099242
|
||||
str r4, [r0, #0x50]
|
||||
_08099242:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08099244: .4byte gUnk_080FD408
|
||||
|
||||
thumb_func_start sub_08099248
|
||||
sub_08099248: @ 0x08099248
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0809963C
|
||||
cmp r0, #0
|
||||
beq _08099280
|
||||
movs r1, #0
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
ldr r0, _0809927C @ =0x000001B3
|
||||
bl EnqueueSFX
|
||||
adds r0, r4, #0
|
||||
bl sub_08099330
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _0809930E
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl SetFlag
|
||||
b _0809930E
|
||||
.align 2, 0
|
||||
_0809927C: .4byte 0x000001B3
|
||||
_08099280:
|
||||
adds r0, r4, #0
|
||||
bl sub_0800442E
|
||||
cmp r0, #0
|
||||
bne _0809930E
|
||||
adds r7, r4, #0
|
||||
adds r7, #0x70
|
||||
ldrh r0, [r7]
|
||||
adds r6, r4, #0
|
||||
adds r6, #0x38
|
||||
ldrb r1, [r6]
|
||||
bl GetTileType
|
||||
adds r5, r0, #0
|
||||
ldr r0, _080992B8 @ =0x0000405A
|
||||
cmp r5, r0
|
||||
beq _0809930E
|
||||
adds r0, r5, #0
|
||||
bl sub_08099618
|
||||
cmp r0, #1
|
||||
beq _080992BC
|
||||
cmp r0, #1
|
||||
blo _080992DC
|
||||
cmp r0, #2
|
||||
beq _08099308
|
||||
b _0809930E
|
||||
.align 2, 0
|
||||
_080992B8: .4byte 0x0000405A
|
||||
_080992BC:
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x16
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r5, #0
|
||||
subs r0, #0x5b
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
lsls r0, r0, #3
|
||||
strb r0, [r4, #0x15]
|
||||
movs r0, #0x20
|
||||
strh r0, [r4, #0x24]
|
||||
adds r0, r4, #0
|
||||
bl sub_080994B8
|
||||
b _0809930E
|
||||
_080992DC:
|
||||
movs r0, #0xf
|
||||
movs r1, #0xd
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _080992F2
|
||||
adds r0, r4, #0
|
||||
bl CopyPosition
|
||||
_080992F2:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6c
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r7]
|
||||
ldrb r2, [r6]
|
||||
bl SetTile
|
||||
adds r0, r4, #0
|
||||
bl DeleteEntity
|
||||
b _0809930E
|
||||
_08099308:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6c
|
||||
strh r5, [r0]
|
||||
_0809930E:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_08099310
|
||||
sub_08099310: @ 0x08099310
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0809953C
|
||||
cmp r0, #0
|
||||
beq _0809932E
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_08099468
|
||||
movs r0, #0xd9
|
||||
lsls r0, r0, #1
|
||||
bl EnqueueSFX
|
||||
_0809932E:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08099330
|
||||
sub_08099330: @ 0x08099330
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0809963C
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bne _0809935E
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #1
|
||||
bls _0809934A
|
||||
subs r0, #2
|
||||
strb r0, [r4, #0xe]
|
||||
b _0809934C
|
||||
_0809934A:
|
||||
strb r1, [r4, #0xe]
|
||||
_0809934C:
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
bne _08099364
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805EC60
|
||||
b _080993CA
|
||||
_0809935E:
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
_08099364:
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
ldr r2, _0809939C @ =gUnk_08123748
|
||||
ldrb r0, [r4, #0xe]
|
||||
lsrs r0, r0, #5
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r2, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #1
|
||||
bne _080993A0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
ldrh r3, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x53
|
||||
movs r2, #0
|
||||
bl sub_080A2A3C
|
||||
movs r0, #0x72
|
||||
bl SoundReq
|
||||
b _080993BA
|
||||
.align 2, 0
|
||||
_0809939C: .4byte gUnk_08123748
|
||||
_080993A0:
|
||||
cmp r0, #2
|
||||
bne _080993BA
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
ldrh r3, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x52
|
||||
movs r2, #0
|
||||
bl sub_080A2A3C
|
||||
movs r0, #0x72
|
||||
bl SoundReq
|
||||
_080993BA:
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x3c
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
_080993CA:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_080993CC
|
||||
sub_080993CC: @ 0x080993CC
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r1, r0, #1
|
||||
strb r1, [r5, #0xe]
|
||||
lsls r0, r1, #0x18
|
||||
cmp r0, #0
|
||||
bne _080993E2
|
||||
bl DeleteThisEntity
|
||||
b _08099466
|
||||
_080993E2:
|
||||
lsls r0, r1, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0x30
|
||||
bne _08099400
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x6c
|
||||
ldrh r0, [r0]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
ldrh r1, [r1]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
_08099400:
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
ldrb r0, [r5, #0xe]
|
||||
movs r2, #0x3c
|
||||
subs r2, r2, r0
|
||||
lsls r2, r2, #5
|
||||
adds r2, r2, r1
|
||||
adds r0, r5, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
ldrb r1, [r5, #0xe]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08099466
|
||||
movs r0, #0xf
|
||||
movs r1, #0x11
|
||||
movs r2, #0x40
|
||||
bl CreateObject
|
||||
adds r6, r0, #0
|
||||
cmp r6, #0
|
||||
beq _08099466
|
||||
bl Random
|
||||
adds r4, r0, #0
|
||||
asrs r0, r4, #0x10
|
||||
movs r1, #9
|
||||
bl __modsi3
|
||||
adds r2, r0, #0
|
||||
subs r2, #4
|
||||
movs r3, #0xf
|
||||
ands r3, r4
|
||||
adds r4, r6, #0
|
||||
adds r4, #0x29
|
||||
ldrb r1, [r4]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
lsls r2, r2, #0x10
|
||||
rsbs r3, r3, #0
|
||||
lsls r3, r3, #0x10
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
bl PositionRelative
|
||||
_08099466:
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
thumb_func_start sub_08099468
|
||||
sub_08099468: @ 0x08099468
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r6, r0]
|
||||
ldr r2, _080994B0 @ =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 r4, r6, #0
|
||||
adds r4, #0x70
|
||||
strh r1, [r4]
|
||||
ldrh r0, [r4]
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x38
|
||||
ldrb r1, [r5]
|
||||
bl GetTileIndex
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x6c
|
||||
strh r0, [r1]
|
||||
ldr r0, _080994B4 @ =0x0000405A
|
||||
ldrh r1, [r4]
|
||||
ldrb r2, [r5]
|
||||
bl SetTile
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080994B0: .4byte gRoomControls
|
||||
_080994B4: .4byte 0x0000405A
|
||||
|
||||
thumb_func_start sub_080994B8
|
||||
sub_080994B8: @ 0x080994B8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, _08099530 @ =0x000001B1
|
||||
bl EnqueueSFX
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x6c
|
||||
ldrh r0, [r0]
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x70
|
||||
ldrh r1, [r6]
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x38
|
||||
ldrb r2, [r4]
|
||||
bl SetTile
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #2
|
||||
bne _080994F8
|
||||
ldrh r0, [r6]
|
||||
movs r1, #1
|
||||
bl GetTileType
|
||||
ldr r1, _08099534 @ =0x0000405A
|
||||
cmp r0, r1
|
||||
bne _080994F8
|
||||
movs r0, #0xc4
|
||||
lsls r0, r0, #2
|
||||
ldrh r1, [r6]
|
||||
movs r2, #1
|
||||
bl sub_08000152
|
||||
_080994F8:
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x70
|
||||
ldr r1, _08099538 @ =gUnk_080B4488
|
||||
ldrb r0, [r5, #0x15]
|
||||
lsrs r0, r0, #3
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
ldrh r2, [r2]
|
||||
adds r0, r0, r2
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
bl GetTileType
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #0x79
|
||||
beq _08099524
|
||||
cmp r0, #0x77
|
||||
bne _0809952C
|
||||
_08099524:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x63
|
||||
movs r0, #0xfe
|
||||
strb r0, [r1]
|
||||
_0809952C:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08099530: .4byte 0x000001B1
|
||||
_08099534: .4byte 0x0000405A
|
||||
_08099538: .4byte gUnk_080B4488
|
||||
|
||||
thumb_func_start sub_0809953C
|
||||
sub_0809953C: @ 0x0809953C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0800442E
|
||||
cmp r0, #0
|
||||
bne _08099612
|
||||
adds r0, r4, #0
|
||||
bl sub_080AEFE0
|
||||
adds r0, r4, #0
|
||||
bl sub_0800445C
|
||||
ldrb r1, [r4, #0xe]
|
||||
cmp r1, #0
|
||||
beq _08099570
|
||||
ldrh r0, [r4, #0x24]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x24]
|
||||
subs r0, r1, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08099570
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #2
|
||||
strh r0, [r4, #0x24]
|
||||
_08099570:
|
||||
ldrb r0, [r4, #0x15]
|
||||
lsrs r0, r0, #3
|
||||
cmp r0, #1
|
||||
beq _080995A0
|
||||
cmp r0, #1
|
||||
bgt _08099582
|
||||
cmp r0, #0
|
||||
beq _08099588
|
||||
b _080995E6
|
||||
_08099582:
|
||||
cmp r0, #2
|
||||
beq _080995BA
|
||||
b _080995E6
|
||||
_08099588:
|
||||
ldrh r1, [r4, #0x2a]
|
||||
movs r0, #0xe
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08099612
|
||||
ldrh r1, [r4, #0x32]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
subs r0, #7
|
||||
cmp r0, #2
|
||||
bls _080995D0
|
||||
b _080995DE
|
||||
_080995A0:
|
||||
ldrh r1, [r4, #0x2a]
|
||||
movs r0, #0xe0
|
||||
lsls r0, r0, #8
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08099612
|
||||
ldrh r1, [r4, #0x2e]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
subs r0, #7
|
||||
cmp r0, #2
|
||||
bls _080995FE
|
||||
b _080995DE
|
||||
_080995BA:
|
||||
ldrh r1, [r4, #0x2a]
|
||||
movs r0, #0xe0
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08099612
|
||||
ldrh r1, [r4, #0x32]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
subs r0, #7
|
||||
cmp r0, #2
|
||||
bhi _080995DE
|
||||
_080995D0:
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
adds r0, #8
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
b _08099614
|
||||
_080995DE:
|
||||
adds r0, r4, #0
|
||||
bl sub_0809969C
|
||||
b _08099612
|
||||
_080995E6:
|
||||
ldrh r1, [r4, #0x2a]
|
||||
movs r0, #0xe0
|
||||
lsls r0, r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08099612
|
||||
ldrh r1, [r4, #0x2e]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
subs r0, #7
|
||||
cmp r0, #2
|
||||
bhi _0809960C
|
||||
_080995FE:
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
adds r0, #8
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
b _08099614
|
||||
_0809960C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0809969C
|
||||
_08099612:
|
||||
movs r0, #0
|
||||
_08099614:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08099618
|
||||
sub_08099618: @ 0x08099618
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r1, _08099620 @ =gUnk_08123750
|
||||
b _08099630
|
||||
.align 2, 0
|
||||
_08099620: .4byte gUnk_08123750
|
||||
_08099624:
|
||||
ldrh r0, [r1]
|
||||
cmp r0, r2
|
||||
bne _0809962E
|
||||
ldrh r0, [r1, #2]
|
||||
b _08099638
|
||||
_0809962E:
|
||||
adds r1, #4
|
||||
_08099630:
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _08099624
|
||||
movs r0, #0
|
||||
_08099638:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0809963C
|
||||
sub_0809963C: @ 0x0809963C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xb]
|
||||
cmp r0, #0
|
||||
beq _08099684
|
||||
bl GetCurrentRoomProperty
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _08099684
|
||||
ldr r0, _08099694 @ =gRoomControls
|
||||
ldrh r1, [r0, #6]
|
||||
ldrh r2, [r4, #2]
|
||||
adds r1, r1, r2
|
||||
lsls r1, r1, #0x10
|
||||
lsrs r1, r1, #0x10
|
||||
ldrh r0, [r0, #8]
|
||||
ldrh r6, [r4, #4]
|
||||
adds r0, r0, r6
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r3, r0, #0x10
|
||||
ldrh r2, [r4, #6]
|
||||
movs r6, #0x2e
|
||||
ldrsh r0, [r5, r6]
|
||||
subs r0, r0, r1
|
||||
cmp r2, r0
|
||||
blo _08099684
|
||||
ldrh r1, [r4, #8]
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r5, r2]
|
||||
subs r0, r0, r3
|
||||
cmp r1, r0
|
||||
bhs _08099698
|
||||
_08099684:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x41
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x87
|
||||
beq _08099698
|
||||
movs r0, #0
|
||||
b _0809969A
|
||||
.align 2, 0
|
||||
_08099694: .4byte gRoomControls
|
||||
_08099698:
|
||||
movs r0, #1
|
||||
_0809969A:
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
thumb_func_start sub_0809969C
|
||||
sub_0809969C: @ 0x0809969C
|
||||
push {lr}
|
||||
movs r1, #0xd
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
bl DeleteThisEntity
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080996AC
|
||||
sub_080996AC: @ 0x080996AC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x50]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
bne _080996BC
|
||||
bl DeleteThisEntity
|
||||
_080996BC:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _080996CE
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl InitializeAnimation
|
||||
_080996CE:
|
||||
ldr r0, [r4, #0x50]
|
||||
ldrb r0, [r0, #0xc]
|
||||
cmp r0, #2
|
||||
bhi _08099726
|
||||
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 r2, r4, #0
|
||||
adds r2, #0x5a
|
||||
ldrb r1, [r2]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08099706
|
||||
movs r0, #0
|
||||
strb r0, [r2]
|
||||
bl Random
|
||||
movs r1, #0x78
|
||||
ands r0, r1
|
||||
adds r0, #0x78
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x59
|
||||
strb r0, [r1]
|
||||
_08099706:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x63
|
||||
ldrb r0, [r1]
|
||||
subs r0, #0x11
|
||||
strb r0, [r1]
|
||||
b _08099730
|
||||
_08099726:
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_08099730:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
Reference in New Issue
Block a user