From c45195c57754b1c802a2bae3e473df01bed4cd85 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Sun, 7 Aug 2022 00:39:22 +0300 Subject: [PATCH] Use negative values where appropriate --- src/enemy/cuccoAggr.c | 2 +- src/enemy/dust.c | 2 +- src/enemy/enemy50.c | 2 +- src/enemy/flyingSkull.c | 2 +- src/enemy/ghini.c | 30 ++++++++++++------------- src/enemy/gyorgMale.c | 4 ++-- src/enemy/octorokGolden.c | 2 +- src/enemy/pesto.c | 2 +- src/menu/figurine_menu.c | 2 +- src/npc/guard.c | 2 +- src/npc/librarians.c | 2 +- src/npc/mountainMinish.c | 6 ++--- src/npc/npc58.c | 4 ++-- src/npc/phonograph.c | 2 +- src/npc/tingleSiblings.c | 2 +- src/npcUtils.c | 28 +++++++---------------- src/object/bigBarrel.c | 8 +++---- src/object/chestSpawner.c | 2 +- src/object/gleerokParticle.c | 4 ++-- src/object/keyStealingTakkuri.c | 4 ++-- src/object/lilypadLarge.c | 2 +- src/object/litArea.c | 4 ++-- src/object/stoneTablet.c | 7 +++--- src/projectile/ballAndChain.c | 2 +- src/projectile/cannonballProjectile.c | 2 +- src/projectile/stalfosProjectile.c | 2 +- src/projectile/v3TennisBallProjectile.c | 2 +- 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);