mirror of https://github.com/zeldaret/tmc.git
rupeeLike.c OK
This commit is contained in:
parent
f4320b6fcd
commit
2d286c0b34
|
@ -237,7 +237,7 @@ sub_08030338: @ 0x08030338
|
||||||
_0803034C:
|
_0803034C:
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
movs r1, #3
|
movs r1, #3
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
adds r0, #0x84
|
adds r0, #0x84
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
|
|
|
@ -68,7 +68,7 @@ _08001230:
|
||||||
beq _0800123E
|
beq _0800123E
|
||||||
strb r1, [r0, #0xe]
|
strb r1, [r0, #0xe]
|
||||||
movs r1, #4
|
movs r1, #4
|
||||||
ldr r3, _0800135C @ =InitializeAnimationAnimation
|
ldr r3, _0800135C @ =UpdateAnimationVariableFrames
|
||||||
bx r3
|
bx r3
|
||||||
_0800123E:
|
_0800123E:
|
||||||
ldr r3, _08001360 @ =sub_080043B4
|
ldr r3, _08001360 @ =sub_080043B4
|
||||||
|
@ -238,7 +238,7 @@ _08001352:
|
||||||
bx lr
|
bx lr
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08001358: .4byte gEnemyFunctions
|
_08001358: .4byte gEnemyFunctions
|
||||||
_0800135C: .4byte InitializeAnimationAnimation
|
_0800135C: .4byte UpdateAnimationVariableFrames
|
||||||
_08001360: .4byte sub_080043B4
|
_08001360: .4byte sub_080043B4
|
||||||
_08001364: .4byte 0x00001800
|
_08001364: .4byte 0x00001800
|
||||||
_08001368: .4byte gUnk_080012C8
|
_08001368: .4byte gUnk_080012C8
|
||||||
|
|
|
@ -431,8 +431,8 @@ InitializeAnimation: @ 0x08004260
|
||||||
GetNextFrame: @ 0x08004274
|
GetNextFrame: @ 0x08004274
|
||||||
movs r1, #1
|
movs r1, #1
|
||||||
|
|
||||||
non_word_aligned_thumb_func_start InitializeAnimationAnimation
|
non_word_aligned_thumb_func_start UpdateAnimationVariableFrames
|
||||||
InitializeAnimationAnimation: @ 0x08004276
|
UpdateAnimationVariableFrames: @ 0x08004276
|
||||||
movs r3, #0x59
|
movs r3, #0x59
|
||||||
ldrb r2, [r0, r3]
|
ldrb r2, [r0, r3]
|
||||||
subs r2, r2, r1
|
subs r2, r2, r1
|
||||||
|
@ -478,7 +478,7 @@ UpdateAnimationSingleFrame: @ 0x080042B8
|
||||||
non_word_aligned_thumb_func_start sub_080042BA
|
non_word_aligned_thumb_func_start sub_080042BA
|
||||||
sub_080042BA: @ 0x080042BA
|
sub_080042BA: @ 0x080042BA
|
||||||
push {lr}
|
push {lr}
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
_080042C0:
|
_080042C0:
|
||||||
pop {r1}
|
pop {r1}
|
||||||
mov lr, r1
|
mov lr, r1
|
||||||
|
|
|
@ -97,8 +97,8 @@ InitializeAnimation: @ 0x08004260
|
||||||
GetNextFrame: @ 0x08004274
|
GetNextFrame: @ 0x08004274
|
||||||
movs r1, #1
|
movs r1, #1
|
||||||
|
|
||||||
non_word_aligned_thumb_func_start InitializeAnimationAnimation
|
non_word_aligned_thumb_func_start UpdateAnimationVariableFrames
|
||||||
InitializeAnimationAnimation: @ 0x08004276
|
UpdateAnimationVariableFrames: @ 0x08004276
|
||||||
movs r3, #0x59
|
movs r3, #0x59
|
||||||
ldrb r2, [r0, r3]
|
ldrb r2, [r0, r3]
|
||||||
subs r2, r2, r1
|
subs r2, r2, r1
|
||||||
|
@ -144,7 +144,7 @@ UpdateAnimationSingleFrame: @ 0x080042B8
|
||||||
non_word_aligned_thumb_func_start sub_080042BA
|
non_word_aligned_thumb_func_start sub_080042BA
|
||||||
sub_080042BA: @ 0x080042BA
|
sub_080042BA: @ 0x080042BA
|
||||||
push {lr}
|
push {lr}
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
_080042C0:
|
_080042C0:
|
||||||
pop {r1}
|
pop {r1}
|
||||||
mov lr, r1
|
mov lr, r1
|
||||||
|
|
|
@ -671,7 +671,7 @@ SetSpriteSubEntryOffsetData1: @ 0x0806FF88
|
||||||
adds r4, r4, r2
|
adds r4, r4, r2
|
||||||
ldrh r0, [r5, #2]
|
ldrh r0, [r5, #2]
|
||||||
ldrb r1, [r5, #1]
|
ldrb r1, [r5, #1]
|
||||||
bl sub_080700C8
|
bl GetSpriteSubEntryOffsetDataPointer
|
||||||
ldrb r1, [r5, #6]
|
ldrb r1, [r5, #6]
|
||||||
ldrb r2, [r0]
|
ldrb r2, [r0]
|
||||||
adds r1, r1, r2
|
adds r1, r1, r2
|
||||||
|
@ -715,7 +715,7 @@ SetSpriteSubEntryOffsetData2: @ 0x0806FFD8
|
||||||
adds r4, r4, r2
|
adds r4, r4, r2
|
||||||
ldrh r0, [r5, #2]
|
ldrh r0, [r5, #2]
|
||||||
ldrb r1, [r5, #1]
|
ldrb r1, [r5, #1]
|
||||||
bl sub_080700C8
|
bl GetSpriteSubEntryOffsetDataPointer
|
||||||
ldrb r1, [r5, #6]
|
ldrb r1, [r5, #6]
|
||||||
ldrb r2, [r0, #2]
|
ldrb r2, [r0, #2]
|
||||||
adds r1, r1, r2
|
adds r1, r1, r2
|
||||||
|
@ -826,8 +826,8 @@ _080700C4:
|
||||||
_080700C6:
|
_080700C6:
|
||||||
pop {pc}
|
pop {pc}
|
||||||
|
|
||||||
thumb_func_start sub_080700C8
|
thumb_func_start GetSpriteSubEntryOffsetDataPointer
|
||||||
sub_080700C8: @ 0x080700C8
|
GetSpriteSubEntryOffsetDataPointer: @ 0x080700C8
|
||||||
lsls r0, r0, #1
|
lsls r0, r0, #1
|
||||||
ldr r2, _080700E4 @ =gUnk_089FB780
|
ldr r2, _080700E4 @ =gUnk_089FB780
|
||||||
adds r0, r0, r2
|
adds r0, r0, r2
|
||||||
|
|
|
@ -1131,7 +1131,7 @@ sub_08070F50: @ 0x08070F50
|
||||||
bl PositionEntityOnTop
|
bl PositionEntityOnTop
|
||||||
ldrh r0, [r4, #0x12]
|
ldrh r0, [r4, #0x12]
|
||||||
ldrb r1, [r4, #0x1e]
|
ldrb r1, [r4, #0x1e]
|
||||||
bl sub_080700C8
|
bl GetSpriteSubEntryOffsetDataPointer
|
||||||
ldrb r1, [r0]
|
ldrb r1, [r0]
|
||||||
adds r2, r5, #0
|
adds r2, r5, #0
|
||||||
adds r2, #0x62
|
adds r2, #0x62
|
||||||
|
|
|
@ -9785,7 +9785,7 @@ _080AA052:
|
||||||
_080AA05E:
|
_080AA05E:
|
||||||
ldrh r0, [r5, #0x12]
|
ldrh r0, [r5, #0x12]
|
||||||
ldrb r1, [r5, #0x1e]
|
ldrb r1, [r5, #0x1e]
|
||||||
bl sub_080700C8
|
bl GetSpriteSubEntryOffsetDataPointer
|
||||||
adds r3, r0, #0
|
adds r3, r0, #0
|
||||||
ldrb r1, [r5, #0x14]
|
ldrb r1, [r5, #0x14]
|
||||||
movs r0, #4
|
movs r0, #4
|
||||||
|
@ -9989,7 +9989,7 @@ _080AA1EC:
|
||||||
bne _080AA26C
|
bne _080AA26C
|
||||||
ldrh r0, [r4, #0x12]
|
ldrh r0, [r4, #0x12]
|
||||||
ldrb r1, [r4, #0x1e]
|
ldrb r1, [r4, #0x1e]
|
||||||
bl sub_080700C8
|
bl GetSpriteSubEntryOffsetDataPointer
|
||||||
adds r3, r0, #0
|
adds r3, r0, #0
|
||||||
ldrb r1, [r4, #0x14]
|
ldrb r1, [r4, #0x14]
|
||||||
movs r0, #4
|
movs r0, #4
|
||||||
|
|
|
@ -391,7 +391,7 @@ _08048C6C:
|
||||||
bl InitializeAnimation
|
bl InitializeAnimation
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
movs r1, #7
|
movs r1, #7
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
adds r1, r6, #0
|
adds r1, r6, #0
|
||||||
ldrb r4, [r4, #0xa]
|
ldrb r4, [r4, #0xa]
|
||||||
lsls r1, r4
|
lsls r1, r4
|
||||||
|
@ -419,7 +419,7 @@ _08048CBC:
|
||||||
movs r1, #0x1c
|
movs r1, #0x1c
|
||||||
ands r1, r0
|
ands r1, r0
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
_08048CE4:
|
_08048CE4:
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
bl GetNextFrame
|
bl GetNextFrame
|
||||||
|
|
|
@ -238,7 +238,7 @@ sub_0802BD10: @ 0x0802BD10
|
||||||
ands r1, r2
|
ands r1, r2
|
||||||
strb r1, [r0, #0x10]
|
strb r1, [r0, #0x10]
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
pop {pc}
|
pop {pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
|
|
||||||
|
@ -380,7 +380,7 @@ sub_0802BE18: @ 0x0802BE18
|
||||||
push {r4, lr}
|
push {r4, lr}
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
ldrb r0, [r4, #0xe]
|
ldrb r0, [r4, #0xe]
|
||||||
subs r0, #1
|
subs r0, #1
|
||||||
strb r0, [r4, #0xe]
|
strb r0, [r4, #0xe]
|
||||||
|
|
|
@ -412,7 +412,7 @@ sub_0802805C: @ 0x0802805C
|
||||||
push {r4, r5, lr}
|
push {r4, r5, lr}
|
||||||
adds r5, r0, #0
|
adds r5, r0, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
bl sub_0807953C
|
bl sub_0807953C
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
beq _0802807E
|
beq _0802807E
|
||||||
|
@ -454,7 +454,7 @@ _0802809C:
|
||||||
bl PositionRelative
|
bl PositionRelative
|
||||||
ldrh r0, [r5, #0x12]
|
ldrh r0, [r5, #0x12]
|
||||||
ldrb r1, [r5, #0x1e]
|
ldrb r1, [r5, #0x1e]
|
||||||
bl sub_080700C8
|
bl GetSpriteSubEntryOffsetDataPointer
|
||||||
ldrb r1, [r0]
|
ldrb r1, [r0]
|
||||||
adds r2, r4, #0
|
adds r2, r4, #0
|
||||||
adds r2, #0x62
|
adds r2, #0x62
|
||||||
|
|
|
@ -23,7 +23,7 @@ Object29: @ 0x08089848
|
||||||
ands r1, r0
|
ands r1, r0
|
||||||
adds r1, #1
|
adds r1, #1
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
pop {r4, pc}
|
pop {r4, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08089870: .4byte gUnk_08120D90
|
_08089870: .4byte gUnk_08120D90
|
||||||
|
|
|
@ -2269,7 +2269,7 @@ _08095BAC:
|
||||||
strb r0, [r5, #0x18]
|
strb r0, [r5, #0x18]
|
||||||
ldrh r0, [r2, #0x12]
|
ldrh r0, [r2, #0x12]
|
||||||
ldrb r1, [r2, #0x1e]
|
ldrb r1, [r2, #0x1e]
|
||||||
bl sub_080700C8
|
bl GetSpriteSubEntryOffsetDataPointer
|
||||||
ldrb r1, [r0]
|
ldrb r1, [r0]
|
||||||
adds r2, r5, #0
|
adds r2, r5, #0
|
||||||
adds r2, #0x62
|
adds r2, #0x62
|
||||||
|
|
|
@ -256,7 +256,7 @@ _080A273C:
|
||||||
bl PositionEntityOnTop
|
bl PositionEntityOnTop
|
||||||
ldrh r0, [r4, #0x12]
|
ldrh r0, [r4, #0x12]
|
||||||
ldrb r1, [r4, #0x1e]
|
ldrb r1, [r4, #0x1e]
|
||||||
bl sub_080700C8
|
bl GetSpriteSubEntryOffsetDataPointer
|
||||||
ldrb r1, [r0]
|
ldrb r1, [r0]
|
||||||
adds r2, r5, #0
|
adds r2, r5, #0
|
||||||
adds r2, #0x62
|
adds r2, #0x62
|
||||||
|
|
|
@ -133,7 +133,7 @@ _08037D1C:
|
||||||
_08037D26:
|
_08037D26:
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
bl sub_080AEF88
|
bl sub_080AEF88
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
|
@ -158,7 +158,7 @@ sub_08037D54: @ 0x08037D54
|
||||||
push {r4, lr}
|
push {r4, lr}
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
adds r2, r4, #0
|
adds r2, r4, #0
|
||||||
adds r2, #0x5a
|
adds r2, #0x5a
|
||||||
ldrb r1, [r2]
|
ldrb r1, [r2]
|
||||||
|
|
|
@ -403,7 +403,7 @@ sub_08020220: @ 0x08020220
|
||||||
movs r1, #4
|
movs r1, #4
|
||||||
subs r1, r1, r0
|
subs r1, r1, r0
|
||||||
adds r0, r5, #0
|
adds r0, r5, #0
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
b _08020292
|
b _08020292
|
||||||
_0802024C:
|
_0802024C:
|
||||||
movs r0, #3
|
movs r0, #3
|
||||||
|
@ -437,7 +437,7 @@ _08020284:
|
||||||
_0802028A:
|
_0802028A:
|
||||||
adds r0, r5, #0
|
adds r0, r5, #0
|
||||||
movs r1, #4
|
movs r1, #4
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
_08020292:
|
_08020292:
|
||||||
pop {r4, r5, pc}
|
pop {r4, r5, pc}
|
||||||
|
|
||||||
|
@ -495,7 +495,7 @@ _080202F8:
|
||||||
_080202FE:
|
_080202FE:
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
movs r1, #4
|
movs r1, #4
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
pop {r4, pc}
|
pop {r4, pc}
|
||||||
|
|
||||||
thumb_func_start sub_08020308
|
thumb_func_start sub_08020308
|
||||||
|
@ -533,7 +533,7 @@ _08020340:
|
||||||
bl sub_080AEFE0
|
bl sub_080AEFE0
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
movs r1, #4
|
movs r1, #4
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
_0802034E:
|
_0802034E:
|
||||||
pop {r4, pc}
|
pop {r4, pc}
|
||||||
|
|
||||||
|
|
|
@ -324,7 +324,7 @@ sub_080315BC: @ 0x080315BC
|
||||||
strb r0, [r4, #0xe]
|
strb r0, [r4, #0xe]
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
b _080315FC
|
b _080315FC
|
||||||
_080315D4:
|
_080315D4:
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
|
|
|
@ -150,7 +150,7 @@ _080382B8: .4byte gLinkEntity
|
||||||
_080382BC:
|
_080382BC:
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
bl sub_080AEF88
|
bl sub_080AEF88
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
|
@ -192,7 +192,7 @@ sub_08038304: @ 0x08038304
|
||||||
push {r4, r5, r6, lr}
|
push {r4, r5, r6, lr}
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
bl sub_080AEF88
|
bl sub_080AEF88
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
|
|
754
asm/rupeeLike.s
754
asm/rupeeLike.s
|
@ -1,754 +0,0 @@
|
||||||
.include "asm/macros.inc"
|
|
||||||
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
|
|
||||||
thumb_func_start RupeeLike
|
|
||||||
RupeeLike: @ 0x080292A0
|
|
||||||
push {r4, r5, lr}
|
|
||||||
adds r5, r0, #0
|
|
||||||
ldrb r0, [r5, #0xb]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _080292F8
|
|
||||||
adds r0, r5, #0
|
|
||||||
bl sub_080043E8
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
lsrs r4, r0, #0x18
|
|
||||||
cmp r4, #0
|
|
||||||
beq _080292CE
|
|
||||||
ldrb r0, [r5, #0xc]
|
|
||||||
cmp r0, #4
|
|
||||||
bne _080292C4
|
|
||||||
adds r0, r5, #0
|
|
||||||
bl sub_080296D8
|
|
||||||
_080292C4:
|
|
||||||
adds r0, r5, #0
|
|
||||||
adds r1, r4, #0
|
|
||||||
bl sub_08001290
|
|
||||||
b _080292FE
|
|
||||||
_080292CE:
|
|
||||||
ldr r4, _080292F4 @ =gUnk_080CCC00
|
|
||||||
adds r0, r5, #0
|
|
||||||
bl GetNextFunction
|
|
||||||
lsls r0, r0, #2
|
|
||||||
adds r0, r0, r4
|
|
||||||
ldr r1, [r0]
|
|
||||||
adds r0, r5, #0
|
|
||||||
bl _call_via_r1
|
|
||||||
movs r3, #0x10
|
|
||||||
rsbs r3, r3, #0
|
|
||||||
adds r0, r5, #0
|
|
||||||
movs r1, #0
|
|
||||||
movs r2, #1
|
|
||||||
bl SetChildOffset
|
|
||||||
b _080292FE
|
|
||||||
.align 2, 0
|
|
||||||
_080292F4: .4byte gUnk_080CCC00
|
|
||||||
_080292F8:
|
|
||||||
adds r0, r5, #0
|
|
||||||
bl sub_080293DC
|
|
||||||
_080292FE:
|
|
||||||
pop {r4, r5, pc}
|
|
||||||
|
|
||||||
thumb_func_start sub_08029300
|
|
||||||
sub_08029300: @ 0x08029300
|
|
||||||
push {lr}
|
|
||||||
ldr r2, _08029314 @ =gUnk_080CCC18
|
|
||||||
ldrb r1, [r0, #0xc]
|
|
||||||
lsls r1, r1, #2
|
|
||||||
adds r1, r1, r2
|
|
||||||
ldr r1, [r1]
|
|
||||||
bl _call_via_r1
|
|
||||||
pop {pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08029314: .4byte gUnk_080CCC18
|
|
||||||
|
|
||||||
thumb_func_start sub_08029318
|
|
||||||
sub_08029318: @ 0x08029318
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
adds r0, #0x3f
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, #0x8e
|
|
||||||
bne _0802932C
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_08029770
|
|
||||||
b _080293A6
|
|
||||||
_0802932C:
|
|
||||||
ldrb r0, [r4, #0xc]
|
|
||||||
cmp r0, #4
|
|
||||||
bne _08029338
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_080296D8
|
|
||||||
_08029338:
|
|
||||||
ldr r0, [r4, #0x4c]
|
|
||||||
ldrb r0, [r0, #8]
|
|
||||||
cmp r0, #1
|
|
||||||
bne _08029394
|
|
||||||
ldrb r0, [r4, #0xc]
|
|
||||||
cmp r0, #2
|
|
||||||
bne _08029356
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #0
|
|
||||||
bl InitializeAnimation
|
|
||||||
ldr r0, [r4, #0x54]
|
|
||||||
movs r1, #4
|
|
||||||
bl InitializeAnimation
|
|
||||||
_08029356:
|
|
||||||
movs r1, #0
|
|
||||||
movs r0, #4
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
movs r0, #0x3c
|
|
||||||
strb r0, [r4, #0xe]
|
|
||||||
strb r1, [r4, #0xf]
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x83
|
|
||||||
movs r0, #0x41
|
|
||||||
strb r0, [r1]
|
|
||||||
adds r2, r4, #0
|
|
||||||
adds r2, #0x3b
|
|
||||||
ldrb r1, [r2]
|
|
||||||
movs r0, #0xfc
|
|
||||||
ands r0, r1
|
|
||||||
strb r0, [r2]
|
|
||||||
ldr r0, _08029390 @ =gLinkEntity
|
|
||||||
adds r0, #0x29
|
|
||||||
ldrb r0, [r0]
|
|
||||||
lsls r0, r0, #0x1a
|
|
||||||
lsrs r0, r0, #0x1d
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x80
|
|
||||||
strb r0, [r1]
|
|
||||||
movs r0, #0x82
|
|
||||||
lsls r0, r0, #1
|
|
||||||
bl sub_08004488
|
|
||||||
b _080293A6
|
|
||||||
.align 2, 0
|
|
||||||
_08029390: .4byte gLinkEntity
|
|
||||||
_08029394:
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x43
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080293A6
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #0x1c
|
|
||||||
bl sub_0804A9FC
|
|
||||||
_080293A6:
|
|
||||||
ldr r1, _080293B0 @ =gUnk_080CCC00
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_0804AA30
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_080293B0: .4byte gUnk_080CCC00
|
|
||||||
|
|
||||||
thumb_func_start sub_080293B4
|
|
||||||
sub_080293B4: @ 0x080293B4
|
|
||||||
push {lr}
|
|
||||||
ldr r3, _080293D4 @ =gUnk_080CCC34
|
|
||||||
adds r1, r0, #0
|
|
||||||
adds r1, #0x84
|
|
||||||
ldrb r2, [r1]
|
|
||||||
lsls r1, r2, #1
|
|
||||||
adds r1, r1, r2
|
|
||||||
ldrb r2, [r0, #0xa]
|
|
||||||
adds r1, r1, r2
|
|
||||||
adds r1, r1, r3
|
|
||||||
ldrb r2, [r1]
|
|
||||||
movs r1, #0xff
|
|
||||||
bl CreateDeathFx
|
|
||||||
pop {pc}
|
|
||||||
.align 2, 0
|
|
||||||
_080293D4: .4byte gUnk_080CCC34
|
|
||||||
|
|
||||||
thumb_func_start nullsub_141
|
|
||||||
nullsub_141: @ 0x080293D8
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start sub_080293DC
|
|
||||||
sub_080293DC: @ 0x080293DC
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
ldr r0, [r4, #0x50]
|
|
||||||
adds r1, r4, #0
|
|
||||||
bl CopyPositionAndSpriteOffset
|
|
||||||
ldrh r0, [r4, #0x32]
|
|
||||||
adds r0, #1
|
|
||||||
strh r0, [r4, #0x32]
|
|
||||||
ldrh r0, [r4, #0x36]
|
|
||||||
subs r0, #1
|
|
||||||
strh r0, [r4, #0x36]
|
|
||||||
ldr r1, _08029408 @ =gUnk_080CCC3C
|
|
||||||
ldrb r0, [r4, #0xc]
|
|
||||||
lsls r0, r0, #2
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldr r1, [r0]
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl _call_via_r1
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08029408: .4byte gUnk_080CCC3C
|
|
||||||
|
|
||||||
thumb_func_start sub_0802940C
|
|
||||||
sub_0802940C: @ 0x0802940C
|
|
||||||
push {r4, r5, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
ldrb r1, [r4, #0xa]
|
|
||||||
movs r0, #0x17
|
|
||||||
bl CreateEnemy
|
|
||||||
adds r5, r0, #0
|
|
||||||
cmp r5, #0
|
|
||||||
beq _0802944A
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_0804A720
|
|
||||||
str r4, [r5, #0x50]
|
|
||||||
movs r1, #0
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r5, #0xb]
|
|
||||||
str r5, [r4, #0x54]
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x81
|
|
||||||
strb r1, [r0]
|
|
||||||
adds r0, #3
|
|
||||||
strb r1, [r0]
|
|
||||||
ldrb r0, [r4, #0x1a]
|
|
||||||
lsls r0, r0, #0x1c
|
|
||||||
lsrs r0, r0, #0x1c
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x82
|
|
||||||
strb r0, [r1]
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_080297F0
|
|
||||||
_0802944A:
|
|
||||||
pop {r4, r5, pc}
|
|
||||||
|
|
||||||
thumb_func_start sub_0802944C
|
|
||||||
sub_0802944C: @ 0x0802944C
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
bl sub_080296C8
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x81
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08029470
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #1
|
|
||||||
bl sub_08049FDC
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08029470
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_08029770
|
|
||||||
_08029470:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start sub_08029474
|
|
||||||
sub_08029474: @ 0x08029474
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
bl sub_080296C8
|
|
||||||
adds r3, r4, #0
|
|
||||||
adds r3, #0x5a
|
|
||||||
ldrb r2, [r3]
|
|
||||||
movs r0, #0x80
|
|
||||||
ands r0, r2
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
lsrs r1, r0, #0x18
|
|
||||||
cmp r1, #0
|
|
||||||
beq _080294C0
|
|
||||||
movs r0, #3
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
movs r0, #8
|
|
||||||
strb r0, [r4, #0xe]
|
|
||||||
ldr r1, _080294BC @ =gLinkEntity
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl GetFacingDirection
|
|
||||||
strb r0, [r4, #0x15]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
lsrs r0, r0, #0x1c
|
|
||||||
strb r0, [r4, #0x14]
|
|
||||||
ldrb r1, [r4, #0x14]
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl InitializeAnimation
|
|
||||||
ldr r0, [r4, #0x54]
|
|
||||||
ldrb r1, [r4, #0x14]
|
|
||||||
adds r1, #4
|
|
||||||
bl InitializeAnimation
|
|
||||||
b _080294D2
|
|
||||||
.align 2, 0
|
|
||||||
_080294BC: .4byte gLinkEntity
|
|
||||||
_080294C0:
|
|
||||||
lsls r0, r2, #0x18
|
|
||||||
lsrs r0, r0, #0x18
|
|
||||||
cmp r0, #1
|
|
||||||
bne _080294D2
|
|
||||||
strb r1, [r3]
|
|
||||||
ldrb r0, [r4, #0x10]
|
|
||||||
movs r1, #0x80
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r4, #0x10]
|
|
||||||
_080294D2:
|
|
||||||
pop {r4, pc}
|
|
||||||
|
|
||||||
thumb_func_start sub_080294D4
|
|
||||||
sub_080294D4: @ 0x080294D4
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
movs r1, #1
|
|
||||||
bl sub_08049FDC
|
|
||||||
cmp r0, #0
|
|
||||||
beq _0802951C
|
|
||||||
ldrb r0, [r4, #0xe]
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r4, #0xe]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
cmp r0, #0
|
|
||||||
bne _08029508
|
|
||||||
movs r0, #8
|
|
||||||
strb r0, [r4, #0xe]
|
|
||||||
ldr r1, _08029518 @ =gLinkEntity
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl GetFacingDirection
|
|
||||||
adds r1, r0, #0
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_08004596
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_0802969C
|
|
||||||
_08029508:
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_080AEF88
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_080296C8
|
|
||||||
b _08029538
|
|
||||||
.align 2, 0
|
|
||||||
_08029518: .4byte gLinkEntity
|
|
||||||
_0802951C:
|
|
||||||
movs r0, #6
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
ldrb r1, [r4, #0x10]
|
|
||||||
movs r0, #0x7f
|
|
||||||
ands r0, r1
|
|
||||||
strb r0, [r4, #0x10]
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #3
|
|
||||||
bl InitializeAnimation
|
|
||||||
ldr r0, [r4, #0x54]
|
|
||||||
movs r1, #7
|
|
||||||
bl InitializeAnimation
|
|
||||||
_08029538:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start sub_0802953C
|
|
||||||
sub_0802953C: @ 0x0802953C
|
|
||||||
push {r4, r5, lr}
|
|
||||||
adds r5, r0, #0
|
|
||||||
bl sub_080296C8
|
|
||||||
adds r0, r5, #0
|
|
||||||
bl sub_080296C8
|
|
||||||
bl sub_0807953C
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08029558
|
|
||||||
ldrb r0, [r5, #0xf]
|
|
||||||
adds r0, #1
|
|
||||||
strb r0, [r5, #0xf]
|
|
||||||
_08029558:
|
|
||||||
ldrb r0, [r5, #0xe]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08029562
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r5, #0xe]
|
|
||||||
_08029562:
|
|
||||||
ldrb r0, [r5, #0xf]
|
|
||||||
cmp r0, #0x2d
|
|
||||||
bhi _08029572
|
|
||||||
ldr r0, _08029580 @ =gUnk_02002A40
|
|
||||||
adds r0, #0xc0
|
|
||||||
ldrh r0, [r0]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _08029584
|
|
||||||
_08029572:
|
|
||||||
ldrb r0, [r5, #0xe]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _08029584
|
|
||||||
adds r0, r5, #0
|
|
||||||
bl sub_080296D8
|
|
||||||
b _080295FE
|
|
||||||
.align 2, 0
|
|
||||||
_08029580: .4byte gUnk_02002A40
|
|
||||||
_08029584:
|
|
||||||
bl sub_08077B2C
|
|
||||||
ldr r2, _08029600 @ =gLinkState
|
|
||||||
ldrb r1, [r2, #0x1a]
|
|
||||||
movs r0, #0x80
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r2, #0x1a]
|
|
||||||
ldr r4, _08029604 @ =gLinkEntity
|
|
||||||
movs r3, #0x80
|
|
||||||
lsls r3, r3, #9
|
|
||||||
adds r0, r5, #0
|
|
||||||
adds r1, r4, #0
|
|
||||||
movs r2, #0
|
|
||||||
bl PositionRelative
|
|
||||||
ldrh r0, [r5, #0x12]
|
|
||||||
ldrb r1, [r5, #0x1e]
|
|
||||||
bl sub_080700C8
|
|
||||||
ldrb r1, [r0]
|
|
||||||
adds r2, r4, #0
|
|
||||||
adds r2, #0x62
|
|
||||||
strb r1, [r2]
|
|
||||||
ldrb r0, [r0, #1]
|
|
||||||
subs r0, #1
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x63
|
|
||||||
strb r0, [r1]
|
|
||||||
adds r4, #0x29
|
|
||||||
ldrb r1, [r4]
|
|
||||||
movs r0, #0x39
|
|
||||||
rsbs r0, r0, #0
|
|
||||||
ands r0, r1
|
|
||||||
strb r0, [r4]
|
|
||||||
adds r1, r5, #0
|
|
||||||
adds r1, #0x83
|
|
||||||
ldrb r0, [r1]
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r1]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
cmp r0, #0
|
|
||||||
bne _080295FE
|
|
||||||
movs r0, #0x41
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r0, _08029608 @ =gUnk_02002A40
|
|
||||||
adds r0, #0xc0
|
|
||||||
ldrh r0, [r0]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080295FE
|
|
||||||
ldr r1, _0802960C @ =gUnk_080CCC44
|
|
||||||
ldrb r0, [r5, #0xa]
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
asrs r0, r0, #0x18
|
|
||||||
bl ModRupees
|
|
||||||
adds r1, r5, #0
|
|
||||||
adds r1, #0x84
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r1]
|
|
||||||
_080295FE:
|
|
||||||
pop {r4, r5, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08029600: .4byte gLinkState
|
|
||||||
_08029604: .4byte gLinkEntity
|
|
||||||
_08029608: .4byte gUnk_02002A40
|
|
||||||
_0802960C: .4byte gUnk_080CCC44
|
|
||||||
|
|
||||||
thumb_func_start sub_08029610
|
|
||||||
sub_08029610: @ 0x08029610
|
|
||||||
push {lr}
|
|
||||||
adds r1, r0, #0
|
|
||||||
ldrb r0, [r1, #0xf]
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r1, #0xf]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
cmp r0, #0
|
|
||||||
bne _08029628
|
|
||||||
movs r0, #3
|
|
||||||
strb r0, [r1, #0xc]
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r1, #0xe]
|
|
||||||
_08029628:
|
|
||||||
adds r0, r1, #0
|
|
||||||
bl sub_080296C8
|
|
||||||
pop {pc}
|
|
||||||
|
|
||||||
thumb_func_start sub_08029630
|
|
||||||
sub_08029630: @ 0x08029630
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
bl sub_080296C8
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x5a
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r0, #0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, #0
|
|
||||||
beq _0802965E
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x81
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r2, [r4, #0x54]
|
|
||||||
ldrb r1, [r2, #0x18]
|
|
||||||
subs r0, #5
|
|
||||||
ands r0, r1
|
|
||||||
strb r0, [r2, #0x18]
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_080297F0
|
|
||||||
_0802965E:
|
|
||||||
pop {r4, pc}
|
|
||||||
|
|
||||||
thumb_func_start sub_08029660
|
|
||||||
sub_08029660: @ 0x08029660
|
|
||||||
movs r1, #1
|
|
||||||
strb r1, [r0, #0xc]
|
|
||||||
movs r1, #0xd1
|
|
||||||
strh r1, [r0, #0x12]
|
|
||||||
ldr r2, _08029684 @ =gUnk_080CCC47
|
|
||||||
ldrb r1, [r0, #0xa]
|
|
||||||
adds r1, r1, r2
|
|
||||||
ldrb r2, [r1]
|
|
||||||
movs r1, #0xf
|
|
||||||
ands r2, r1
|
|
||||||
ldrb r3, [r0, #0x1a]
|
|
||||||
movs r1, #0x10
|
|
||||||
rsbs r1, r1, #0
|
|
||||||
ands r1, r3
|
|
||||||
orrs r1, r2
|
|
||||||
strb r1, [r0, #0x1a]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_08029684: .4byte gUnk_080CCC47
|
|
||||||
|
|
||||||
thumb_func_start sub_08029688
|
|
||||||
sub_08029688: @ 0x08029688
|
|
||||||
push {lr}
|
|
||||||
adds r1, r0, #0
|
|
||||||
ldr r0, [r1, #0x50]
|
|
||||||
ldr r0, [r0, #4]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _0802969A
|
|
||||||
adds r0, r1, #0
|
|
||||||
bl DeleteEntity
|
|
||||||
_0802969A:
|
|
||||||
pop {pc}
|
|
||||||
|
|
||||||
thumb_func_start sub_0802969C
|
|
||||||
sub_0802969C: @ 0x0802969C
|
|
||||||
push {r4, r5, lr}
|
|
||||||
adds r5, r0, #0
|
|
||||||
ldrb r1, [r5, #0x15]
|
|
||||||
movs r0, #0xf
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080296C4
|
|
||||||
lsrs r4, r1, #4
|
|
||||||
ldrb r0, [r5, #0x14]
|
|
||||||
cmp r4, r0
|
|
||||||
beq _080296C4
|
|
||||||
strb r4, [r5, #0x14]
|
|
||||||
adds r0, r5, #0
|
|
||||||
adds r1, r4, #0
|
|
||||||
bl InitializeAnimation
|
|
||||||
ldr r0, [r5, #0x54]
|
|
||||||
adds r1, r4, #4
|
|
||||||
bl InitializeAnimation
|
|
||||||
_080296C4:
|
|
||||||
pop {r4, r5, pc}
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start sub_080296C8
|
|
||||||
sub_080296C8: @ 0x080296C8
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
bl GetNextFrame
|
|
||||||
ldr r0, [r4, #0x54]
|
|
||||||
bl GetNextFrame
|
|
||||||
pop {r4, pc}
|
|
||||||
|
|
||||||
thumb_func_start sub_080296D8
|
|
||||||
sub_080296D8: @ 0x080296D8
|
|
||||||
push {r4, r5, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
ldr r2, _08029764 @ =gLinkState
|
|
||||||
movs r0, #0x41
|
|
||||||
strb r0, [r2, #2]
|
|
||||||
ldr r0, [r2, #0x30]
|
|
||||||
movs r1, #0x11
|
|
||||||
rsbs r1, r1, #0
|
|
||||||
ands r0, r1
|
|
||||||
str r0, [r2, #0x30]
|
|
||||||
ldr r0, _08029768 @ =gLinkEntity
|
|
||||||
mov ip, r0
|
|
||||||
ldrb r0, [r0, #0x10]
|
|
||||||
movs r1, #0x80
|
|
||||||
orrs r0, r1
|
|
||||||
mov r1, ip
|
|
||||||
strb r0, [r1, #0x10]
|
|
||||||
movs r0, #0xc0
|
|
||||||
lsls r0, r0, #9
|
|
||||||
str r0, [r1, #0x20]
|
|
||||||
adds r1, #0x3d
|
|
||||||
movs r0, #0xa6
|
|
||||||
strb r0, [r1]
|
|
||||||
movs r3, #0
|
|
||||||
ldr r0, _0802976C @ =0x0000FFFE
|
|
||||||
mov r1, ip
|
|
||||||
strh r0, [r1, #0x36]
|
|
||||||
ldrb r0, [r1, #0x14]
|
|
||||||
lsls r0, r0, #2
|
|
||||||
strb r0, [r1, #0x15]
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x80
|
|
||||||
ldrb r0, [r0]
|
|
||||||
mov r5, ip
|
|
||||||
adds r5, #0x29
|
|
||||||
movs r1, #7
|
|
||||||
ands r1, r0
|
|
||||||
lsls r1, r1, #3
|
|
||||||
ldrb r2, [r5]
|
|
||||||
movs r0, #0x39
|
|
||||||
rsbs r0, r0, #0
|
|
||||||
ands r0, r2
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r5]
|
|
||||||
mov r0, ip
|
|
||||||
adds r0, #0x63
|
|
||||||
strb r3, [r0]
|
|
||||||
movs r0, #0xa0
|
|
||||||
lsls r0, r0, #1
|
|
||||||
mov r1, ip
|
|
||||||
strh r0, [r1, #0x24]
|
|
||||||
movs r0, #5
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
movs r0, #0x3c
|
|
||||||
strb r0, [r4, #0xf]
|
|
||||||
adds r2, r4, #0
|
|
||||||
adds r2, #0x3b
|
|
||||||
ldrb r1, [r2]
|
|
||||||
movs r0, #3
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r2]
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x3d
|
|
||||||
movs r0, #0
|
|
||||||
ldrsb r0, [r1, r0]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _08029762
|
|
||||||
movs r0, #0xf4
|
|
||||||
strb r0, [r1]
|
|
||||||
_08029762:
|
|
||||||
pop {r4, r5, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08029764: .4byte gLinkState
|
|
||||||
_08029768: .4byte gLinkEntity
|
|
||||||
_0802976C: .4byte 0x0000FFFE
|
|
||||||
|
|
||||||
thumb_func_start sub_08029770
|
|
||||||
sub_08029770: @ 0x08029770
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
movs r1, #0x73
|
|
||||||
bl LoadFixedGFX
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080297E8
|
|
||||||
movs r0, #2
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
ldrb r1, [r4, #0x10]
|
|
||||||
movs r0, #0x7f
|
|
||||||
ands r0, r1
|
|
||||||
strb r0, [r4, #0x10]
|
|
||||||
movs r0, #0xd1
|
|
||||||
strh r0, [r4, #0x12]
|
|
||||||
adds r2, r4, #0
|
|
||||||
adds r2, #0x29
|
|
||||||
ldrb r1, [r2]
|
|
||||||
movs r0, #0x39
|
|
||||||
rsbs r0, r0, #0
|
|
||||||
ands r0, r1
|
|
||||||
movs r1, #0x18
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r2]
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x82
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r0, #0xf
|
|
||||||
ands r1, r0
|
|
||||||
ldrb r2, [r4, #0x1a]
|
|
||||||
movs r0, #0x10
|
|
||||||
rsbs r0, r0, #0
|
|
||||||
ands r0, r2
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r4, #0x1a]
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x3f
|
|
||||||
movs r0, #0x8d
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r0, _080297EC @ =gUnk_080FD260
|
|
||||||
str r0, [r4, #0x48]
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #2
|
|
||||||
bl InitializeAnimation
|
|
||||||
ldr r2, [r4, #0x54]
|
|
||||||
ldrb r1, [r2, #0x18]
|
|
||||||
movs r0, #4
|
|
||||||
rsbs r0, r0, #0
|
|
||||||
ands r0, r1
|
|
||||||
movs r1, #1
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r2, #0x18]
|
|
||||||
ldr r0, [r4, #0x54]
|
|
||||||
movs r1, #6
|
|
||||||
bl InitializeAnimation
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_080A29BC
|
|
||||||
_080297E8:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_080297EC: .4byte gUnk_080FD260
|
|
||||||
|
|
||||||
thumb_func_start sub_080297F0
|
|
||||||
sub_080297F0: @ 0x080297F0
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
movs r2, #1
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
movs r0, #0x78
|
|
||||||
strb r0, [r4, #0xe]
|
|
||||||
ldrb r1, [r4, #0x10]
|
|
||||||
movs r0, #0x80
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r4, #0x10]
|
|
||||||
ldrb r1, [r4, #0x18]
|
|
||||||
movs r0, #4
|
|
||||||
rsbs r0, r0, #0
|
|
||||||
ands r0, r1
|
|
||||||
orrs r0, r2
|
|
||||||
strb r0, [r4, #0x18]
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x3f
|
|
||||||
movs r0, #0x8e
|
|
||||||
strb r0, [r1]
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_080AE068
|
|
||||||
ldr r0, _08029850 @ =0x00000143
|
|
||||||
strh r0, [r4, #0x12]
|
|
||||||
ldr r1, _08029854 @ =gUnk_080CCC47
|
|
||||||
ldrb r0, [r4, #0xa]
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r0, #0xf
|
|
||||||
ands r1, r0
|
|
||||||
ldrb r2, [r4, #0x1a]
|
|
||||||
movs r0, #0x10
|
|
||||||
rsbs r0, r0, #0
|
|
||||||
ands r0, r2
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r4, #0x1a]
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x60
|
|
||||||
movs r0, #9
|
|
||||||
strh r0, [r1]
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #0x54
|
|
||||||
bl InitializeAnimation
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08029850: .4byte 0x00000143
|
|
||||||
_08029854: .4byte gUnk_080CCC47
|
|
|
@ -662,7 +662,7 @@ sub_08033C94: @ 0x08033C94
|
||||||
push {r4, lr}
|
push {r4, lr}
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
movs r1, #3
|
movs r1, #3
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
adds r1, r4, #0
|
adds r1, r4, #0
|
||||||
adds r1, #0x79
|
adds r1, #0x79
|
||||||
ldrb r0, [r1]
|
ldrb r0, [r1]
|
||||||
|
|
|
@ -211,7 +211,7 @@ sub_0802F284: @ 0x0802F284
|
||||||
bls _0802F298
|
bls _0802F298
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
b _0802F29E
|
b _0802F29E
|
||||||
_0802F298:
|
_0802F298:
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
|
|
|
@ -6,214 +6,12 @@
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
|
|
||||||
thumb_func_start TektiteGolden
|
|
||||||
TektiteGolden: @ 0x08037EC8
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
ldr r1, _08037EE4 @ =gUnk_080CF4A0
|
|
||||||
bl EnemyFunctionHandler
|
|
||||||
movs r3, #0x10
|
|
||||||
rsbs r3, r3, #0
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #0
|
|
||||||
movs r2, #1
|
|
||||||
bl SetChildOffset
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08037EE4: .4byte gUnk_080CF4A0
|
|
||||||
|
|
||||||
thumb_func_start sub_08037EE8
|
|
||||||
sub_08037EE8: @ 0x08037EE8
|
|
||||||
push {lr}
|
|
||||||
ldr r2, _08037EFC @ =gUnk_080CF4B8
|
|
||||||
ldrb r1, [r0, #0xc]
|
|
||||||
lsls r1, r1, #2
|
|
||||||
adds r1, r1, r2
|
|
||||||
ldr r1, [r1]
|
|
||||||
bl _call_via_r1
|
|
||||||
pop {pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08037EFC: .4byte gUnk_080CF4B8
|
|
||||||
|
|
||||||
thumb_func_start sub_08037F00
|
|
||||||
sub_08037F00: @ 0x08037F00
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
adds r0, #0x43
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08037F14
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #0x1c
|
|
||||||
bl sub_0804A9FC
|
|
||||||
_08037F14:
|
|
||||||
ldr r1, _08037F54 @ =gUnk_080CF4A0
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_0804AA30
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x41
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, #0x94
|
|
||||||
bne _08037F50
|
|
||||||
movs r1, #0
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
strb r1, [r4, #0xd]
|
|
||||||
movs r0, #0x14
|
|
||||||
strb r0, [r4, #0xe]
|
|
||||||
strb r1, [r4, #0xf]
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x80
|
|
||||||
strb r1, [r0]
|
|
||||||
movs r1, #0x36
|
|
||||||
ldrsh r0, [r4, r1]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08037F46
|
|
||||||
ldr r0, [r4, #0x20]
|
|
||||||
asrs r0, r0, #2
|
|
||||||
_08037F46:
|
|
||||||
str r0, [r4, #0x20]
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #0
|
|
||||||
bl InitializeAnimation
|
|
||||||
_08037F50:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08037F54: .4byte gUnk_080CF4A0
|
|
||||||
|
|
||||||
thumb_func_start sub_08037F58
|
|
||||||
sub_08037F58: @ 0x08037F58
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
adds r0, #0x3a
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r0, #2
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, #0
|
|
||||||
bne _08037F6E
|
|
||||||
ldrb r0, [r4, #0xb]
|
|
||||||
bl SetGlobalFlag
|
|
||||||
_08037F6E:
|
|
||||||
ldrb r0, [r4, #0xa]
|
|
||||||
movs r2, #0x58
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08037F78
|
|
||||||
movs r2, #0x59
|
|
||||||
_08037F78:
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #0xff
|
|
||||||
bl CreateDeathFx
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start sub_08037F84
|
|
||||||
sub_08037F84: @ 0x08037F84
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
bl sub_08001242
|
|
||||||
movs r1, #0x36
|
|
||||||
ldrsh r0, [r4, r1]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08037F9E
|
|
||||||
movs r1, #0xc0
|
|
||||||
lsls r1, r1, #6
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_08003FC4
|
|
||||||
_08037F9E:
|
|
||||||
pop {r4, pc}
|
|
||||||
|
|
||||||
thumb_func_start sub_08037FA0
|
|
||||||
sub_08037FA0: @ 0x08037FA0
|
|
||||||
push {r4, r5, lr}
|
|
||||||
adds r5, r0, #0
|
|
||||||
ldrb r0, [r5, #0xb]
|
|
||||||
bl CheckGlobalFlag
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08037FB2
|
|
||||||
bl DeleteThisEntity
|
|
||||||
_08037FB2:
|
|
||||||
adds r0, r5, #0
|
|
||||||
bl sub_0804A720
|
|
||||||
movs r4, #0
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r5, #0xc]
|
|
||||||
strb r4, [r5, #0xd]
|
|
||||||
bl Random
|
|
||||||
movs r1, #0x1f
|
|
||||||
ands r0, r1
|
|
||||||
adds r0, #0x20
|
|
||||||
strb r0, [r5, #0xe]
|
|
||||||
strb r4, [r5, #0xf]
|
|
||||||
adds r0, r5, #0
|
|
||||||
adds r0, #0x80
|
|
||||||
strb r4, [r0]
|
|
||||||
adds r0, r5, #0
|
|
||||||
movs r1, #0
|
|
||||||
bl InitializeAnimation
|
|
||||||
pop {r4, r5, pc}
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start sub_08037FE0
|
|
||||||
sub_08037FE0: @ 0x08037FE0
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
movs r1, #2
|
|
||||||
bl InitializeAnimationAnimation
|
|
||||||
ldrb r0, [r4, #0xe]
|
|
||||||
adds r2, r0, #0
|
|
||||||
cmp r2, #0
|
|
||||||
beq _08037FF8
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r4, #0xe]
|
|
||||||
b _08038046
|
|
||||||
_08037FF8:
|
|
||||||
ldrb r0, [r4, #0xf]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _0803802C
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x5a
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r0, #0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08038046
|
|
||||||
movs r0, #2
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
movs r0, #6
|
|
||||||
strb r0, [r4, #0xe]
|
|
||||||
strb r2, [r4, #0xf]
|
|
||||||
movs r0, #0xe0
|
|
||||||
lsls r0, r0, #0xa
|
|
||||||
str r0, [r4, #0x20]
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_08038168
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #2
|
|
||||||
bl InitializeAnimation
|
|
||||||
b _08038046
|
|
||||||
_0803802C:
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x5a
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r0, #0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08038046
|
|
||||||
movs r0, #0x40
|
|
||||||
strb r0, [r4, #0xf]
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #1
|
|
||||||
bl InitializeAnimation
|
|
||||||
_08038046:
|
|
||||||
pop {r4, pc}
|
|
||||||
|
|
||||||
thumb_func_start sub_08038048
|
thumb_func_start sub_08038048
|
||||||
sub_08038048: @ 0x08038048
|
sub_08038048: @ 0x08038048
|
||||||
push {r4, r5, r6, lr}
|
push {r4, r5, r6, lr}
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
bl sub_080AEF88
|
bl sub_080AEF88
|
||||||
movs r0, #0x36
|
movs r0, #0x36
|
||||||
|
@ -315,7 +113,7 @@ sub_08038110: @ 0x08038110
|
||||||
push {r4, lr}
|
push {r4, lr}
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
bl InitializeAnimationAnimation
|
bl UpdateAnimationVariableFrames
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
adds r0, #0x5a
|
adds r0, #0x5a
|
||||||
ldrb r1, [r0]
|
ldrb r1, [r0]
|
||||||
|
|
|
@ -59,7 +59,13 @@ typedef struct Entity {
|
||||||
/* */ u8 b2 : 2; //0x10
|
/* */ u8 b2 : 2; //0x10
|
||||||
/* */ u8 b3 : 2; //0x40
|
/* */ u8 b3 : 2; //0x40
|
||||||
/* */ } PACKED spriteRendering;
|
/* */ } PACKED spriteRendering;
|
||||||
/*0x1a*/ u8 palette;
|
/*0x1a*/ union {
|
||||||
|
/* */ u8 raw;
|
||||||
|
/* */ struct {
|
||||||
|
/* */ u8 b0 : 4;
|
||||||
|
/* */ u8 b4 : 4;
|
||||||
|
/* */ } PACKED b;
|
||||||
|
/* */} PACKED palette;
|
||||||
/*0x1b*/ struct {
|
/*0x1b*/ struct {
|
||||||
/* */ u8 b0 : 4;
|
/* */ u8 b0 : 4;
|
||||||
/* */ u8 flipX : 2; //0x10
|
/* */ u8 flipX : 2; //0x10
|
||||||
|
@ -132,8 +138,8 @@ typedef struct Entity {
|
||||||
/*0x78*/ union SplitHWord field_0x78;
|
/*0x78*/ union SplitHWord field_0x78;
|
||||||
/*0x7a*/ u16 field_0x7a;
|
/*0x7a*/ u16 field_0x7a;
|
||||||
/*0x7c*/ union SplitWord field_0x7c;
|
/*0x7c*/ union SplitWord field_0x7c;
|
||||||
/*0x80*/ u16 field_0x80;
|
/*0x80*/ union SplitHWord field_0x80;
|
||||||
/*0x82*/ u16 field_0x82;
|
/*0x82*/ union SplitHWord field_0x82;
|
||||||
/*0x84*/ union SplitHWord cutsceneBeh;
|
/*0x84*/ union SplitHWord cutsceneBeh;
|
||||||
/*0x86*/ u16 field_0x86;
|
/*0x86*/ u16 field_0x86;
|
||||||
} Entity;
|
} Entity;
|
||||||
|
|
|
@ -34,6 +34,11 @@ extern void EraseAllEntities(void);
|
||||||
extern void SetTile(u32, u32, u32);
|
extern void SetTile(u32, u32, u32);
|
||||||
extern void SetDirtTile(u32);
|
extern void SetDirtTile(u32);
|
||||||
extern void LoadRoomTileEntities(); //tba
|
extern void LoadRoomTileEntities(); //tba
|
||||||
|
extern Entity* CreateDeathFx(Entity*, u32, u32);
|
||||||
|
extern void UpdateAnimationVariableFrames(Entity*, u32);
|
||||||
|
extern void CopyPositionAndSpriteOffset(Entity*, Entity*);
|
||||||
|
extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32);
|
||||||
|
extern u32 LoadFixedGFX(Entity*, u32);
|
||||||
|
|
||||||
// Unidentified
|
// Unidentified
|
||||||
extern void sub_0806ED78(Entity*);
|
extern void sub_0806ED78(Entity*);
|
||||||
|
@ -183,4 +188,14 @@ extern void sub_080A4398(void);
|
||||||
extern void sub_0801E738(u32);
|
extern void sub_0801E738(u32);
|
||||||
extern void sub_080A70AC(void*);
|
extern void sub_080A70AC(void*);
|
||||||
extern void sub_080A7114(u32);
|
extern void sub_080A7114(u32);
|
||||||
|
extern void sub_08001242(void);
|
||||||
|
extern void sub_08003FC4(Entity*, u32);
|
||||||
|
extern u8 sub_080043E8(Entity*);
|
||||||
|
extern void sub_08001290(Entity*, u32);
|
||||||
|
extern void sub_08004488(u32);
|
||||||
|
extern void sub_08004596(Entity*, u32);
|
||||||
|
extern u32 sub_0807953C(void);
|
||||||
|
extern void sub_08077B2C(void);
|
||||||
|
extern void sub_080A29BC(Entity*);
|
||||||
|
extern void sub_080AE068(Entity*);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -94,7 +94,7 @@ extern Entity gLinkEntity;
|
||||||
|
|
||||||
extern u32 GetInventoryValue(u32);
|
extern u32 GetInventoryValue(u32);
|
||||||
extern s32 ModHealth(s32);
|
extern s32 ModHealth(s32);
|
||||||
|
extern void ModRupees(s32);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// clang-format on
|
// clang-format on
|
|
@ -345,7 +345,7 @@ SECTIONS {
|
||||||
asm/likeLike.o(.text);
|
asm/likeLike.o(.text);
|
||||||
asm/spearMoblin.o(.text);
|
asm/spearMoblin.o(.text);
|
||||||
asm/businessScrub.o(.text);
|
asm/businessScrub.o(.text);
|
||||||
asm/rupeeLike.o(.text);
|
src/enemy/rupeeLike.o(.text);
|
||||||
asm/madderpillar.o(.text);
|
asm/madderpillar.o(.text);
|
||||||
asm/waterDrop.o(.text);
|
asm/waterDrop.o(.text);
|
||||||
asm/wallMaster.o(.text);
|
asm/wallMaster.o(.text);
|
||||||
|
@ -385,6 +385,7 @@ SECTIONS {
|
||||||
asm/flyingPot.o(.text);
|
asm/flyingPot.o(.text);
|
||||||
asm/gibdo.o(.text);
|
asm/gibdo.o(.text);
|
||||||
asm/octorokGolden.o(.text);
|
asm/octorokGolden.o(.text);
|
||||||
|
src/enemy/tektiteGolden.o(.text);
|
||||||
asm/tektiteGolden.o(.text);
|
asm/tektiteGolden.o(.text);
|
||||||
asm/ropeGolden.o(.text);
|
asm/ropeGolden.o(.text);
|
||||||
asm/cloudPiranha.o(.text);
|
asm/cloudPiranha.o(.text);
|
||||||
|
|
|
@ -44,7 +44,7 @@ void sub_0802A84C(Entity* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_0802A8AC(Entity *this) {
|
void sub_0802A8AC(Entity *this) {
|
||||||
*((u8 *)&this->field_0x80 + 1) = 0;
|
this->field_0x80.HALF.HI = 0;
|
||||||
if (this->entityType.form < 2) {
|
if (this->entityType.form < 2) {
|
||||||
InitializeAnimation(this, 0);
|
InitializeAnimation(this, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ extern void sub_0801ECFC();
|
||||||
extern u32 sub_0806F520();
|
extern u32 sub_0806F520();
|
||||||
extern void sub_0806F4E8();
|
extern void sub_0806F4E8();
|
||||||
extern void sub_0806F3E4();
|
extern void sub_0806F3E4();
|
||||||
extern void InitializeAnimationAnimation();
|
extern void UpdateAnimationVariableFrames();
|
||||||
extern void sub_0804A720();
|
extern void sub_0804A720();
|
||||||
extern u32 Random();
|
extern u32 Random();
|
||||||
extern void sub_0801ED14();
|
extern void sub_0801ED14();
|
||||||
|
@ -75,7 +75,7 @@ void sub_0801EB7C(Entity* ent) {
|
||||||
|
|
||||||
void sub_0801EB84(Entity* ent) {
|
void sub_0801EB84(Entity* ent) {
|
||||||
ent->flags = ent->flags & 127;
|
ent->flags = ent->flags & 127;
|
||||||
InitializeAnimationAnimation(ent, 2);
|
UpdateAnimationVariableFrames(ent, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void nullsub_3() {
|
void nullsub_3() {
|
||||||
|
|
|
@ -0,0 +1,281 @@
|
||||||
|
#include "global.h"
|
||||||
|
#include "entity.h"
|
||||||
|
#include "enemy.h"
|
||||||
|
#include "functions.h"
|
||||||
|
#include "structures.h"
|
||||||
|
#include "link.h"
|
||||||
|
|
||||||
|
extern void sub_080293DC(Entity*);
|
||||||
|
extern void sub_080296D8(Entity*);
|
||||||
|
extern void sub_08029770(Entity*);
|
||||||
|
extern void sub_080297F0(Entity*);
|
||||||
|
extern void sub_080296C8(Entity*);
|
||||||
|
extern void sub_0802969C(Entity*);
|
||||||
|
|
||||||
|
extern void (*const gUnk_080CCC00[])(Entity*);
|
||||||
|
extern void (*const gUnk_080CCC18[])(Entity*);
|
||||||
|
extern void (*const gUnk_080CCC3C[])(Entity*);
|
||||||
|
|
||||||
|
extern u8 gUnk_080CCC34[];
|
||||||
|
extern u8 gUnk_080CCC47[];
|
||||||
|
extern BoundingBox gUnk_080FD260;
|
||||||
|
|
||||||
|
void RupeeLike(Entity* this) {
|
||||||
|
u32 uVar1;
|
||||||
|
|
||||||
|
if (this->entityType.parameter == 0) {
|
||||||
|
uVar1 = sub_080043E8(this);
|
||||||
|
if (uVar1 != 0) {
|
||||||
|
if (this->action == 4) {
|
||||||
|
sub_080296D8(this);
|
||||||
|
}
|
||||||
|
sub_08001290(this, uVar1);
|
||||||
|
} else {
|
||||||
|
gUnk_080CCC00[GetNextFunction(this)](this);
|
||||||
|
SetChildOffset(this, 0, 1, -0x10);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sub_080293DC(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08029300(Entity* this) {
|
||||||
|
gUnk_080CCC18[this->action](this);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08029318(Entity* this) {
|
||||||
|
if (this->damageType == 0x8e) {
|
||||||
|
sub_08029770(this);
|
||||||
|
} else {
|
||||||
|
if (this->action == 4) {
|
||||||
|
sub_080296D8(this);
|
||||||
|
}
|
||||||
|
if (*(u8*)(*(u32*)&this->field_0x4c + 8) == 1) {
|
||||||
|
if (this->action == 2) {
|
||||||
|
InitializeAnimation(this, 0);
|
||||||
|
InitializeAnimation(this->attachedEntity, 4);
|
||||||
|
}
|
||||||
|
this->action = 4;
|
||||||
|
this->actionDelay = 0x3c;
|
||||||
|
this->field_0xf = 0;
|
||||||
|
this->field_0x82.HALF.HI = 0x41;
|
||||||
|
this->flags2 &= 0xfc;
|
||||||
|
this->field_0x80.HALF.LO = gLinkEntity.spritePriority.b1;
|
||||||
|
sub_08004488(0x104);
|
||||||
|
} else {
|
||||||
|
if (this->field_0x43 != 0) {
|
||||||
|
sub_0804A9FC(this, 0x1c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sub_0804AA30(this, gUnk_080CCC00);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080293B4(Entity* this) {
|
||||||
|
CreateDeathFx(this, 0xff, gUnk_080CCC34[this->cutsceneBeh.HALF.LO * 3 + this->entityType.form]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void nullsub_141() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080293DC(Entity* this) {
|
||||||
|
CopyPositionAndSpriteOffset(this->parent, this);
|
||||||
|
this->y.HALF.HI++;
|
||||||
|
this->height.HALF.HI--;
|
||||||
|
gUnk_080CCC3C[this->action](this);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_0802940C(Entity* this) {
|
||||||
|
Entity* ent;
|
||||||
|
|
||||||
|
ent = CreateEnemy(0x17, this->entityType.form);
|
||||||
|
if (ent != NULL) {
|
||||||
|
sub_0804A720(this);
|
||||||
|
ent->parent = this;
|
||||||
|
ent->entityType.parameter = 1;
|
||||||
|
this->attachedEntity = ent;
|
||||||
|
this->field_0x80.HALF.HI = 0;
|
||||||
|
this->cutsceneBeh.HALF.LO = 0;
|
||||||
|
this->field_0x82.HALF.LO = this->palette.b.b0;
|
||||||
|
sub_080297F0(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_0802944C(Entity* this) {
|
||||||
|
sub_080296C8(this);
|
||||||
|
if ((this->field_0x80.HALF.HI != 0) && sub_08049FDC(this, 1)) {
|
||||||
|
sub_08029770(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08029474(Entity* this) {
|
||||||
|
u32 bVar1;
|
||||||
|
|
||||||
|
sub_080296C8(this);
|
||||||
|
if (this->frames.b.f3) {
|
||||||
|
this->action = 3;
|
||||||
|
this->actionDelay = 8;
|
||||||
|
bVar1 = GetFacingDirection(this, &gLinkEntity);
|
||||||
|
this->direction = bVar1;
|
||||||
|
this->animationState = (bVar1 << 0x18) >> 0x1c;
|
||||||
|
InitializeAnimation(this, this->animationState);
|
||||||
|
InitializeAnimation(this->attachedEntity, this->animationState + 4);
|
||||||
|
} else {
|
||||||
|
if (this->frames.all == 1) {
|
||||||
|
this->frames.all = 0;
|
||||||
|
this->flags |= 0x80;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080294D4(Entity* this) {
|
||||||
|
if (sub_08049FDC(this, 1) != 0) {
|
||||||
|
if (--this->actionDelay == 0) {
|
||||||
|
this->actionDelay = 8;
|
||||||
|
sub_08004596(this, GetFacingDirection(this, &gLinkEntity));
|
||||||
|
sub_0802969C(this);
|
||||||
|
}
|
||||||
|
sub_080AEF88(this);
|
||||||
|
sub_080296C8(this);
|
||||||
|
} else {
|
||||||
|
this->action = 6;
|
||||||
|
this->flags &= 0x7f;
|
||||||
|
InitializeAnimation(this, 3);
|
||||||
|
InitializeAnimation(this->attachedEntity, 7);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extern s8 gUnk_080CCC44[];
|
||||||
|
|
||||||
|
void sub_0802953C(Entity* this) {
|
||||||
|
u8* pbVar3;
|
||||||
|
|
||||||
|
sub_080296C8(this);
|
||||||
|
sub_080296C8(this);
|
||||||
|
if (sub_0807953C() != 0) {
|
||||||
|
this->field_0xf++;
|
||||||
|
}
|
||||||
|
if (this->actionDelay != 0) {
|
||||||
|
this->actionDelay--;
|
||||||
|
}
|
||||||
|
if (((this->field_0xf > 0x2d) || (gUnk_02002A40.stats.rupees == 0)) && (this->actionDelay == 0)) {
|
||||||
|
sub_080296D8(this);
|
||||||
|
} else {
|
||||||
|
sub_08077B2C();
|
||||||
|
gLinkState.field_0x1a[0] |= 0x80;
|
||||||
|
PositionRelative(this, &gLinkEntity, 0, 0x10000);
|
||||||
|
pbVar3 = GetSpriteSubEntryOffsetDataPointer((u16)this->spriteIndex, this->frameIndex);
|
||||||
|
gLinkEntity.spriteOffsetX = pbVar3[0];
|
||||||
|
gLinkEntity.spriteOffsetY = pbVar3[1] - 1;
|
||||||
|
gLinkEntity.spritePriority.b1 = 0;
|
||||||
|
if (--this->field_0x82.HALF.HI == 0) {
|
||||||
|
this->field_0x82.HALF.HI = 0x41;
|
||||||
|
if (gUnk_02002A40.stats.rupees != 0) {
|
||||||
|
ModRupees(gUnk_080CCC44[this->entityType.form]);
|
||||||
|
this->cutsceneBeh.HALF.LO = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08029610(Entity* this) {
|
||||||
|
if (--this->field_0xf == 0) {
|
||||||
|
this->action = 3;
|
||||||
|
this->actionDelay = 1;
|
||||||
|
}
|
||||||
|
sub_080296C8(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08029630(Entity* this) {
|
||||||
|
sub_080296C8(this);
|
||||||
|
if ((this->frames.b.f3) != 0) {
|
||||||
|
this->field_0x80.HALF.HI = 1;
|
||||||
|
this->attachedEntity->spriteSettings.b.draw = FALSE;
|
||||||
|
sub_080297F0(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08029660(Entity* this) {
|
||||||
|
u32 temp;
|
||||||
|
this->action = 1;
|
||||||
|
this->spriteIndex = 0xd1;
|
||||||
|
temp = gUnk_080CCC47[this->entityType.form];
|
||||||
|
this->palette.b.b0 = temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08029688(Entity* this) {
|
||||||
|
if (this->parent->field_0x4 == NULL) {
|
||||||
|
DeleteEntity(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_0802969C(Entity* this) {
|
||||||
|
u32 bVar1;
|
||||||
|
|
||||||
|
if ((this->direction & 0xf) != 0) {
|
||||||
|
|
||||||
|
bVar1 = this->direction >> 4;
|
||||||
|
if (bVar1 != this->animationState) {
|
||||||
|
this->animationState = bVar1;
|
||||||
|
InitializeAnimation(this, bVar1);
|
||||||
|
InitializeAnimation(this->attachedEntity, bVar1 + 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080296C8(Entity* this) {
|
||||||
|
GetNextFrame(this);
|
||||||
|
GetNextFrame(this->attachedEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080296D8(Entity* this) {
|
||||||
|
gLinkState.jumpStatus = 0x41;
|
||||||
|
gLinkState.flags.all &= 0xffffffef;
|
||||||
|
gLinkEntity.flags |= 0x80;
|
||||||
|
gLinkEntity.field_0x20 = 0x18000;
|
||||||
|
gLinkEntity.hurtBlinkTime = 0xa6;
|
||||||
|
gLinkEntity.height.HALF.HI = -2;
|
||||||
|
gLinkEntity.direction = gLinkEntity.animationState << 2;
|
||||||
|
gLinkEntity.spritePriority.b1 = this->field_0x80.HALF.LO;
|
||||||
|
gLinkEntity.spriteOffsetY = 0;
|
||||||
|
gLinkEntity.nonPlanarMovement = 0x140;
|
||||||
|
this->action = 5;
|
||||||
|
this->field_0xf = 0x3c;
|
||||||
|
this->flags2 |= 3;
|
||||||
|
if ((s8)this->hurtBlinkTime == 0) {
|
||||||
|
this->hurtBlinkTime = 0xf4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08029770(Entity* this) {
|
||||||
|
u32 temp;
|
||||||
|
if (LoadFixedGFX(this, 0x73) != 0) {
|
||||||
|
this->action = 2;
|
||||||
|
this->flags = this->flags & 0x7f;
|
||||||
|
this->spriteIndex = 0xd1;
|
||||||
|
this->spritePriority.b1 = 3;
|
||||||
|
temp = this->field_0x82.HALF.LO;
|
||||||
|
this->palette.b.b0 = temp;
|
||||||
|
this->damageType = 0x8d;
|
||||||
|
this->boundingBox = &gUnk_080FD260;
|
||||||
|
InitializeAnimation(this, 2);
|
||||||
|
this->attachedEntity->spriteSettings.b.draw = TRUE;
|
||||||
|
InitializeAnimation(this->attachedEntity, 6);
|
||||||
|
sub_080A29BC(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080297F0(Entity* this) {
|
||||||
|
u32 temp;
|
||||||
|
this->action = 1;
|
||||||
|
this->actionDelay = 0x78;
|
||||||
|
this->flags = this->flags | 0x80;
|
||||||
|
this->spriteSettings.b.draw = TRUE;
|
||||||
|
this->damageType = 0x8e;
|
||||||
|
sub_080AE068(this);
|
||||||
|
this->spriteIndex = 0x143;
|
||||||
|
temp = gUnk_080CCC47[this->entityType.form];
|
||||||
|
this->palette.b.b0 = temp;
|
||||||
|
this->spriteVramOffset = 9;
|
||||||
|
InitializeAnimation(this, 0x54);
|
||||||
|
}
|
|
@ -0,0 +1,108 @@
|
||||||
|
#include "global.h"
|
||||||
|
#include "entity.h"
|
||||||
|
#include "enemy.h"
|
||||||
|
#include "functions.h"
|
||||||
|
#include "flags.h"
|
||||||
|
|
||||||
|
extern void sub_08038168(Entity*);
|
||||||
|
|
||||||
|
extern void (*const gUnk_080CF4A0)(Entity*);
|
||||||
|
extern void (*const gUnk_080CF4B8[])(Entity*);
|
||||||
|
|
||||||
|
void TektiteGolden(Entity *this)
|
||||||
|
{
|
||||||
|
EnemyFunctionHandler(this, &gUnk_080CF4A0);
|
||||||
|
SetChildOffset(this, 0, 1, -0x10);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08037EE8(Entity* this)
|
||||||
|
{
|
||||||
|
gUnk_080CF4B8[this->action](this);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08037F00(Entity *this)
|
||||||
|
{
|
||||||
|
u32 uVar1;
|
||||||
|
|
||||||
|
if (this->field_0x43 != 0) {
|
||||||
|
sub_0804A9FC(this,0x1c);
|
||||||
|
}
|
||||||
|
sub_0804AA30(this, &gUnk_080CF4A0);
|
||||||
|
if (this->bitfield == 0x94) {
|
||||||
|
this->action = 1;
|
||||||
|
this->previousActionFlag = 0;
|
||||||
|
this->actionDelay = 0x14;
|
||||||
|
this->field_0xf = 0;
|
||||||
|
this->field_0x80.HALF.LO = 0;
|
||||||
|
uVar1 = this->height.HALF.HI;
|
||||||
|
if (uVar1 != 0) {
|
||||||
|
this->field_0x20 >>= 2;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this->field_0x20 = uVar1;
|
||||||
|
}
|
||||||
|
|
||||||
|
InitializeAnimation(this,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08037F58(Entity *this)
|
||||||
|
{
|
||||||
|
u32 uVar1;
|
||||||
|
|
||||||
|
if ((this->field_0x3a & 2) == 0) {
|
||||||
|
SetGlobalFlag(this->entityType.parameter);
|
||||||
|
}
|
||||||
|
if ((this->entityType).form != 0) {
|
||||||
|
uVar1 = 0x59;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
uVar1 = 0x58;
|
||||||
|
}
|
||||||
|
CreateDeathFx(this, 0xff, uVar1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08037F84(Entity *this)
|
||||||
|
{
|
||||||
|
sub_08001242();
|
||||||
|
if (this->height.HALF.HI != 0) {
|
||||||
|
sub_08003FC4(this, 0x3000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08037FA0(Entity *this)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (CheckGlobalFlag(this->entityType.parameter)) {
|
||||||
|
DeleteThisEntity();
|
||||||
|
}
|
||||||
|
sub_0804A720(this);
|
||||||
|
this->action = 1;
|
||||||
|
this->previousActionFlag = 0;
|
||||||
|
this->actionDelay = (Random() & 0x1f) + 0x20;
|
||||||
|
this->field_0xf = 0;
|
||||||
|
this->field_0x80.HALF.LO = 0;
|
||||||
|
InitializeAnimation(this,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08037Fe0(Entity *this)
|
||||||
|
{
|
||||||
|
UpdateAnimationVariableFrames(this, 2);
|
||||||
|
if (this->actionDelay != 0) {
|
||||||
|
this->actionDelay--;
|
||||||
|
}
|
||||||
|
else if (this->field_0xf != 0) {
|
||||||
|
if ((this->frames.b.f3) != 0) {
|
||||||
|
this->action = 2;
|
||||||
|
this->actionDelay = 6;
|
||||||
|
this->field_0xf = 0;
|
||||||
|
this->field_0x20 = 0x38000;
|
||||||
|
sub_08038168(this);
|
||||||
|
InitializeAnimation(this, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ((this->frames.b.f3) != 0) {
|
||||||
|
this->field_0xf = 0x40;
|
||||||
|
InitializeAnimation(this, 1);
|
||||||
|
}
|
||||||
|
}
|
|
@ -57,7 +57,7 @@ void sub_08018CBC(Entity *this)
|
||||||
this->action = 2;
|
this->action = 2;
|
||||||
this->spriteSettings.b.draw = 1;
|
this->spriteSettings.b.draw = 1;
|
||||||
this->spriteIndex = 0xa6;
|
this->spriteIndex = 0xa6;
|
||||||
this->palette = 0x33;
|
this->palette.raw = 0x33;
|
||||||
this->spriteVramOffset = 0;
|
this->spriteVramOffset = 0;
|
||||||
(this->entityType).form = gLinkState.field_0x1d[0] - 1;
|
(this->entityType).form = gLinkState.field_0x1d[0] - 1;
|
||||||
this->actionDelay = gUnk_080B3DE0[(this->entityType).form * 2];
|
this->actionDelay = gUnk_080B3DE0[(this->entityType).form * 2];
|
||||||
|
|
|
@ -90,9 +90,9 @@ void sub_080600F0(Entity* this) {
|
||||||
u32 uVar1;
|
u32 uVar1;
|
||||||
u32 uVar2;
|
u32 uVar2;
|
||||||
|
|
||||||
uVar2 = this->field_0x80;
|
uVar2 = this->field_0x80.HWORD;
|
||||||
if (this->field_0x80 < 8) {
|
if (this->field_0x80.HWORD < 8) {
|
||||||
if ((this->field_0x82 & 1) != 0) {
|
if ((this->field_0x82.HWORD & 1) != 0) {
|
||||||
uVar2 = (uVar2 & 0xfc) + (this->field_0xf >> 1);
|
uVar2 = (uVar2 & 0xfc) + (this->field_0xf >> 1);
|
||||||
} else {
|
} else {
|
||||||
uVar2 = (uVar2 & 0xfc) + (this->animationState >> 1);
|
uVar2 = (uVar2 & 0xfc) + (this->animationState >> 1);
|
||||||
|
@ -102,7 +102,7 @@ void sub_080600F0(Entity* this) {
|
||||||
if (uVar2 != this->animIndex) {
|
if (uVar2 != this->animIndex) {
|
||||||
InitAnimationForceUpdate(this, uVar2);
|
InitAnimationForceUpdate(this, uVar2);
|
||||||
}
|
}
|
||||||
if ((this->field_0x82 & 4) != 0) {
|
if ((this->field_0x82.HWORD & 4) != 0) {
|
||||||
uVar1 = 2;
|
uVar1 = 2;
|
||||||
} else {
|
} else {
|
||||||
uVar1 = 1;
|
uVar1 = 1;
|
||||||
|
|
|
@ -63,7 +63,7 @@ void sub_08069428(Entity* this, s32 offsetX, bool32 createFx65);
|
||||||
void sub_080693D0(Entity* this) {
|
void sub_080693D0(Entity* this) {
|
||||||
sub_0807DD94(this, 0);
|
sub_0807DD94(this, 0);
|
||||||
if (this->animIndex == 8) {
|
if (this->animIndex == 8) {
|
||||||
u32 var0 = this->field_0x82 & 0xF;
|
u32 var0 = this->field_0x82.HWORD & 0xF;
|
||||||
bool32 createFx65 = ((-var0) | var0) >> 0x1F; // = !var0
|
bool32 createFx65 = ((-var0) | var0) >> 0x1F; // = !var0
|
||||||
|
|
||||||
if (this->frames.all == 1) {
|
if (this->frames.all == 1) {
|
||||||
|
@ -121,7 +121,7 @@ void sub_080694EC(Entity* this) {
|
||||||
anim = 2;
|
anim = 2;
|
||||||
if (!CheckKinstoneFused(47)) anim = 8;
|
if (!CheckKinstoneFused(47)) anim = 8;
|
||||||
InitAnimationForceUpdate(this, anim);
|
InitAnimationForceUpdate(this, anim);
|
||||||
this->field_0x80 = anim;
|
this->field_0x80.HWORD = anim;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Goron_Fusion(Entity* this) {
|
void Goron_Fusion(Entity* this) {
|
||||||
|
|
|
@ -157,8 +157,8 @@ void sub_080661BC(Entity *this)
|
||||||
if (this->animIndex == 0xc) {
|
if (this->animIndex == 0xc) {
|
||||||
UpdateAnimationSingleFrame(this);
|
UpdateAnimationSingleFrame(this);
|
||||||
if ((this->frames.b.f3) != 0) {
|
if ((this->frames.b.f3) != 0) {
|
||||||
this->field_0x80 = GetAnimationState(this) + 8;
|
this->field_0x80.HWORD = GetAnimationState(this) + 8;
|
||||||
InitAnimationForceUpdate(this, this->field_0x80);
|
InitAnimationForceUpdate(this, this->field_0x80.HWORD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -41,7 +41,7 @@ void sub_0806A1F8(Entity *this)
|
||||||
void sub_0806A234(Entity *this)
|
void sub_0806A234(Entity *this)
|
||||||
{
|
{
|
||||||
sub_0807DD94(this, 0);
|
sub_0807DD94(this, 0);
|
||||||
if ((this->field_0x82 & 4) != 0) {
|
if ((this->field_0x82.HWORD & 4) != 0) {
|
||||||
if ((gUnk_030010A0 & 7) == 0) {
|
if ((gUnk_030010A0 & 7) == 0) {
|
||||||
sub_0806A26C(this);
|
sub_0806A26C(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,27 +109,27 @@ void sub_08066DE4(Entity* ent) {
|
||||||
|
|
||||||
void sub_08066E08(Entity* ent) {
|
void sub_08066E08(Entity* ent) {
|
||||||
InitAnimationForceUpdate(ent, 0x50);
|
InitAnimationForceUpdate(ent, 0x50);
|
||||||
ent->field_0x80 = ent->animIndex;
|
ent->field_0x80.HWORD = ent->animIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_08066E20(Entity* ent) {
|
void sub_08066E20(Entity* ent) {
|
||||||
InitAnimationForceUpdate(ent, 0x44);
|
InitAnimationForceUpdate(ent, 0x44);
|
||||||
ent->field_0x80 = ent->animIndex;
|
ent->field_0x80.HWORD = ent->animIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_08066E38(Entity* ent) {
|
void sub_08066E38(Entity* ent) {
|
||||||
InitAnimationForceUpdate(ent, 0x48);
|
InitAnimationForceUpdate(ent, 0x48);
|
||||||
ent->field_0x80 = ent->animIndex;
|
ent->field_0x80.HWORD = ent->animIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_08066E50(Entity* ent) {
|
void sub_08066E50(Entity* ent) {
|
||||||
InitAnimationForceUpdate(ent, 0x4C);
|
InitAnimationForceUpdate(ent, 0x4C);
|
||||||
ent->field_0x80 = ent->animIndex;
|
ent->field_0x80.HWORD = ent->animIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_08066E68(Entity* ent) {
|
void sub_08066E68(Entity* ent) {
|
||||||
InitAnimationForceUpdate(ent, 0x54);
|
InitAnimationForceUpdate(ent, 0x54);
|
||||||
ent->field_0x80 = ent->animIndex;
|
ent->field_0x80.HWORD = ent->animIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_08066E80(Entity* ent, u8* param_2) {
|
void sub_08066E80(Entity* ent, u8* param_2) {
|
||||||
|
@ -172,7 +172,7 @@ void sub_08066E80(Entity* ent, u8* param_2) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ent->field_0x80 = ent->animIndex;
|
ent->field_0x80.HWORD = ent->animIndex;
|
||||||
gUnk_02033280[6] = 0;
|
gUnk_02033280[6] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ void Object1C(Entity *this)
|
||||||
if (this->action == 0) {
|
if (this->action == 0) {
|
||||||
this->action = 1;
|
this->action = 1;
|
||||||
}
|
}
|
||||||
iVar1 = CheckRectOnScreen(this->field_0x80, this->field_0x82, 0x10, 0x10);
|
iVar1 = CheckRectOnScreen(this->field_0x80.HWORD, this->field_0x82.HWORD, 0x10, 0x10);
|
||||||
if (iVar1 == 0) {
|
if (iVar1 == 0) {
|
||||||
this->parent->field_0x20 &= ~(1 << this->entityType.parameter);
|
this->parent->field_0x20 &= ~(1 << this->entityType.parameter);
|
||||||
DeleteThisEntity();
|
DeleteThisEntity();
|
||||||
|
|
|
@ -19,14 +19,14 @@ void sub_080A0EB0(Entity* ent) {
|
||||||
|
|
||||||
ent->action = 1;
|
ent->action = 1;
|
||||||
tilePos = COORD_TO_TILE(ent);
|
tilePos = COORD_TO_TILE(ent);
|
||||||
ent->field_0x80 = tilePos;
|
ent->field_0x80.HWORD = tilePos;
|
||||||
SetTile(16509, ent->field_0x80, 1);
|
SetTile(16509, ent->field_0x80.HWORD, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_080A0EF0(Entity* ent) {
|
void sub_080A0EF0(Entity* ent) {
|
||||||
s32 tileIndex;
|
s32 tileIndex;
|
||||||
|
|
||||||
tileIndex = GetTileType(ent->field_0x80, 1);
|
tileIndex = GetTileType(ent->field_0x80.HWORD, 1);
|
||||||
if (tileIndex != 0x407D) {
|
if (tileIndex != 0x407D) {
|
||||||
sub_08078B48();
|
sub_08078B48();
|
||||||
gLinkEntity.x.WORD = ent->x.WORD;
|
gLinkEntity.x.WORD = ent->x.WORD;
|
||||||
|
|
Loading…
Reference in New Issue