mirror of
https://github.com/zeldaret/tmc
synced 2026-07-08 14:36:41 -04:00
Decompile object67
This commit is contained in:
@@ -1,828 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Object67
|
||||
Object67: @ 0x08094130
|
||||
push {lr}
|
||||
ldr r2, _08094144 @ =gUnk_081229BC
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08094144: .4byte gUnk_081229BC
|
||||
|
||||
thumb_func_start sub_08094148
|
||||
sub_08094148: @ 0x08094148
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #1
|
||||
bne _08094154
|
||||
b _08094254
|
||||
_08094154:
|
||||
cmp r0, #1
|
||||
bgt _0809415E
|
||||
cmp r0, #0
|
||||
beq _080941A8
|
||||
b _0809438A
|
||||
_0809415E:
|
||||
cmp r0, #2
|
||||
beq _08094164
|
||||
b _0809438A
|
||||
_08094164:
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
bne _08094180
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0xb4
|
||||
lsls r0, r0, #1
|
||||
str r0, [r4, #0x78]
|
||||
ldr r0, _0809417C @ =gRoomControls
|
||||
str r4, [r0, #0x30]
|
||||
b _08094198
|
||||
.align 2, 0
|
||||
_0809417C: .4byte gRoomControls
|
||||
_08094180:
|
||||
ldr r0, [r4, #0x78]
|
||||
subs r0, #1
|
||||
str r0, [r4, #0x78]
|
||||
movs r1, #1
|
||||
rsbs r1, r1, #0
|
||||
cmp r0, r1
|
||||
bne _08094198
|
||||
ldr r1, _080941A0 @ =gRoomControls
|
||||
ldr r0, _080941A4 @ =gPlayerEntity
|
||||
str r0, [r1, #0x30]
|
||||
bl DeleteThisEntity
|
||||
_08094198:
|
||||
bl sub_08078B48
|
||||
b _08094394
|
||||
.align 2, 0
|
||||
_080941A0: .4byte gRoomControls
|
||||
_080941A4: .4byte gPlayerEntity
|
||||
_080941A8:
|
||||
ldr r1, _08094228 @ =gUnk_081229D0
|
||||
ldrb r0, [r4, #0xb]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0, #1]
|
||||
strb r0, [r4, #0x15]
|
||||
ldrb r0, [r4, #0xb]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0, #2]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
ldrh r2, [r4, #0x2e]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r4, #0x2e]
|
||||
ldrb r0, [r4, #0xb]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0, #3]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
ldrh r2, [r4, #0x32]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r4, #0x32]
|
||||
ldrb r0, [r4, #0xb]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldrb r2, [r0]
|
||||
movs r0, #0x40
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _080941F0
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #0x40
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_080941F0:
|
||||
movs r0, #0x80
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _08094200
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_08094200:
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, #3
|
||||
bhi _08094230
|
||||
bl Random
|
||||
ldr r1, _0809422C @ =0x0001FFFF
|
||||
ands r1, r0
|
||||
movs r0, #0xa0
|
||||
lsls r0, r0, #0xa
|
||||
orrs r0, r1
|
||||
str r0, [r4, #0x20]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r4, #0x24]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x56
|
||||
bl InitializeAnimation
|
||||
b _0809438A
|
||||
.align 2, 0
|
||||
_08094228: .4byte gUnk_081229D0
|
||||
_0809422C: .4byte 0x0001FFFF
|
||||
_08094230:
|
||||
movs r0, #0xa0
|
||||
lsls r0, r0, #0xa
|
||||
str r0, [r4, #0x20]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r4, #0x24]
|
||||
bl Random
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
ldrb r1, [r4, #0x15]
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x15]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x57
|
||||
bl InitializeAnimation
|
||||
b _0809438A
|
||||
_08094254:
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, #0
|
||||
bne _08094272
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x67
|
||||
movs r2, #1
|
||||
movs r3, #0x80
|
||||
bl CreateObjectWithParent
|
||||
adds r1, r0, #0
|
||||
str r1, [r4, #0x54]
|
||||
cmp r1, #0
|
||||
beq _08094272
|
||||
ldr r0, [r4, #0x50]
|
||||
str r0, [r1, #0x54]
|
||||
_08094272:
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, #0x80
|
||||
bne _0809427A
|
||||
b _08094380
|
||||
_0809427A:
|
||||
movs r2, #0
|
||||
movs r0, #0x4b
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r1, [r4, #0x19]
|
||||
subs r0, #0x58
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
movs r1, #0xe0
|
||||
lsls r1, r1, #7
|
||||
strh r1, [r4, #0x24]
|
||||
movs r1, #0xc0
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
adds r3, r4, #0
|
||||
adds r3, #0x29
|
||||
ldrb r0, [r3]
|
||||
movs r1, #7
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
ldrb r0, [r4, #0x19]
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
ldrb r0, [r4, #0xb]
|
||||
lsls r0, r0, #3
|
||||
ldr r1, _080942E8 @ =gUnk_081229F0
|
||||
adds r3, r0, r1
|
||||
movs r0, #0
|
||||
ldrsb r0, [r3, r0]
|
||||
ldrh r1, [r4, #0x2e]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
ldrsb r0, [r3, r0]
|
||||
ldrh r1, [r4, #0x32]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
ldrb r0, [r3, #2]
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r0, [r3, #3]
|
||||
strb r0, [r4, #0xf]
|
||||
movs r0, #0xce
|
||||
str r0, [r4, #0x7c]
|
||||
str r2, [r4, #0x74]
|
||||
ldrb r1, [r3, #4]
|
||||
movs r0, #0x40
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080942EC
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x82
|
||||
movs r0, #0xff
|
||||
lsls r0, r0, #8
|
||||
b _080942F4
|
||||
.align 2, 0
|
||||
_080942E8: .4byte gUnk_081229F0
|
||||
_080942EC:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x82
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
_080942F4:
|
||||
strh r0, [r1]
|
||||
ldrb r1, [r3, #4]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0809430A
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x86
|
||||
movs r0, #0xff
|
||||
lsls r0, r0, #8
|
||||
b _08094312
|
||||
_0809430A:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x86
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
_08094312:
|
||||
strh r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl AllocMutableHitbox
|
||||
cmp r0, #0
|
||||
beq _0809438A
|
||||
ldr r2, [r4, #0x48]
|
||||
ldr r1, _0809437C @ =gUnk_080FD2E8
|
||||
ldrb r0, [r1]
|
||||
strb r0, [r2]
|
||||
ldr r2, [r4, #0x48]
|
||||
ldrb r0, [r1, #1]
|
||||
strb r0, [r2, #1]
|
||||
ldr r2, [r4, #0x48]
|
||||
ldrb r0, [r1, #2]
|
||||
strb r0, [r2, #2]
|
||||
ldr r2, [r4, #0x48]
|
||||
ldrb r0, [r1, #3]
|
||||
strb r0, [r2, #3]
|
||||
ldr r2, [r4, #0x48]
|
||||
ldrb r0, [r1, #4]
|
||||
strb r0, [r2, #4]
|
||||
ldr r2, [r4, #0x48]
|
||||
ldrb r0, [r1, #5]
|
||||
strb r0, [r2, #5]
|
||||
ldr r2, [r4, #0x48]
|
||||
ldrb r0, [r1, #6]
|
||||
strb r0, [r2, #6]
|
||||
ldr r2, [r4, #0x48]
|
||||
ldrb r0, [r1, #7]
|
||||
strb r0, [r2, #7]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
adds r1, #4
|
||||
movs r0, #7
|
||||
strb r0, [r1]
|
||||
adds r1, #4
|
||||
movs r0, #0x48
|
||||
strb r0, [r1]
|
||||
subs r1, #1
|
||||
movs r0, #0x7a
|
||||
strb r0, [r1]
|
||||
subs r1, #4
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
b _0809438A
|
||||
.align 2, 0
|
||||
_0809437C: .4byte gUnk_080FD2E8
|
||||
_08094380:
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_0809438A:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_08094398
|
||||
_08094394:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08094398
|
||||
sub_08094398: @ 0x08094398
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
beq _080943A8
|
||||
cmp r0, #1
|
||||
beq _080943D8
|
||||
b _08094420
|
||||
_080943A8:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
bl LinearMoveUpdate
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #7
|
||||
adds r0, r4, #0
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _08094420
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, #3
|
||||
bhi _080943D2
|
||||
adds r0, r4, #0
|
||||
movs r1, #0xc
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
_080943D2:
|
||||
bl DeleteThisEntity
|
||||
b _08094420
|
||||
_080943D8:
|
||||
ldrb r1, [r4, #0xb]
|
||||
cmp r1, #0x80
|
||||
beq _0809440A
|
||||
ldr r0, [r4, #0x7c]
|
||||
subs r0, #1
|
||||
str r0, [r4, #0x7c]
|
||||
movs r1, #1
|
||||
rsbs r1, r1, #0
|
||||
cmp r0, r1
|
||||
bne _080943F6
|
||||
movs r0, #0x96
|
||||
lsls r0, r0, #2
|
||||
str r0, [r4, #0x7c]
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
_080943F6:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x82
|
||||
ldrh r1, [r0]
|
||||
adds r0, #4
|
||||
ldrh r2, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
b _08094420
|
||||
_0809440A:
|
||||
ldr r0, [r4, #0x54]
|
||||
adds r0, #0x79
|
||||
ldrb r0, [r0]
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
bne _0809441A
|
||||
bl DeleteThisEntity
|
||||
_0809441A:
|
||||
adds r0, r4, #0
|
||||
bl sub_08094660
|
||||
_08094420:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08094424
|
||||
sub_08094424: @ 0x08094424
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, #0
|
||||
adds r3, r6, #0
|
||||
adds r3, #0x82
|
||||
movs r1, #0
|
||||
ldrsh r0, [r3, r1]
|
||||
cmp r0, #0
|
||||
bge _08094452
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x80
|
||||
movs r0, #0x24
|
||||
ldrsh r2, [r6, r0]
|
||||
ldr r0, [r1]
|
||||
adds r0, r0, r2
|
||||
str r0, [r1]
|
||||
movs r2, #0
|
||||
ldrsh r0, [r3, r2]
|
||||
rsbs r0, r0, #0
|
||||
mov r8, r0
|
||||
adds r5, r1, #0
|
||||
b _08094466
|
||||
_08094452:
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x80
|
||||
movs r1, #0x24
|
||||
ldrsh r2, [r6, r1]
|
||||
ldr r1, [r0]
|
||||
subs r1, r1, r2
|
||||
str r1, [r0]
|
||||
ldrh r3, [r3]
|
||||
mov r8, r3
|
||||
adds r5, r0, #0
|
||||
_08094466:
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x86
|
||||
movs r2, #0
|
||||
ldrsh r1, [r0, r2]
|
||||
adds r4, r0, #0
|
||||
cmp r1, #0
|
||||
bge _0809448C
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x84
|
||||
movs r0, #0x24
|
||||
ldrsh r2, [r6, r0]
|
||||
ldr r0, [r1]
|
||||
adds r0, r0, r2
|
||||
str r0, [r1]
|
||||
movs r2, #0
|
||||
ldrsh r0, [r4, r2]
|
||||
rsbs r7, r0, #0
|
||||
adds r3, r1, #0
|
||||
b _0809449E
|
||||
_0809448C:
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x84
|
||||
movs r1, #0x24
|
||||
ldrsh r2, [r6, r1]
|
||||
ldr r1, [r0]
|
||||
subs r1, r1, r2
|
||||
str r1, [r0]
|
||||
ldrh r7, [r4]
|
||||
adds r3, r0, #0
|
||||
_0809449E:
|
||||
ldrh r2, [r6, #0x24]
|
||||
movs r0, #0x24
|
||||
ldrsh r1, [r6, r0]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #6
|
||||
cmp r1, r0
|
||||
ble _080944B2
|
||||
ldr r1, _080944D0 @ =0xFFFFFF00
|
||||
adds r0, r2, r1
|
||||
strh r0, [r6, #0x24]
|
||||
_080944B2:
|
||||
ldr r0, [r6, #0x7c]
|
||||
subs r0, #1
|
||||
str r0, [r6, #0x7c]
|
||||
movs r1, #1
|
||||
rsbs r1, r1, #0
|
||||
cmp r0, r1
|
||||
bne _080944D4
|
||||
movs r0, #0
|
||||
strh r0, [r5]
|
||||
strh r0, [r3]
|
||||
movs r0, #3
|
||||
strb r0, [r6, #0xc]
|
||||
movs r0, #0x78
|
||||
str r0, [r6, #0x7c]
|
||||
b _08094500
|
||||
.align 2, 0
|
||||
_080944D0: .4byte 0xFFFFFF00
|
||||
_080944D4:
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x82
|
||||
movs r2, #0
|
||||
ldrsh r1, [r5, r2]
|
||||
ldrb r3, [r6, #0xe]
|
||||
adds r0, r6, #0
|
||||
movs r2, #0x20
|
||||
bl sub_0806FCF4
|
||||
movs r0, #0
|
||||
ldrsh r1, [r4, r0]
|
||||
ldrb r3, [r6, #0xf]
|
||||
adds r0, r6, #0
|
||||
movs r2, #0x20
|
||||
bl sub_0806FCF4
|
||||
ldrh r1, [r5]
|
||||
ldrh r2, [r4]
|
||||
adds r0, r6, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
_08094500:
|
||||
ldr r5, [r6, #0x48]
|
||||
cmp r5, #0
|
||||
beq _08094538
|
||||
movs r4, #0x80
|
||||
lsls r4, r4, #9
|
||||
adds r0, r4, #0
|
||||
mov r1, r8
|
||||
bl __divsi3
|
||||
lsrs r0, r0, #3
|
||||
strb r0, [r5, #6]
|
||||
ldr r5, [r6, #0x48]
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
bl __divsi3
|
||||
lsrs r0, r0, #3
|
||||
strb r0, [r5, #7]
|
||||
ldr r1, [r6, #0x48]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x62
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
ldr r1, [r6, #0x48]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x63
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1, #1]
|
||||
_08094538:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08094540
|
||||
sub_08094540: @ 0x08094540
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
ldr r0, [r3, #0x7c]
|
||||
subs r0, #1
|
||||
str r0, [r3, #0x7c]
|
||||
movs r1, #1
|
||||
rsbs r1, r1, #0
|
||||
cmp r0, r1
|
||||
bne _0809455A
|
||||
movs r0, #4
|
||||
strb r0, [r3, #0xc]
|
||||
movs r0, #2
|
||||
str r0, [r3, #0x7c]
|
||||
_0809455A:
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x82
|
||||
ldrh r1, [r0]
|
||||
adds r0, #4
|
||||
ldrh r2, [r0]
|
||||
adds r0, r3, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08094570
|
||||
sub_08094570: @ 0x08094570
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, #0
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x82
|
||||
ldrh r1, [r2]
|
||||
lsls r3, r1, #0x10
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
beq _08094590
|
||||
asrs r3, r3, #0x10
|
||||
ldr r0, _080945B0 @ =0xFFFFFF00
|
||||
cmp r3, r0
|
||||
bne _080945BA
|
||||
_08094590:
|
||||
ldr r1, [r6, #0x7c]
|
||||
cmp r1, #0
|
||||
bne _080945B4
|
||||
ldr r0, [r6, #0x50]
|
||||
adds r0, #0x7c
|
||||
strh r1, [r0]
|
||||
ldr r0, [r6, #0x50]
|
||||
adds r0, #0x79
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08094622
|
||||
bl DeleteThisEntity
|
||||
b _08094622
|
||||
.align 2, 0
|
||||
_080945B0: .4byte 0xFFFFFF00
|
||||
_080945B4:
|
||||
subs r0, r1, #1
|
||||
str r0, [r6, #0x7c]
|
||||
b _08094622
|
||||
_080945BA:
|
||||
cmp r3, #0
|
||||
bge _080945CC
|
||||
subs r0, r1, #1
|
||||
strh r0, [r2]
|
||||
movs r1, #0
|
||||
ldrsh r0, [r2, r1]
|
||||
rsbs r0, r0, #0
|
||||
mov r8, r0
|
||||
b _080945D4
|
||||
_080945CC:
|
||||
adds r0, r1, #1
|
||||
strh r0, [r2]
|
||||
ldrh r2, [r2]
|
||||
mov r8, r2
|
||||
_080945D4:
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x86
|
||||
ldrh r2, [r0]
|
||||
movs r3, #0
|
||||
ldrsh r1, [r0, r3]
|
||||
adds r4, r0, #0
|
||||
cmp r1, #0
|
||||
bge _080945F0
|
||||
subs r0, r2, #1
|
||||
strh r0, [r4]
|
||||
movs r1, #0
|
||||
ldrsh r0, [r4, r1]
|
||||
rsbs r7, r0, #0
|
||||
b _080945F6
|
||||
_080945F0:
|
||||
adds r0, r2, #1
|
||||
strh r0, [r4]
|
||||
ldrh r7, [r4]
|
||||
_080945F6:
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x82
|
||||
movs r3, #0
|
||||
ldrsh r1, [r5, r3]
|
||||
ldrb r3, [r6, #0xe]
|
||||
adds r0, r6, #0
|
||||
movs r2, #0x20
|
||||
bl sub_0806FCF4
|
||||
movs r0, #0
|
||||
ldrsh r1, [r4, r0]
|
||||
ldrb r3, [r6, #0xf]
|
||||
adds r0, r6, #0
|
||||
movs r2, #0x20
|
||||
bl sub_0806FCF4
|
||||
ldrh r1, [r5]
|
||||
ldrh r2, [r4]
|
||||
adds r0, r6, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
_08094622:
|
||||
ldr r5, [r6, #0x48]
|
||||
cmp r5, #0
|
||||
beq _0809465A
|
||||
movs r4, #0x80
|
||||
lsls r4, r4, #9
|
||||
adds r0, r4, #0
|
||||
mov r1, r8
|
||||
bl __divsi3
|
||||
lsrs r0, r0, #3
|
||||
strb r0, [r5, #6]
|
||||
ldr r5, [r6, #0x48]
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
bl __divsi3
|
||||
lsrs r0, r0, #3
|
||||
strb r0, [r5, #7]
|
||||
ldr r1, [r6, #0x48]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x62
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
ldr r1, [r6, #0x48]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x63
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1, #1]
|
||||
_0809465A:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_08094660
|
||||
sub_08094660: @ 0x08094660
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r6, r0, #0
|
||||
ldr r0, [r6, #0x50]
|
||||
adds r0, #0x62
|
||||
movs r7, #0
|
||||
ldrsb r7, [r0, r7]
|
||||
cmp r7, #0
|
||||
bge _08094678
|
||||
rsbs r7, r7, #0
|
||||
_08094678:
|
||||
lsls r7, r7, #1
|
||||
adds r0, r7, #0
|
||||
cmp r7, #0
|
||||
bge _08094682
|
||||
adds r0, #0xf
|
||||
_08094682:
|
||||
asrs r1, r0, #4
|
||||
ldr r0, [r6, #0x74]
|
||||
cmp r0, r1
|
||||
bhs _08094700
|
||||
str r1, [r6, #0x74]
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r6, r1]
|
||||
subs r0, r0, r7
|
||||
adds r4, r0, #0
|
||||
subs r4, #0x40
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r6, r1]
|
||||
subs r0, r0, r7
|
||||
adds r5, r0, #0
|
||||
subs r5, #0x40
|
||||
movs r0, #0x10
|
||||
mov sb, r0
|
||||
str r0, [r6, #0x78]
|
||||
movs r1, #0
|
||||
mov r8, r1
|
||||
str r1, [r6, #0x7c]
|
||||
adds r0, r6, #0
|
||||
adds r1, r4, #0
|
||||
adds r2, r5, #0
|
||||
bl sub_08094708
|
||||
mov r0, r8
|
||||
str r0, [r6, #0x78]
|
||||
mov r1, sb
|
||||
str r1, [r6, #0x7c]
|
||||
adds r0, r6, #0
|
||||
adds r1, r4, #0
|
||||
adds r2, r5, #0
|
||||
bl sub_08094708
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r6, r1]
|
||||
adds r0, r0, r7
|
||||
adds r4, r0, #0
|
||||
adds r4, #0x30
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r6, r1]
|
||||
adds r0, r0, r7
|
||||
adds r5, r0, #0
|
||||
adds r5, #0x30
|
||||
movs r7, #0x10
|
||||
rsbs r7, r7, #0
|
||||
str r7, [r6, #0x78]
|
||||
mov r0, r8
|
||||
str r0, [r6, #0x7c]
|
||||
adds r0, r6, #0
|
||||
adds r1, r4, #0
|
||||
adds r2, r5, #0
|
||||
bl sub_08094708
|
||||
mov r1, r8
|
||||
str r1, [r6, #0x78]
|
||||
str r7, [r6, #0x7c]
|
||||
adds r0, r6, #0
|
||||
adds r1, r4, #0
|
||||
adds r2, r5, #0
|
||||
bl sub_08094708
|
||||
_08094700:
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_08094708
|
||||
sub_08094708: @ 0x08094708
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #8
|
||||
adds r7, r0, #0
|
||||
adds r6, r1, #0
|
||||
adds r5, r2, #0
|
||||
ldr r0, [r7, #0x74]
|
||||
lsls r0, r0, #1
|
||||
adds r4, r0, #0
|
||||
adds r4, #8
|
||||
cmp r4, #0
|
||||
beq _08094752
|
||||
ldr r3, _08094758 @ =gRoomControls
|
||||
movs r2, #0x3f
|
||||
_08094722:
|
||||
ldrh r0, [r3, #6]
|
||||
subs r0, r6, r0
|
||||
lsrs r0, r0, #4
|
||||
ands r0, r2
|
||||
ldrh r1, [r3, #8]
|
||||
subs r1, r5, r1
|
||||
lsrs r1, r1, #4
|
||||
ands r1, r2
|
||||
lsls r1, r1, #6
|
||||
orrs r0, r1
|
||||
movs r1, #2
|
||||
str r2, [sp]
|
||||
str r3, [sp, #4]
|
||||
bl sub_0807BA8C
|
||||
ldr r0, [r7, #0x78]
|
||||
adds r6, r6, r0
|
||||
ldr r0, [r7, #0x7c]
|
||||
adds r5, r5, r0
|
||||
subs r4, #1
|
||||
ldr r2, [sp]
|
||||
ldr r3, [sp, #4]
|
||||
cmp r4, #0
|
||||
bne _08094722
|
||||
_08094752:
|
||||
add sp, #8
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08094758: .4byte gRoomControls
|
||||
@@ -43995,16 +43995,6 @@
|
||||
"size": 28,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "object67/gUnk_081229D0.bin",
|
||||
"start": 1190352,
|
||||
"size": 32
|
||||
},
|
||||
{
|
||||
"path": "object67/gUnk_081229F0.bin",
|
||||
"start": 1190384,
|
||||
"size": 32
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Object6A_10_0.bin",
|
||||
"start": 1190732,
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_081229BC:: @ 081229BC
|
||||
.4byte sub_08094148
|
||||
.4byte sub_08094398
|
||||
.4byte sub_08094424
|
||||
.4byte sub_08094540
|
||||
.4byte sub_08094570
|
||||
|
||||
gUnk_081229D0:: @ 081229D0
|
||||
.incbin "object67/gUnk_081229D0.bin"
|
||||
|
||||
gUnk_081229F0:: @ 081229F0
|
||||
.incbin "object67/gUnk_081229F0.bin"
|
||||
@@ -727,7 +727,7 @@ SECTIONS {
|
||||
src/object/object64.o(.text);
|
||||
src/object/ladderHoleInBookshelf.o(.text);
|
||||
src/object/object66.o(.text);
|
||||
asm/object/object67.o(.text);
|
||||
src/object/object67.o(.text);
|
||||
src/object/object68.o(.text);
|
||||
src/object/object69.o(.text);
|
||||
src/object/object6A.o(.text);
|
||||
@@ -1468,7 +1468,7 @@ SECTIONS {
|
||||
src/object/object64.o(.rodata);
|
||||
data/animations/object/object64.o(.rodata);
|
||||
src/object/ladderHoleInBookshelf.o(.rodata);
|
||||
data/const/object/object67.o(.rodata);
|
||||
src/object/object67.o(.rodata);
|
||||
src/object/object68.o(.rodata);
|
||||
src/object/object6A.o(.rodata);
|
||||
data/const/object/object6A.o(.rodata);
|
||||
|
||||
@@ -0,0 +1,338 @@
|
||||
#define NENT_DEPRECATED
|
||||
#include "entity.h"
|
||||
#include "room.h"
|
||||
#include "player.h"
|
||||
#include "asm.h"
|
||||
#include "functions.h"
|
||||
#include "object.h"
|
||||
#include "effects.h"
|
||||
|
||||
typedef struct {
|
||||
Entity base;
|
||||
u8 filler[0xC];
|
||||
u32 unk74;
|
||||
u32 unk78;
|
||||
u32 unk7c;
|
||||
union SplitWord unk80;
|
||||
union SplitWord unk84;
|
||||
} Object67Entity;
|
||||
|
||||
extern Hitbox gUnk_080FD2E8;
|
||||
|
||||
void sub_08094148(Object67Entity*);
|
||||
void sub_08094398(Object67Entity*);
|
||||
void sub_08094424(Object67Entity*);
|
||||
void sub_08094540(Object67Entity*);
|
||||
void sub_08094570(Object67Entity*);
|
||||
void sub_08094660(Object67Entity*);
|
||||
void sub_08094708(Object67Entity*, u32, u32);
|
||||
|
||||
extern bool32 AllocMutableHitbox(Entity*);
|
||||
|
||||
void Object67(Entity* this) {
|
||||
static void (*const actionFuncs[])(Object67Entity*) = {
|
||||
sub_08094148, sub_08094398, sub_08094424, sub_08094540, sub_08094570,
|
||||
};
|
||||
|
||||
actionFuncs[this->action]((Object67Entity*)this);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
u8 unk0;
|
||||
u8 direction;
|
||||
s8 x;
|
||||
s8 y;
|
||||
} gUnk_081229D0_struct;
|
||||
|
||||
typedef struct {
|
||||
s8 x;
|
||||
s8 y;
|
||||
u8 actionDelay;
|
||||
u8 unk3;
|
||||
u8 unk4;
|
||||
u8 filler[3];
|
||||
} gUnk_081229F0_struct;
|
||||
|
||||
void sub_08094148(Object67Entity* this) {
|
||||
static const gUnk_081229D0_struct gUnk_081229D0[] = {
|
||||
{ 0, 12, 8, 8 }, { 0x40, 0x14, -8, 8 }, { 0x80, 4, 8, -8 }, { 0xC0, 0x1C, -8, -8 },
|
||||
{ 0, 12, 0, 0 }, { 0x40, 0x14, 0, 0 }, { 0x80, 4, 0, 0 }, { 0xC0, 0x1C, -0, 0 },
|
||||
};
|
||||
static const gUnk_081229F0_struct gUnk_081229F0[] = {
|
||||
{ -32, -40, 1, 2, 0, { 0 } },
|
||||
{ 0x1f, -40, 3, 2, 0x40, { 0 } },
|
||||
{ -32, 0x17, 1, 0, 0x80, { 0 } },
|
||||
{ 0x1f, 0x17, 3, 0, 0xC0, { 0 } },
|
||||
};
|
||||
const gUnk_081229F0_struct* ptr;
|
||||
|
||||
switch (super->type) {
|
||||
case 2:
|
||||
if (super->subAction == 0) {
|
||||
super->subAction = 1;
|
||||
this->unk78 = 0x168;
|
||||
gRoomControls.camera_target = super;
|
||||
} else {
|
||||
if (--this->unk78 == -1) {
|
||||
gRoomControls.camera_target = &gPlayerEntity;
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
sub_08078B48();
|
||||
return;
|
||||
case 0:
|
||||
super->direction = gUnk_081229D0[super->type2].direction;
|
||||
super->x.HALF.HI += gUnk_081229D0[super->type2].x;
|
||||
super->y.HALF.HI += gUnk_081229D0[super->type2].y;
|
||||
if ((gUnk_081229D0[super->type2].unk0 & 0x40) != 0) {
|
||||
super->spriteSettings.flipX = 1;
|
||||
}
|
||||
if ((gUnk_081229D0[super->type2].unk0 & 0x80) != 0) {
|
||||
super->spriteSettings.flipY = 1;
|
||||
}
|
||||
if (super->type2 < 4) {
|
||||
super->zVelocity = (Random() & 0x1ffff) | 0x28000;
|
||||
super->speed = 0x100;
|
||||
InitializeAnimation(super, 0x56);
|
||||
} else {
|
||||
super->zVelocity = 0x28000;
|
||||
super->speed = 0x100;
|
||||
super->direction = (Random() & 3) | super->direction;
|
||||
InitializeAnimation(super, 0x57);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (super->type2 == 0) {
|
||||
super->child = CreateObjectWithParent(super, OBJECT_67, 1, 0x80);
|
||||
if (super->child != NULL) {
|
||||
super->child->child = super->parent;
|
||||
}
|
||||
}
|
||||
|
||||
switch (super->type2) {
|
||||
default:
|
||||
super->frameIndex = 75;
|
||||
super->spriteRendering.alphaBlend = 1;
|
||||
super->speed = 0x7000;
|
||||
super->spriteRendering.b3 = 3;
|
||||
super->spritePriority.b0 = 7;
|
||||
super->spriteRendering.b0 = 3;
|
||||
ptr = gUnk_081229F0 + super->type2;
|
||||
super->x.HALF.HI = ptr->x + super->x.HALF.HI;
|
||||
super->y.HALF.HI = ptr->y + super->y.HALF.HI;
|
||||
super->actionDelay = ptr->actionDelay;
|
||||
super->field_0xf = ptr->unk3;
|
||||
this->unk7c = 0xce;
|
||||
this->unk74 = 0;
|
||||
if ((ptr->unk4 & 0x40) != 0) {
|
||||
this->unk80.HALF.HI = 0xff00;
|
||||
} else {
|
||||
this->unk80.HALF.HI = 0x100;
|
||||
}
|
||||
if ((ptr->unk4 & 0x80) != 0) {
|
||||
this->unk84.HALF.HI = 0xff00;
|
||||
} else {
|
||||
this->unk84.HALF.HI = 0x100;
|
||||
}
|
||||
|
||||
if (AllocMutableHitbox(super)) {
|
||||
super->hitbox->offset_x = gUnk_080FD2E8.offset_x;
|
||||
super->hitbox->offset_y = gUnk_080FD2E8.offset_y;
|
||||
super->hitbox->unk2[0] = gUnk_080FD2E8.unk2[0];
|
||||
super->hitbox->unk2[1] = gUnk_080FD2E8.unk2[1];
|
||||
super->hitbox->unk2[2] = gUnk_080FD2E8.unk2[2];
|
||||
super->hitbox->unk2[3] = gUnk_080FD2E8.unk2[3];
|
||||
super->hitbox->width = gUnk_080FD2E8.width;
|
||||
super->hitbox->height = gUnk_080FD2E8.height;
|
||||
COLLISION_ON(super);
|
||||
super->collisionLayer = 2;
|
||||
super->field_0x3c = 7;
|
||||
super->hurtType = 0x48;
|
||||
super->hitType = 0x7a;
|
||||
super->flags2 = 1;
|
||||
}
|
||||
break;
|
||||
case 0x80:
|
||||
super->spriteSettings.draw = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
super->action = 1;
|
||||
sub_08094398(this);
|
||||
}
|
||||
|
||||
void sub_08094398(Object67Entity* this) {
|
||||
switch (super->type) {
|
||||
case 0:
|
||||
GetNextFrame(super);
|
||||
LinearMoveUpdate(super);
|
||||
if (GravityUpdate(super, 0x4000) == 0) {
|
||||
if (super->type2 < 4) {
|
||||
CreateFx(super, FX_LAVA_SPLASH, 0);
|
||||
}
|
||||
DeleteThisEntity();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (super->type2 != 0x80) {
|
||||
if (--this->unk7c == -1) {
|
||||
this->unk7c = 600;
|
||||
super->action = 2;
|
||||
}
|
||||
sub_0805EC9C(super, this->unk80.HALF_U.HI, this->unk84.HALF_U.HI, 0);
|
||||
} else {
|
||||
if ((((GenericEntity*)super->child)->field_0x78.HALF.HI & 0x80) == 0) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
sub_08094660(this);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08094424(Object67Entity* this) {
|
||||
u32 uVar2;
|
||||
u32 uVar5;
|
||||
|
||||
if (this->unk80.HALF.HI < 0) {
|
||||
this->unk80.WORD += (int)super->speed;
|
||||
uVar2 = -this->unk80.HALF.HI;
|
||||
} else {
|
||||
this->unk80.WORD -= (int)super->speed;
|
||||
uVar2 = this->unk80.HALF_U.HI;
|
||||
}
|
||||
|
||||
if (this->unk84.HALF.HI < 0) {
|
||||
this->unk84.WORD += (int)super->speed;
|
||||
uVar5 = -this->unk84.HALF.HI;
|
||||
} else {
|
||||
this->unk84.WORD -= (int)super->speed;
|
||||
uVar5 = this->unk84.HALF_U.HI;
|
||||
}
|
||||
|
||||
if (0x2000 < super->speed) {
|
||||
super->speed -= 0x100;
|
||||
}
|
||||
|
||||
if (--this->unk7c == -1) {
|
||||
this->unk80.HALF.LO = 0;
|
||||
this->unk84.HALF.LO = 0;
|
||||
super->action = 3;
|
||||
this->unk7c = 0x78;
|
||||
} else {
|
||||
sub_0806FCF4(super, this->unk80.HALF.HI, 0x20, super->actionDelay);
|
||||
sub_0806FCF4(super, this->unk84.HALF.HI, 0x20, super->field_0xf);
|
||||
sub_0805EC9C(super, this->unk80.HALF_U.HI, this->unk84.HALF_U.HI, 0);
|
||||
}
|
||||
|
||||
if (super->hitbox != NULL) {
|
||||
super->hitbox->width = (u32)(0x10000 / (s32)uVar2) >> 3;
|
||||
super->hitbox = super->hitbox;
|
||||
super->hitbox->height = (u32)(0x10000 / (s32)uVar5) >> 3;
|
||||
super->hitbox->offset_x = super->spriteOffsetX;
|
||||
super->hitbox->offset_y = super->spriteOffsetY;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08094540(Object67Entity* this) {
|
||||
if (--this->unk7c == -1) {
|
||||
super->action = 4;
|
||||
this->unk7c = 2;
|
||||
}
|
||||
sub_0805EC9C(super, this->unk80.HALF_U.HI, this->unk84.HALF_U.HI, 0);
|
||||
}
|
||||
|
||||
void sub_08094570(Object67Entity* this) {
|
||||
u32 uVar2;
|
||||
u32 uVar3;
|
||||
|
||||
if ((this->unk80.HALF_U.HI == 0x100) || (this->unk80.HALF.HI == -0x100)) {
|
||||
if (this->unk7c == 0) {
|
||||
((GenericEntity*)super->parent)->field_0x7c.HALF.LO = 0;
|
||||
if ((((GenericEntity*)super->parent)->field_0x78.HALF.HI & 0x80) == 0) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
} else {
|
||||
this->unk7c--;
|
||||
}
|
||||
} else {
|
||||
if (this->unk80.HALF.HI < 0) {
|
||||
this->unk80.HALF.HI--;
|
||||
uVar2 = -this->unk80.HALF.HI;
|
||||
} else {
|
||||
this->unk80.HALF.HI++;
|
||||
uVar2 = this->unk80.HALF_U.HI;
|
||||
}
|
||||
|
||||
if (this->unk84.HALF.HI < 0) {
|
||||
this->unk84.HALF.HI = this->unk84.HALF.HI + -1;
|
||||
uVar3 = -this->unk84.HALF.HI;
|
||||
} else {
|
||||
this->unk84.HALF.HI = this->unk84.HALF.HI + 1;
|
||||
uVar3 = this->unk84.HALF_U.HI;
|
||||
}
|
||||
sub_0806FCF4(super, this->unk80.HALF.HI, 0x20, super->actionDelay);
|
||||
sub_0806FCF4(super, this->unk84.HALF.HI, 0x20, super->field_0xf);
|
||||
sub_0805EC9C(super, this->unk80.HALF_U.HI, this->unk84.HALF_U.HI, 0);
|
||||
}
|
||||
|
||||
if (super->hitbox != NULL) {
|
||||
super->hitbox->width = (u32)(0x10000 / (s32)uVar2) >> 3;
|
||||
super->hitbox->height = (u32)(0x10000 / (s32)uVar3) >> 3;
|
||||
super->hitbox->offset_x = super->spriteOffsetX;
|
||||
super->hitbox->offset_y = super->spriteOffsetY;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08094660(Object67Entity* this) {
|
||||
int iVar1;
|
||||
int spriteOffsetX;
|
||||
int iVar3;
|
||||
int iVar4;
|
||||
int iVar5;
|
||||
|
||||
spriteOffsetX = (s8)super->parent->spriteOffsetX;
|
||||
if (spriteOffsetX < 0) {
|
||||
spriteOffsetX = -spriteOffsetX;
|
||||
}
|
||||
|
||||
spriteOffsetX = spriteOffsetX * 2;
|
||||
if (spriteOffsetX < 0) {
|
||||
iVar5 = spriteOffsetX + 0xf;
|
||||
} else {
|
||||
iVar5 = spriteOffsetX;
|
||||
}
|
||||
|
||||
iVar1 = iVar5 >> 4;
|
||||
if (this->unk74 < iVar1) {
|
||||
this->unk74 = iVar1;
|
||||
iVar3 = super->x.HALF.HI - spriteOffsetX - 0x40;
|
||||
iVar4 = super->y.HALF.HI - spriteOffsetX - 0x40;
|
||||
this->unk78 = 0x10;
|
||||
this->unk7c = 0;
|
||||
sub_08094708(this, iVar3, iVar4);
|
||||
this->unk78 = 0;
|
||||
this->unk7c = 0x10;
|
||||
sub_08094708(this, iVar3, iVar4);
|
||||
iVar3 = super->x.HALF.HI + spriteOffsetX + 0x30;
|
||||
iVar4 = super->y.HALF.HI + spriteOffsetX + 0x30;
|
||||
this->unk78 = 0xfffffff0;
|
||||
this->unk7c = 0;
|
||||
sub_08094708(this, iVar3, iVar4);
|
||||
this->unk78 = 0;
|
||||
this->unk7c = 0xfffffff0;
|
||||
sub_08094708(this, iVar3, iVar4);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08094708(Object67Entity* this, u32 param_2, u32 param_3) {
|
||||
int index;
|
||||
|
||||
for (index = this->unk74 * 2 + 8; index != 0; index--) {
|
||||
sub_0807BA8C(TILE(param_2, param_3), 2);
|
||||
param_2 = param_2 + this->unk78;
|
||||
param_3 = param_3 + this->unk7c;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user