mirror of https://github.com/zeldaret/tmc.git
position.c tentative
This commit is contained in:
parent
c9ab3b9815
commit
1e384fe0a3
|
@ -73,7 +73,7 @@ _080217A8:
|
|||
strb r0, [r2]
|
||||
ldr r0, _080217EC @ =gLinkEntity
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldr r0, _080217F0 @ =0x0000FFFF
|
||||
strh r0, [r4, #0x36]
|
||||
adds r1, r4, #0
|
||||
|
@ -639,7 +639,7 @@ _08021C04:
|
|||
strb r0, [r1]
|
||||
ldr r0, _08021C50 @ =gLinkEntity
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldr r2, _08021C54 @ =gUnk_080CB5E4
|
||||
ldrb r1, [r4, #0xf]
|
||||
adds r0, r1, #1
|
||||
|
|
|
@ -630,7 +630,7 @@ sub_0806D4C0: @ 0x0806D4C0
|
|||
bl CopyPosition
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
|
|
|
@ -754,7 +754,7 @@ _08099D40:
|
|||
bl InitializeAnimation
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
|
|
|
@ -143,7 +143,7 @@ sub_08098DC4: @ 0x08098DC4
|
|||
strb r4, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
ldr r1, _08098E30 @ =gLinkState
|
||||
movs r0, #0x1f
|
||||
strb r0, [r1, #0xc]
|
||||
|
|
|
@ -94,7 +94,7 @@ sub_0809CF54: @ 0x0809CF54
|
|||
bl PositionRelative
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_0809CFD8:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
|
|
@ -274,7 +274,7 @@ sub_0809B56C: @ 0x0809B56C
|
|||
cmp r1, #0
|
||||
beq _0809B5B0
|
||||
adds r0, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_0809B5B0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
|
|
@ -365,7 +365,7 @@ _080675EC:
|
|||
strb r0, [r3, #0x19]
|
||||
adds r0, r4, #0
|
||||
adds r1, r3, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_08067646:
|
||||
subs r6, #1
|
||||
adds r5, #2
|
||||
|
@ -418,7 +418,7 @@ _08067656:
|
|||
strb r0, [r3, #0x19]
|
||||
adds r0, r4, #0
|
||||
adds r1, r3, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_080676B0:
|
||||
subs r6, #1
|
||||
adds r5, #2
|
||||
|
|
|
@ -392,7 +392,7 @@ sub_080386B8: @ 0x080386B8
|
|||
cmp r1, #0
|
||||
beq _08038720
|
||||
adds r0, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_08038720:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
@ -499,7 +499,7 @@ _080387D8:
|
|||
cmp r1, #0
|
||||
beq _080387EE
|
||||
adds r0, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_080387EE:
|
||||
pop {r4, pc}
|
||||
|
||||
|
|
|
@ -1154,7 +1154,7 @@ sub_0804A4E4: @ 0x0804A4E4
|
|||
strb r0, [r1]
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldrb r0, [r7]
|
||||
ands r4, r0
|
||||
cmp r4, #0
|
||||
|
|
|
@ -5,88 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0806FA6C
|
||||
sub_0806FA6C: @ 0x0806FA6C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
adds r2, #0x62
|
||||
ldrb r2, [r2]
|
||||
adds r3, r1, #0
|
||||
adds r3, #0x62
|
||||
strb r2, [r3]
|
||||
adds r2, r0, #0
|
||||
adds r2, #0x63
|
||||
ldrb r2, [r2]
|
||||
adds r3, #1
|
||||
strb r2, [r3]
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
bl PositionRelative
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806FA90
|
||||
sub_0806FA90: @ 0x0806FA90
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r4, #0x62
|
||||
ldrb r4, [r4]
|
||||
movs r5, #0x62
|
||||
strb r4, [r5, r1]
|
||||
adds r4, r0, #0
|
||||
adds r4, #0x63
|
||||
ldrb r4, [r4]
|
||||
movs r5, #0x63
|
||||
strb r4, [r5, r1]
|
||||
lsls r2, r2, #0x10
|
||||
lsls r3, r3, #0x10
|
||||
bl PositionRelative
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0806FAB0
|
||||
sub_0806FAB0: @ 0x0806FAB0
|
||||
ldr r2, _0806FAD4 @ =gUnk_08114F78
|
||||
adds r0, #0x29
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x1d
|
||||
lsrs r0, r0, #0x1d
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
adds r1, #0x29
|
||||
movs r2, #7
|
||||
ands r2, r0
|
||||
ldrb r3, [r1]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r3
|
||||
orrs r0, r2
|
||||
strb r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0806FAD4: .4byte gUnk_08114F78
|
||||
|
||||
thumb_func_start sub_0806FAD8
|
||||
sub_0806FAD8: @ 0x0806FAD8
|
||||
ldr r2, _0806FAFC @ =gUnk_08114F80
|
||||
adds r0, #0x29
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x1d
|
||||
lsrs r0, r0, #0x1d
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
adds r1, #0x29
|
||||
movs r2, #7
|
||||
ands r2, r0
|
||||
ldrb r3, [r1]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r3
|
||||
orrs r0, r2
|
||||
strb r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0806FAFC: .4byte gUnk_08114F80
|
||||
|
||||
thumb_func_start sub_0806FB00
|
||||
sub_0806FB00: @ 0x0806FB00
|
||||
push {r4, lr}
|
||||
|
|
|
@ -1128,7 +1128,7 @@ sub_08070F50: @ 0x08070F50
|
|||
beq _08070F9A
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FA30
|
||||
bl PositionEntityOnTop
|
||||
ldrh r0, [r4, #0x12]
|
||||
ldrb r1, [r4, #0x1e]
|
||||
bl sub_080700C8
|
||||
|
|
|
@ -2434,7 +2434,7 @@ _08078DE0:
|
|||
strh r0, [r4, #0x32]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
ldr r0, _08078E34 @ =gLinkState
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #4
|
||||
|
|
|
@ -5900,7 +5900,7 @@ sub_0807F714: @ 0x0807F714
|
|||
orrs r0, r2
|
||||
strb r0, [r1, #0x19]
|
||||
adds r0, r1, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0807F734: .4byte gUnk_08114F30
|
||||
|
|
|
@ -286,7 +286,7 @@ _080A2BB4:
|
|||
bl PositionRelative
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x62
|
||||
ldrb r0, [r0]
|
||||
|
@ -499,7 +499,7 @@ sub_080A2D2C: @ 0x080A2D2C
|
|||
bl CopyPosition
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
str r5, [r4, #0x50]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x62
|
||||
|
|
|
@ -5359,7 +5359,7 @@ _080A7F56:
|
|||
strb r0, [r2]
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
adds r0, r4, #0
|
||||
bl sub_080A7F9C
|
||||
ldrb r0, [r4, #0xa]
|
||||
|
@ -11399,14 +11399,14 @@ sub_080AAC44: @ 0x080AAC44
|
|||
bne _080AAC84
|
||||
ldr r0, _080AAC80 @ =gLinkEntity
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
b _080AAC8C
|
||||
.align 2, 0
|
||||
_080AAC80: .4byte gLinkEntity
|
||||
_080AAC84:
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_080AAC8C:
|
||||
bl sub_08077B2C
|
||||
ldr r2, _080AACB4 @ =gLinkState
|
||||
|
@ -11595,7 +11595,7 @@ _080AADCC:
|
|||
strb r0, [r1]
|
||||
ldr r0, [r5, #0x50]
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_080AADE0:
|
||||
ldrb r1, [r5, #0xa]
|
||||
cmp r1, #0
|
||||
|
@ -11664,7 +11664,7 @@ _080AAE60: .4byte gLinkEntity
|
|||
_080AAE64:
|
||||
ldr r0, [r5, #0x50]
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
ldrb r1, [r5, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
|
@ -12021,7 +12021,7 @@ _080AB0AA:
|
|||
strb r0, [r5, #0xa]
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
_080AB124:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
@ -14061,7 +14061,7 @@ _080AC058:
|
|||
strb r0, [r1]
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldrh r0, [r4, #0x36]
|
||||
subs r0, #0x14
|
||||
strh r0, [r4, #0x36]
|
||||
|
@ -14084,7 +14084,7 @@ sub_080AC074: @ 0x080AC074
|
|||
_080AC084:
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldrh r0, [r4, #0x36]
|
||||
subs r0, #0x14
|
||||
strh r0, [r4, #0x36]
|
||||
|
|
|
@ -339,7 +339,7 @@ sub_080376D0: @ 0x080376D0
|
|||
strb r0, [r2, #0xa]
|
||||
ldr r0, _08037728 @ =gLinkEntity
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r2, r4, #0
|
||||
|
|
|
@ -60,7 +60,7 @@ _0806CB2C:
|
|||
bl CopyPosition
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_0806CB4E:
|
||||
adds r0, r5, #0
|
||||
bl sub_0807DD64
|
||||
|
|
|
@ -535,7 +535,7 @@ _08080DB4:
|
|||
adds r2, #1
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
b _08080E00
|
||||
_08080DEE:
|
||||
ldr r0, _08080E04 @ =gUnk_030010A0
|
||||
|
|
|
@ -3213,7 +3213,7 @@ _0803B950:
|
|||
bl InitializeAnimation
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803B978
|
||||
|
|
|
@ -1631,7 +1631,7 @@ _08034A98:
|
|||
_08034ABA:
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
_08034AC2:
|
||||
pop {r4, pc}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
beq _0809F7B6
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA30
|
||||
bl PositionEntityOnTop
|
||||
bl Random
|
||||
ldrh r2, [r4, #0x2e]
|
||||
subs r2, #0x10
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
beq _0806A2AE
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA30
|
||||
bl PositionEntityOnTop
|
||||
bl Random
|
||||
adds r5, r0, #0
|
||||
ldr r2, _0806A2B0 @ =gUnk_081121DC
|
||||
|
|
|
@ -484,7 +484,7 @@ _0808F41A:
|
|||
_0808F42E:
|
||||
ldr r0, [r4, #0x54]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
b _0808F494
|
||||
_0808F438:
|
||||
ldr r0, [r4, #0x50]
|
||||
|
@ -531,7 +531,7 @@ _0808F486:
|
|||
bl sub_08004274
|
||||
ldr r0, [r4, #0x54]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
_0808F494:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
@ -632,7 +632,7 @@ sub_0808F554: @ 0x0808F554
|
|||
adds r5, r0, #0
|
||||
ldr r0, [r5, #0x50]
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x63
|
||||
ldrb r0, [r1]
|
||||
|
|
|
@ -1189,7 +1189,7 @@ sub_08095330: @ 0x08095330
|
|||
strh r0, [r4, #0x36]
|
||||
adds r0, r4, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_0809535E:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
@ -1255,7 +1255,7 @@ sub_080953A4: @ 0x080953A4
|
|||
strb r0, [r4, #0x19]
|
||||
adds r0, r4, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
_080953E0:
|
||||
|
@ -1820,7 +1820,7 @@ sub_08095810: @ 0x08095810
|
|||
bl CopyPosition
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
ldr r1, _08095848 @ =gUnk_08011940
|
||||
adds r0, r4, #0
|
||||
bl StartCutscene
|
||||
|
@ -2603,7 +2603,7 @@ _08095DF4:
|
|||
strb r0, [r4, #0x19]
|
||||
adds r0, r4, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_08095E30:
|
||||
ldrb r2, [r4, #0xb]
|
||||
movs r0, #0x80
|
||||
|
@ -3004,7 +3004,7 @@ _08096110:
|
|||
strb r0, [r4, #0x19]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
|
|
|
@ -70,7 +70,7 @@ _0809E490:
|
|||
strb r0, [r4, #0x18]
|
||||
adds r0, r6, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
mov r2, sb
|
||||
ldrb r0, [r2]
|
||||
ldrb r1, [r7]
|
||||
|
|
|
@ -159,7 +159,7 @@ _080A0CA0:
|
|||
strh r0, [r4, #0x32]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_080A0CC0:
|
||||
movs r0, #0xb4
|
||||
movs r1, #3
|
||||
|
@ -174,7 +174,7 @@ _080A0CC0:
|
|||
strh r0, [r4, #0x32]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_080A0CE0:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
|
|
@ -253,7 +253,7 @@ _080A273C:
|
|||
beq _080A2762
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FA30
|
||||
bl PositionEntityOnTop
|
||||
ldrh r0, [r4, #0x12]
|
||||
ldrb r1, [r4, #0x1e]
|
||||
bl sub_080700C8
|
||||
|
|
|
@ -1503,7 +1503,7 @@ _08035D28:
|
|||
_08035D38:
|
||||
ldr r0, [r5, #0x50]
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0, #1]
|
||||
subs r0, #2
|
||||
|
@ -1512,7 +1512,7 @@ _08035D38:
|
|||
bne _08035D8A
|
||||
ldr r0, [r5, #0x50]
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
ldr r4, [r5, #0x50]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x74
|
||||
|
|
|
@ -21,7 +21,7 @@ sub_08062E60: @ 0x08062E60
|
|||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
ldr r0, _08062EB4 @ =gUnk_0810C428
|
||||
str r0, [r4, #0x48]
|
||||
adds r0, r4, #0
|
||||
|
|
|
@ -607,7 +607,7 @@ _0806A860:
|
|||
cmp r1, #0
|
||||
beq _0806A88A
|
||||
adds r0, r4, #0
|
||||
bl sub_0806FA30
|
||||
bl PositionEntityOnTop
|
||||
_0806A88A:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
@ -696,7 +696,7 @@ sub_0806A914: @ 0x0806A914
|
|||
bl CopyPosition
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_0806A938:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
|
|
@ -176,7 +176,7 @@ sub_080293DC: @ 0x080293DC
|
|||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
|
|
|
@ -721,7 +721,7 @@ _08099706:
|
|||
bl sub_08004274
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
|
|
|
@ -459,7 +459,7 @@ _080847F0:
|
|||
strh r0, [r5, #0x36]
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
adds r0, r5, #0
|
||||
bl sub_080845DC
|
||||
pop {r4, r5, pc}
|
||||
|
|
|
@ -549,7 +549,7 @@ sub_08061F94: @ 0x08061F94
|
|||
cmp r1, #0
|
||||
beq _08061FAC
|
||||
adds r0, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
_08061FAC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
|
|
@ -328,7 +328,7 @@ _0802EEC8:
|
|||
_0802EED6:
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldr r1, _0802EF14 @ =gLinkEntity
|
||||
adds r0, r4, #0
|
||||
bl sub_080045C4
|
||||
|
@ -387,7 +387,7 @@ _0802EF2C:
|
|||
_0802EF4A:
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA6C
|
||||
bl CopyPositionAndSpriteOffset
|
||||
movs r0, #0
|
||||
strh r0, [r4, #0x36]
|
||||
pop {r4, pc}
|
||||
|
|
|
@ -20,7 +20,7 @@ sub_08062E20: @ 0x08062E20
|
|||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAB0
|
||||
bl ResolveEntityOnTop
|
||||
ldr r0, _08062E5C @ =gUnk_0810C3C0
|
||||
str r0, [r4, #0x48]
|
||||
adds r1, r4, #0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "position.h"
|
||||
|
||||
// Identified
|
||||
extern u32 Random(void);
|
||||
|
@ -23,7 +24,6 @@ extern u32 CheckKinstoneFused(u32);
|
|||
extern void ForceEquipItem(u8, u8);
|
||||
extern void LoadRoomEntityList();
|
||||
void ModHealth(s32);
|
||||
void PositionRelative(Entity*, Entity*, u32, u32);
|
||||
void CopyPosition(Entity*, Entity*);
|
||||
extern u32* StartCutscene(Entity*, u8*);
|
||||
|
||||
|
@ -66,7 +66,7 @@ extern void sub_0806FF88(Entity*, u32, u32);
|
|||
extern void sub_0807000C(Entity*);
|
||||
extern void sub_0805E47C(Entity*);
|
||||
extern void sub_0805E584(Entity*);
|
||||
extern void sub_0806FAB0(Entity*, Entity*);
|
||||
extern void ResolveEntityOnTop(Entity*, Entity*);
|
||||
extern void sub_0806ED78(Entity*);
|
||||
extern void sub_08068BEC(Entity*, u32);
|
||||
extern void sub_08078778(Entity*);
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
#ifndef POSITION_H
|
||||
#define POSITION_H
|
||||
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
void CopyPosition(Entity*, Entity*);
|
||||
void PositionEntityOnTop(Entity*, Entity*);
|
||||
void PositionRelative(Entity*, Entity*, s32, s32);
|
||||
void sub_0806FA90(Entity*, Entity*, s32, s32);
|
||||
void ResolveEntityOnTop(Entity*, Entity*);
|
||||
|
||||
#endif
|
|
@ -561,9 +561,7 @@ SECTIONS {
|
|||
asm/code_0806ED78.o(.text);
|
||||
src/sub_0806F9EC.o(.text);
|
||||
src/sub_0806FA04.o(.text);
|
||||
src/copyPosition.o(.text);
|
||||
src/sub_0806FA30.o(.text);
|
||||
src/positionRelative.o(.text);
|
||||
src/position.o(.text);
|
||||
asm/code_0806FA6C.o(.text);
|
||||
src/sub_08070680.o(.text);
|
||||
asm/code_08070698.o(.text);
|
||||
|
|
|
@ -20,7 +20,7 @@ extern void (*gUnk_08124798[])(Entity*);
|
|||
extern void (*gUnk_081247A0[])(Entity*);
|
||||
extern void (*gUnk_081247AC[])(Entity*);
|
||||
extern Entity* CreateObject(u32, u32, u32);
|
||||
extern void sub_0806FA30(Entity*, Entity*);
|
||||
extern void PositionEntityOnTop(Entity*, Entity*);
|
||||
extern void sub_0807BB68(u32*, u32, u32);
|
||||
|
||||
extern u8 gUnk_02034490;
|
||||
|
@ -164,7 +164,7 @@ Entity* sub_0809F770(Entity* this) {
|
|||
|
||||
cloud = CreateObject(163, 1, 0);
|
||||
if (cloud != NULL) {
|
||||
sub_0806FA30(this, cloud);
|
||||
PositionEntityOnTop(this, cloud);
|
||||
uVar1 = Random();
|
||||
cloud->x.HALF.HI = ((cloud->x.HALF.HI - 16) + (uVar1 >> 0)) & 31;
|
||||
cloud->y.HALF.HI = ((cloud->y.HALF.HI - 16) + (uVar1 >> 8)) & 31;
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern void PositionRelative();
|
||||
|
||||
void CopyPosition(Entity* param_1, Entity* param_2)
|
||||
|
||||
{
|
||||
PositionRelative(param_1, param_2, 0, 0);
|
||||
return;
|
||||
}
|
|
@ -81,13 +81,13 @@ void sub_08069428(Entity* this, s32 offsetX, bool32 createFx65) {
|
|||
Entity* fx = CreateFx(this, 4, 0);
|
||||
if (fx) {
|
||||
PositionRelative(this, fx, offsetX, 0xFFF00000);
|
||||
sub_0806FAB0(this, fx);
|
||||
ResolveEntityOnTop(this, fx);
|
||||
}
|
||||
if (createFx65 != 0) {
|
||||
fx = CreateFx(this, 65, 0);
|
||||
if (fx) {
|
||||
PositionRelative(this, fx, offsetX, 0xFFF00000);
|
||||
sub_0806FAB0(this, fx);
|
||||
ResolveEntityOnTop(this, fx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "position.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern u8 gUnk_08114F78[];
|
||||
extern u8 gUnk_08114F80[];
|
||||
|
||||
void CopyPosition(Entity* param_1, Entity* param_2)
|
||||
{
|
||||
PositionRelative(param_1, param_2, 0, 0);
|
||||
}
|
||||
|
||||
void PositionEntityOnTop(Entity* ent, Entity* ent2) {
|
||||
PositionRelative(ent, ent2, 0, 0);
|
||||
ResolveEntityOnTop(ent, ent2);
|
||||
}
|
||||
|
||||
void PositionRelative(Entity* source, Entity* target, s32 offsetX, s32 offsetY) { // r0, r1, r2, r3
|
||||
s32 x;
|
||||
s32 y;
|
||||
|
||||
x = source->x.WORD;
|
||||
target->x.WORD = x + offsetX;
|
||||
|
||||
y = source->y.WORD;
|
||||
target->y.WORD = y + offsetY;
|
||||
|
||||
target->height = source->height; // ldr
|
||||
target->collisionLayer = source->collisionLayer;
|
||||
UpdateSpriteOrderAndFlip(target);
|
||||
}
|
||||
|
||||
void CopyPositionAndSpriteOffset(Entity *param_1,Entity *param_2)
|
||||
{
|
||||
param_2->spriteOffsetX = param_1->spriteOffsetX;
|
||||
param_2->spriteOffsetY = param_1->spriteOffsetY;
|
||||
PositionRelative(param_1, param_2, 0, 0);
|
||||
}
|
||||
|
||||
void sub_0806FA90(Entity *param_1,Entity *param_2, s32 offsetX, s32 offsetY)
|
||||
{
|
||||
param_2->spriteOffsetX = param_1->spriteOffsetX;
|
||||
param_2->spriteOffsetY = param_1->spriteOffsetY;
|
||||
PositionRelative(param_1,param_2, offsetX * 64 * 32 * 32, offsetY * 64 * 32 * 32);
|
||||
}
|
||||
|
||||
void ResolveEntityOnTop(Entity *param_1,Entity *param_2)
|
||||
{
|
||||
param_2->ticks.b0 = gUnk_08114F78[param_1->ticks.b0];
|
||||
}
|
||||
|
||||
void sub_0806FAD8(Entity *param_1,Entity *param_2)
|
||||
{
|
||||
param_2->ticks.b0 = gUnk_08114F80[param_1->ticks.b0];
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern void UpdateSpriteOrderAndFlip(Entity*);
|
||||
|
||||
void PositionRelative(Entity* source, Entity* target, s32 offsetX, s32 offsetY) { // r0, r1, r2, r3
|
||||
s32 x;
|
||||
s32 y;
|
||||
|
||||
x = source->x.WORD;
|
||||
target->x.WORD = x + offsetX;
|
||||
|
||||
y = source->y.WORD;
|
||||
target->y.WORD = y + offsetY;
|
||||
|
||||
target->height = source->height; // ldr
|
||||
target->collisionLayer = source->collisionLayer;
|
||||
UpdateSpriteOrderAndFlip(target);
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
extern void PositionRelative(Entity*, Entity*, s32, s32);
|
||||
extern void sub_0806FAB0(Entity*, Entity*);
|
||||
|
||||
void sub_0806FA30(Entity* ent, Entity* ent2) {
|
||||
PositionRelative(ent, ent2, 0, 0);
|
||||
sub_0806FAB0(ent, ent2);
|
||||
}
|
||||
/*
|
||||
thumb_func_start sub_0806FA30
|
||||
sub_0806FA30: @ 0x0806FA30
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
bl PositionRelative
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FAB0
|
||||
pop {r4, r5, pc}
|
||||
*/
|
|
@ -59,7 +59,7 @@ void sub_0806A26C(Entity *this)
|
|||
Entity *pEVar1;
|
||||
pEVar1 = CreateObject(0xf,0x2f,0);
|
||||
if (pEVar1 != NULL) {
|
||||
sub_0806FA30(this, pEVar1);
|
||||
PositionEntityOnTop(this, pEVar1);
|
||||
if (uVar2 = Random(), uVar2)
|
||||
{
|
||||
unk = -unk; // wtf?!
|
||||
|
|
Loading…
Reference in New Issue