position.c tentative

This commit is contained in:
theo3 2020-06-16 12:06:23 -07:00
parent c9ab3b9815
commit 1e384fe0a3
46 changed files with 133 additions and 201 deletions

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1631,7 +1631,7 @@ _08034A98:
_08034ABA:
ldr r0, [r4, #0x50]
adds r1, r4, #0
bl sub_0806FA6C
bl CopyPositionAndSpriteOffset
_08034AC2:
pop {r4, pc}

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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]

View File

@ -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}

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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*);

13
include/position.h Normal file
View File

@ -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

View File

@ -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);

View File

@ -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;

View File

@ -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;
}

View File

@ -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);
}
}
}

56
src/position.c Normal file
View File

@ -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];
}

View File

@ -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);
}

View File

@ -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}
*/

View File

@ -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?!