summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTal Hayon <talhayon1@gmail.com>2022-08-07 00:39:22 +0300
committerTal Hayon <talhayon1@gmail.com>2022-08-07 00:39:22 +0300
commitc45195c57754b1c802a2bae3e473df01bed4cd85 (patch)
tree1002df8b88f17536bed64c74a62115bb55c6d369 /src
parent807d313e10be369240a1309f7ffe63c143f87287 (diff)
Use negative values where appropriate
Diffstat (limited to 'src')
-rw-r--r--src/enemy/cuccoAggr.c2
-rw-r--r--src/enemy/dust.c2
-rw-r--r--src/enemy/enemy50.c2
-rw-r--r--src/enemy/flyingSkull.c2
-rw-r--r--src/enemy/ghini.c30
-rw-r--r--src/enemy/gyorgMale.c4
-rw-r--r--src/enemy/octorokGolden.c2
-rw-r--r--src/enemy/pesto.c2
-rw-r--r--src/menu/figurine_menu.c2
-rw-r--r--src/npc/guard.c2
-rw-r--r--src/npc/librarians.c2
-rw-r--r--src/npc/mountainMinish.c6
-rw-r--r--src/npc/npc58.c4
-rw-r--r--src/npc/phonograph.c2
-rw-r--r--src/npc/tingleSiblings.c2
-rw-r--r--src/npcUtils.c28
-rw-r--r--src/object/bigBarrel.c8
-rw-r--r--src/object/chestSpawner.c2
-rw-r--r--src/object/gleerokParticle.c4
-rw-r--r--src/object/keyStealingTakkuri.c4
-rw-r--r--src/object/lilypadLarge.c2
-rw-r--r--src/object/litArea.c4
-rw-r--r--src/object/stoneTablet.c7
-rw-r--r--src/projectile/ballAndChain.c2
-rw-r--r--src/projectile/cannonballProjectile.c2
-rw-r--r--src/projectile/stalfosProjectile.c2
-rw-r--r--src/projectile/v3TennisBallProjectile.c2
27 files changed, 61 insertions, 72 deletions
diff --git a/src/enemy/cuccoAggr.c b/src/enemy/cuccoAggr.c
index 99c4a6d8..c14a4464 100644
--- a/src/enemy/cuccoAggr.c
+++ b/src/enemy/cuccoAggr.c
@@ -274,7 +274,7 @@ void sub_08039140(CuccoAggrEntity* this) {
super->action = 6;
super->timer = Random();
super->direction = GetFacingDirection(super, &gPlayerEntity);
- super->z.HALF.HI = 0xfffc;
+ super->z.HALF.HI = -4;
this->unk_78 = 0xb4;
sub_080390F8(this);
InitializeAnimation(super, 4);
diff --git a/src/enemy/dust.c b/src/enemy/dust.c
index d4babd2f..74da343e 100644
--- a/src/enemy/dust.c
+++ b/src/enemy/dust.c
@@ -146,7 +146,7 @@ void sub_080441E0(DustEntity* this) {
super->frameIndex = 1;
super->spritePriority.b0 = 7;
this->unk_75 = 0;
- this->unk_76 = 0xffff;
+ this->unk_76 = -1;
} else {
super->frameIndex = 0;
super->speed = 0;
diff --git a/src/enemy/enemy50.c b/src/enemy/enemy50.c
index 8704cc41..7e47330c 100644
--- a/src/enemy/enemy50.c
+++ b/src/enemy/enemy50.c
@@ -143,7 +143,7 @@ void sub_08040D30(Enemy50Entity* this) {
}
GenericConfused(super);
if (super->z.HALF.HI == 0) {
- super->z.HALF.HI = 0xffff;
+ super->z.HALF.HI = -1;
}
if (super->confusedTime == 0) {
InitializeAnimation(super, (super->animationState ^ 1) + 1);
diff --git a/src/enemy/flyingSkull.c b/src/enemy/flyingSkull.c
index fd2e63c8..7897de3a 100644
--- a/src/enemy/flyingSkull.c
+++ b/src/enemy/flyingSkull.c
@@ -82,7 +82,7 @@ void sub_08039CE0(FlyingSkullEntity* this) {
if (super->timer == 0) {
sub_0803A100(this);
super->timer = 1;
- super->z.HALF.HI = 0xffff;
+ super->z.HALF.HI = -1;
super->spriteOffsetX = 0;
SetTile(this->unk_0x74, COORD_TO_TILE(super), super->collisionLayer);
}
diff --git a/src/enemy/ghini.c b/src/enemy/ghini.c
index a620a5fe..86b9f00c 100644
--- a/src/enemy/ghini.c
+++ b/src/enemy/ghini.c
@@ -28,9 +28,9 @@ extern void (*const Ghini_Actions[])(GhiniEntity*);
extern void (*const Ghini_SubActions[])(GhiniEntity*);
extern const u8 gUnk_080D0970[];
extern const u8 gUnk_080D0974[];
-extern const u8 gUnk_080D0978[];
+extern const s8 gUnk_080D0978[];
extern const u8 gUnk_080D0980[];
-extern const u8 gUnk_080D0984[];
+extern const s8 gUnk_080D0984[];
void sub_0803F694(GhiniEntity*);
void sub_0803F630(GhiniEntity*);
@@ -102,7 +102,7 @@ void Ghini_OnConfused(GhiniEntity* this) {
}
GenericConfused(super);
if (super->z.HALF.HI == 0) {
- super->z.HALF.HI = 0xffff;
+ super->z.HALF.HI = -1;
}
if (super->confusedTime == 0) {
InitializeAnimation(super, (super->animationState ^ 1) + 1);
@@ -361,11 +361,11 @@ void sub_0803F66C(GhiniEntity* this) {
}
void sub_0803F694(GhiniEntity* this) {
- super->z.HALF.HI = gUnk_080D0984[(((u32)this->unk_7b++ << 0x18) >> 0x1b) & 3] << 0x18 >> 0x18;
+ super->z.HALF.HI = gUnk_080D0984[(this->unk_7b++ >> 3) & 3];
}
void sub_0803F6C0(GhiniEntity* this) {
- super->frame &= 0xfe;
+ super->frame &= ~1;
gPlayerEntity.iframes = 0xc;
ModHealth(-4);
SoundReqClipped(&gPlayerEntity, SFX_PLY_VO6);
@@ -373,9 +373,9 @@ void sub_0803F6C0(GhiniEntity* this) {
void sub_0803F6EC(GhiniEntity* this) {
if (gPlayerEntity.health != 0) {
- gPlayerEntity.flags |= 0x80;
- gPlayerEntity.zVelocity = 0x18000;
- gPlayerEntity.z.HALF.HI = 0xfffe;
+ gPlayerEntity.flags |= ENT_COLLIDE;
+ gPlayerEntity.zVelocity = Q_16_16(1.5);
+ gPlayerEntity.z.HALF.HI = -2;
gPlayerEntity.direction = gPlayerEntity.animationState << 2;
gPlayerEntity.iframes = -0x3c;
gPlayerState.jump_status = 0x41;
@@ -416,8 +416,8 @@ const u8 gUnk_080D0974[] = {
160,
128,
};
-const u8 gUnk_080D0978[] = {
- 0, 254, 0, 2, 0, 252, 0, 4,
+const s8 gUnk_080D0978[] = {
+ 0, -2, 0, 2, 0, -4, 0, 4,
};
const u8 gUnk_080D0980[] = {
15,
@@ -425,9 +425,9 @@ const u8 gUnk_080D0980[] = {
34,
45,
};
-const u8 gUnk_080D0984[] = {
- 255,
- 254,
- 253,
- 254,
+const s8 gUnk_080D0984[] = {
+ -1,
+ -2,
+ -3,
+ -2,
};
diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c
index 42c07766..20f09035 100644
--- a/src/enemy/gyorgMale.c
+++ b/src/enemy/gyorgMale.c
@@ -949,9 +949,9 @@ void sub_08047BF0(GyorgMaleEntity* this) {
tmp = CreateFx(super, FX_GIANT_EXPLOSION4, 0);
if (tmp) {
u32 rand = Random();
- tmp->x.HALF.HI += (rand & 0x1E) + 0xFFF1;
+ tmp->x.HALF.HI += (rand & 0x1E) - 15;
rand >>= 8;
- tmp->y.HALF.HI += (rand & 0x1E) + 0xFFF1;
+ tmp->y.HALF.HI += (rand & 0x1E) - 15;
tmp->spritePriority.b0 = 3;
tmp->collisionLayer = 1;
UpdateSpriteForCollisionLayer(tmp);
diff --git a/src/enemy/octorokGolden.c b/src/enemy/octorokGolden.c
index 8cf3dff4..815c7411 100644
--- a/src/enemy/octorokGolden.c
+++ b/src/enemy/octorokGolden.c
@@ -84,7 +84,7 @@ static void sub_08037D54(Entity* this) {
ptr = gUnk_080CF490 + (this->direction >> 2);
proj->x.HALF.HI += *ptr;
proj->y.HALF.HI += *(ptr + 1);
- proj->z.HALF.HI = 0xfffd;
+ proj->z.HALF.HI = -3;
EnqueueSFX(SFX_124);
}
}
diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c
index 822dc777..a9552cc9 100644
--- a/src/enemy/pesto.c
+++ b/src/enemy/pesto.c
@@ -355,7 +355,7 @@ void sub_080244E8(Entity* this) {
case 1:
if (++this->z.HALF.HI >= -0x10) {
this->field_0x82.HALF.LO = 0;
- this->field_0x78.HWORD = 0xfff0;
+ this->field_0x78.HWORD = -16;
if (sub_08024AD8(this)) {
this->field_0x80.HALF.LO++;
} else {
diff --git a/src/menu/figurine_menu.c b/src/menu/figurine_menu.c
index 284a10c2..7506116f 100644
--- a/src/menu/figurine_menu.c
+++ b/src/menu/figurine_menu.c
@@ -594,7 +594,7 @@ void sub_080A4DB8(u32 param_1) {
MemClear(&gBG2Buffer, 0x800);
MemClear(gUnk_0200AF00.elements, sizeof(gUnk_0200AF00.elements));
MemClear(&gFigurineMenu, sizeof(gFigurineMenu));
- gFigurineMenu.unk2e = 0xffff;
+ gFigurineMenu.unk2e = -1;
gMenu.field_0x3 = gPauseMenuOptions.unk2[param_1];
ptr = &gUnk_08128AD8[gUnk_08128A38[param_1].unk0];
gScreen.lcd.displayControl = ptr->unk2 | 0x1940;
diff --git a/src/npc/guard.c b/src/npc/guard.c
index fe0fcb7b..a3e9bf05 100644
--- a/src/npc/guard.c
+++ b/src/npc/guard.c
@@ -170,7 +170,7 @@ void Guard_Head(Entity* this) {
if (this->id == 0x15) {
if ((this->frameIndex & 0x40) != 0) {
pbVar5 = pbVar5 + 0x21;
- pbVar3 = 0xffffffff;
+ pbVar3 = -1;
uVar4 = 0;
} else {
pbVar3 = (uVar2 + 0x19);
diff --git a/src/npc/librarians.c b/src/npc/librarians.c
index 0606015b..1a58777d 100644
--- a/src/npc/librarians.c
+++ b/src/npc/librarians.c
@@ -72,7 +72,7 @@ void sub_0806BA34(Entity* this, ScriptExecutionContext* context) {
}
void sub_0806BB1C(Entity* this, ScriptExecutionContext* context) {
- s32 item = 0xffffffff;
+ s32 item = -1;
if (GetInventoryValue(ITEM_QST_BOOK1) == 1) {
item = ITEM_QST_BOOK1;
} else if (GetInventoryValue(ITEM_QST_BOOK2) == 1) {
diff --git a/src/npc/mountainMinish.c b/src/npc/mountainMinish.c
index 228d3341..92156995 100644
--- a/src/npc/mountainMinish.c
+++ b/src/npc/mountainMinish.c
@@ -160,17 +160,17 @@ void sub_08067EF0(Entity* this) {
}
}
if ((this->frameSpriteSettings & 2) != 0) {
- this->frameSpriteSettings &= 0xfd;
+ this->frameSpriteSettings &= ~2;
fxEnt = CreateFx(this, FX_ROCK, 0);
if (fxEnt != NULL) {
- PositionRelative(this, fxEnt, 0, 0xffe80000);
+ PositionRelative(this, fxEnt, 0, Q_16_16(-24));
}
}
if ((this->frameSpriteSettings & 4) != 0) {
this->frameSpriteSettings &= 0xfb;
fxEnt = CreateFx(this, FX_STARS2, 0x20);
if (fxEnt != NULL) {
- PositionRelative(this, fxEnt, 0xffec0000, 0xfff60000);
+ PositionRelative(this, fxEnt, Q_16_16(-20), Q_16_16(-10));
}
}
if ((this->frameSpriteSettings & 8) != 0) {
diff --git a/src/npc/npc58.c b/src/npc/npc58.c
index 8e4202f1..5a360a9a 100644
--- a/src/npc/npc58.c
+++ b/src/npc/npc58.c
@@ -49,8 +49,8 @@ void NPC58_Head(Entity* this) {
SetExtraSpriteFrame(this, 1, (s16)this->field_0x6a.HWORD);
SetExtraSpriteFrame(this, 2, (s16)this->field_0x6c.HWORD);
SetExtraSpriteFrame(this, 3, 10);
- sub_0806FFBC(this, 0, 0xfffffff4, 0);
- sub_0806FFBC(this, 1, 0xfffffffc, 0);
+ sub_0806FFBC(this, 0, -12, 0);
+ sub_0806FFBC(this, 1, -4, 0);
sub_0806FFBC(this, 2, 0xc, 0);
sub_0807000C(this);
}
diff --git a/src/npc/phonograph.c b/src/npc/phonograph.c
index 15233b7b..26872a4c 100644
--- a/src/npc/phonograph.c
+++ b/src/npc/phonograph.c
@@ -18,7 +18,7 @@ void Phonograph(Entity* this) {
this->action++;
this->spriteSettings.draw = 1;
this->field_0x68.HWORD = 1;
- this->field_0x6a.HWORD = 0xffff;
+ this->field_0x6a.HWORD = -1;
sub_0807DD64(this);
this->frameIndex = 0;
}
diff --git a/src/npc/tingleSiblings.c b/src/npc/tingleSiblings.c
index 5204be36..c3bb814b 100644
--- a/src/npc/tingleSiblings.c
+++ b/src/npc/tingleSiblings.c
@@ -148,7 +148,7 @@ void sub_08064F28(Entity* this, ScriptExecutionContext* context) {
}
}
}
- iVar4 = 0xffffffff;
+ iVar4 = -1;
} else {
if (CheckGlobalFlag(KAKERA_COMPLETE) == 0) {
iVar4 = 100 - gSave.unk117;
diff --git a/src/npcUtils.c b/src/npcUtils.c
index cf041a0d..698cfaa8 100644
--- a/src/npcUtils.c
+++ b/src/npcUtils.c
@@ -58,12 +58,7 @@ static const NPCDefinition* GetNPCDefinition(Entity* this) {
void NPCInit(Entity* this) {
static const Hitbox* const gNPCHitboxes[] = {
- NULL,
- &gHitbox_2,
- &gHitbox_30,
- &gHitbox_2,
- &gHitbox_3,
- &gHitbox_31,
+ NULL, &gHitbox_2, &gHitbox_30, &gHitbox_2, &gHitbox_3, &gHitbox_31,
};
u32 tmp;
u32 tmp2;
@@ -92,7 +87,7 @@ void NPCInit(Entity* this) {
this->spriteSettings.shadow = definition->data.sprite.shadow;
this->spritePriority.b1 = definition->data.sprite.spritePriority;
this->spriteSettings.draw = definition->data.sprite.draw;
- this->hitbox = (Hitbox*) gNPCHitboxes[definition->bitfield.hitbox];
+ this->hitbox = (Hitbox*)gNPCHitboxes[definition->bitfield.hitbox];
this->flags |= ENT_DID_INIT;
tmp2 = 0xff;
this->animIndex = tmp2;
@@ -153,10 +148,10 @@ void sub_0806EE04(Entity* ent, void* a2, u32 a3) {
u32 sub_0806EE20(Entity* ent) {
static u32 (*const gUnk_08114EFC[])(Entity*) = {
- sub_0806EF88,
- sub_0806EE70,
- sub_0806EED0,
- sub_0806EEF4,
+ sub_0806EF88,
+ sub_0806EE70,
+ sub_0806EED0,
+ sub_0806EEF4,
};
u32 v3;
@@ -227,15 +222,8 @@ static u32 sub_0806EF74(Entity* ent, u32 a2) {
u32 sub_0806EF88(Entity* ent) {
static u32 (*const gUnk_08114F0C[])(Entity*, u16*) = {
- sub_0806EFAC,
- sub_0806EFBC,
- sub_0806EFCC,
- sub_0806EFDC,
- sub_0806F014,
- sub_0806F02C,
- sub_0806F048,
- sub_0806F050,
- sub_0806F064,
+ sub_0806EFAC, sub_0806EFBC, sub_0806EFCC, sub_0806EFDC, sub_0806F014,
+ sub_0806F02C, sub_0806F048, sub_0806F050, sub_0806F064,
};
u8* v1 = (u8*)&((u16*)ent->child)[ent->hitType];
return gUnk_08114F0C[*v1](ent, (u16*)v1);
diff --git a/src/object/bigBarrel.c b/src/object/bigBarrel.c
index 6b12f308..f40c90a3 100644
--- a/src/object/bigBarrel.c
+++ b/src/object/bigBarrel.c
@@ -109,7 +109,7 @@ void sub_08088BE0(BigBarrelEntity* this) {
Entity* ent;
if (CheckLocalFlag(0x15) == 0) {
- sub_08088C78(this, 2, 0, 0xffffff88);
+ sub_08088C78(this, 2, 0, -120);
ent = sub_08088C78(this, 4, 0x15, 0);
if (ent != NULL) {
ent->x.HALF.HI = gRoomControls.origin_x + 0x48;
@@ -118,15 +118,15 @@ void sub_08088BE0(BigBarrelEntity* this) {
}
if (CheckLocalFlag(0x16) == 0) {
- sub_08088C78(this, 2, 1, 0x78);
+ sub_08088C78(this, 2, 1, 120);
ent = sub_08088C78(this, 4, 0x16, 0);
if (ent != NULL) {
ent->x.HALF.HI = gRoomControls.origin_x + 0x188;
ent->y.HALF.HI = gRoomControls.origin_y + 200;
}
}
- sub_08088C78(this, 1, 0, 0xffffff88);
- sub_08088C78(this, 1, 1, 0x78);
+ sub_08088C78(this, 1, 0, -120);
+ sub_08088C78(this, 1, 1, 120);
}
Entity* sub_08088C78(BigBarrelEntity* this, u32 type, u32 type2, u32 xOffset) {
diff --git a/src/object/chestSpawner.c b/src/object/chestSpawner.c
index 899b336f..dfe03a92 100644
--- a/src/object/chestSpawner.c
+++ b/src/object/chestSpawner.c
@@ -201,7 +201,7 @@ void sub_080840A8(s32 param_1, s32 param_2) {
obj->zVelocity = gUnk_0811F840[Random() & 3];
obj->x.HALF.HI = gUnk_0811F850[Random() & 3] + param_1;
obj->y.HALF.HI = param_2 + 1;
- obj->z.HALF.HI = 0xfff8;
+ obj->z.HALF.HI = -8;
ResolveCollisionLayer(obj);
obj = CreateFx(obj, FX_DASH, 0);
if (obj != NULL) {
diff --git a/src/object/gleerokParticle.c b/src/object/gleerokParticle.c
index 93462377..e878f2a1 100644
--- a/src/object/gleerokParticle.c
+++ b/src/object/gleerokParticle.c
@@ -323,11 +323,11 @@ void sub_08094660(GleerokParticleEntity* this) {
sub_08094708(this, iVar3, iVar4);
iVar3 = super->x.HALF.HI + spriteOffsetX + 0x30;
iVar4 = super->y.HALF.HI + spriteOffsetX + 0x30;
- this->unk78 = 0xfffffff0;
+ this->unk78 = -16;
this->unk7c = 0;
sub_08094708(this, iVar3, iVar4);
this->unk78 = 0;
- this->unk7c = 0xfffffff0;
+ this->unk7c = -16;
sub_08094708(this, iVar3, iVar4);
}
}
diff --git a/src/object/keyStealingTakkuri.c b/src/object/keyStealingTakkuri.c
index 68fac5a3..1cc970ca 100644
--- a/src/object/keyStealingTakkuri.c
+++ b/src/object/keyStealingTakkuri.c
@@ -378,7 +378,7 @@ void KeyStealingTakkuri_Type4_Init(KeyStealingTakkuriEntity* this) {
super->action++;
super->collisionLayer = 1;
super->spriteRendering.b3 = 1;
- super->z.HALF.HI = 0xfff0;
+ super->z.HALF.HI = -16;
sub_0807DD64(super);
InitAnimationForceUpdate(super, 1);
}
@@ -396,7 +396,7 @@ void sub_0809E0A0(KeyStealingTakkuriEntity* this) {
super->child = obj;
super->subtimer = 0;
CopyPosition(&gPlayerEntity, obj);
- obj->z.HALF.HI = 0xfff8;
+ obj->z.HALF.HI = -8;
}
}
diff --git a/src/object/lilypadLarge.c b/src/object/lilypadLarge.c
index a36f8277..154402d0 100644
--- a/src/object/lilypadLarge.c
+++ b/src/object/lilypadLarge.c
@@ -347,7 +347,7 @@ void sub_08085A44(LilypadLargeEntity* this) {
if (GetRelativeCollisionTile(super, 0x10, 0x18) != 0x11) {
super->direction = 0x18;
} else {
- if (GetRelativeCollisionTile(super, 0xfffffff0, 0x18) != 0x11) {
+ if (GetRelativeCollisionTile(super, -0x10, 0x18) != 0x11) {
super->direction = 8;
} else {
super->direction = 0x10;
diff --git a/src/object/litArea.c b/src/object/litArea.c
index 74c14e5b..b615672c 100644
--- a/src/object/litArea.c
+++ b/src/object/litArea.c
@@ -23,7 +23,7 @@ void LitArea(Entity* this) {
this->flags |= ENT_PERSIST;
this->subtimer = gRoomControls.room;
this->timer = 2;
- this->field_0x68.HWORD = 0xfffe;
+ this->field_0x68.HWORD = -2;
this->field_0x6a.HWORD = 0x80;
SetAffineInfo(this, 0x80, 0x80, 0);
} else {
@@ -34,7 +34,7 @@ void LitArea(Entity* this) {
this->field_0x68.HWORD = 1;
}
if (0x88 < this->field_0x6a.HWORD) {
- this->field_0x68.HWORD = 0xffff;
+ this->field_0x68.HWORD = -1;
}
SetAffineInfo(this, this->field_0x6a.HWORD, this->field_0x6a.HWORD, 0);
}
diff --git a/src/object/stoneTablet.c b/src/object/stoneTablet.c
index ad01fcda..06049ca9 100644
--- a/src/object/stoneTablet.c
+++ b/src/object/stoneTablet.c
@@ -22,9 +22,10 @@ void StoneTablet(Entity* this) {
void StoneTablet_Init(Entity* this) {
// TODO recreate as TileData[]
- static const u16 gUnk_081232EC[] = { 0x4022, 0xfffe, 0x4022, 0xffff, 0x4022, 0x0, 0x4022, 0x1, 0xffff };
- static const u16 gUnk_081232FE[] = { 0x4065, 0xffbf, 0x4022, 0xffc0, 0x4066, 0xffc1, 0x4029,
- 0xffff, 0x4026, 0x0, 0x402a, 0x1, 0xffff };
+ static const u16 gUnk_081232EC[] = { 0x4022, -2, 0x4022, -1, 0x4022, 0, 0x4022, 1, 0xffff };
+ static const u16 gUnk_081232FE[] = {
+ 0x4065, -65, 0x4022, -64, 0x4066, -63, 0x4029, -1, 0x4026, 0, 0x402a, 1, 0xffff
+ };
this->action = 1;
this->spriteSettings.draw = 1;
if (this->type == 3) {
diff --git a/src/projectile/ballAndChain.c b/src/projectile/ballAndChain.c
index 32cfea4c..a5534dfd 100644
--- a/src/projectile/ballAndChain.c
+++ b/src/projectile/ballAndChain.c
@@ -34,7 +34,7 @@ void sub_080AB074(Entity* this) {
this->frameIndex = 0;
this->spritePriority.b0 = 3;
}
- sub_0806FA90(this->parent, this, 0, 0xfffffff6 + -(s8)parent->field_0x7c.BYTES.byte3);
+ sub_0806FA90(this->parent, this, 0, -10 + -(s8)parent->field_0x7c.BYTES.byte3);
this->x.WORD += gSineTable[parent->field_0x7c.BYTES.byte0] * (parent->field_0x7c.BYTES.byte2 << 8);
this->y.WORD -= gSineTable[parent->field_0x7c.BYTES.byte0 + 0x40] * (parent->field_0x7c.BYTES.byte2 << 8);
diff --git a/src/projectile/cannonballProjectile.c b/src/projectile/cannonballProjectile.c
index 2a83603e..baa68b53 100644
--- a/src/projectile/cannonballProjectile.c
+++ b/src/projectile/cannonballProjectile.c
@@ -34,7 +34,7 @@ void sub_080AB544(Entity* this) {
void CannonballProjectile_Init(Entity* this) {
this->action = 1;
this->direction = this->type << 3;
- this->z.HALF.HI = 0xfffc;
+ this->z.HALF.HI = -4;
InitializeAnimation(this, this->type);
}
diff --git a/src/projectile/stalfosProjectile.c b/src/projectile/stalfosProjectile.c
index 736a5b75..28e5e93f 100644
--- a/src/projectile/stalfosProjectile.c
+++ b/src/projectile/stalfosProjectile.c
@@ -46,7 +46,7 @@ void sub_080A9A64(Entity* this) {
void StalfosProjectile_SubAction0(Entity* this) {
this->subAction = 2;
- this->z.HALF.HI = 0xfffe;
+ this->z.HALF.HI = -2;
}
void StalfosProjectile_SubAction1(Entity* this) {
diff --git a/src/projectile/v3TennisBallProjectile.c b/src/projectile/v3TennisBallProjectile.c
index 51d78082..a8459c26 100644
--- a/src/projectile/v3TennisBallProjectile.c
+++ b/src/projectile/v3TennisBallProjectile.c
@@ -47,7 +47,7 @@ void sub_080ACA68(Entity* this) {
void V3TennisBallProjectile_Init(Entity* this) {
this->action = 1;
this->direction = 0x10;
- this->z.HALF.HI = 0xfffc;
+ this->z.HALF.HI = -4;
this->child = NULL;
InitializeAnimation(this, 7);
SoundReq(SFX_199);