Match sub_0804393C

This commit is contained in:
Tal Hayon
2022-09-02 15:20:03 +03:00
parent 45153b7647
commit 83d376229b
2 changed files with 25 additions and 111 deletions
+25 -2
View File
@@ -1198,9 +1198,32 @@ static u32 sub_080437DC(Entity* this) {
return 1;
}
static ASM_FUNC("asm/non_matching/vaati/sub_0804393C.inc", void sub_0804393C(Entity* this))
void sub_0804393C(Entity* this) {
s32 uVar1;
s32 uVar2;
s32 uVar6;
s32 iVar7;
VaatiArm_HeapStruct1* hs;
Entity* ent;
static void sub_08043A10(Entity* this) {
ent = ((VaatiArm_HeapStruct*)this->myHeap)->entities[0];
if (ent->field_0x7c.BYTES.byte0 != 0 && ent->field_0x7c.BYTES.byte1 <= this->type) {
uVar2 = gUnk_080D1362[this->type * 16 + ((ent->field_0x7c.BYTES.byte0 >> 3) & 0xf)];
} else {
uVar2 = 0;
}
hs = &((VaatiArm_HeapStruct*)this->myHeap)->s1[this->type];
uVar2 = (uVar2 + hs->unk0c) << 8;
uVar1 = -gSineTable[hs->unk04.HALF.HI + 0x40] * uVar2;
uVar2 = (gSineTable[hs->unk04.HALF.HI & 0x7f] * uVar2) / 0x100;
uVar6 = gSineTable[hs->unk00.HALF.HI] * uVar2;
iVar7 = -gSineTable[hs->unk00.HALF.HI + 0x40] * uVar2;
PositionRelative(((VaatiArm_HeapStruct*)this->myHeap)->entities[this->type + 1], this, uVar6, iVar7);
this->z.WORD += uVar1;
this->spriteOffsetY = ((VaatiArm_HeapStruct*)this->myHeap)->entities[this->type + 1]->spriteOffsetY;
}
static void sub_08043A10(Entity* this) {
sub_08043B7C(this);
sub_0804393C(((VaatiArm_HeapStruct*)this->myHeap)->entities[4]);
((VaatiArm_HeapStruct*)this->myHeap)->entities[4]->y.HALF.HI -= 8;