mirror of https://github.com/zeldaret/tmc.git
Merge pull request #484 from hatal175/fixedintmacros
Use fixed point macros where possible
This commit is contained in:
commit
254d0c4b50
|
|
@ -385,7 +385,7 @@ void AcroBandit_Type1Action1(Entity* this) {
|
|||
if (draw == 1)
|
||||
GetNextFrame(this);
|
||||
|
||||
if (this->zVelocity < 1) {
|
||||
if (this->zVelocity <= 0) {
|
||||
this->action = 2;
|
||||
COLLISION_ON(this);
|
||||
InitializeAnimation(this, 5);
|
||||
|
|
@ -393,7 +393,7 @@ void AcroBandit_Type1Action1(Entity* this) {
|
|||
}
|
||||
|
||||
void AcroBandit_Type1Action2(Entity* this) {
|
||||
static const u16 banditGravity[] = { 0x1600, 0x1300, 0x1000, 0xD00, 0xB00 };
|
||||
static const u16 banditGravity[] = { Q_8_8(22.0), Q_8_8(19.0), Q_8_8(16.0), Q_8_8(13.0), Q_8_8(11.0) };
|
||||
|
||||
GravityUpdate(this, banditGravity[this->type2]);
|
||||
if (this->type2 * -0xe <= this->z.HALF.HI) {
|
||||
|
|
@ -470,7 +470,7 @@ void AcroBandit_Type1Action4(Entity* this) {
|
|||
}
|
||||
|
||||
void AcroBandit_Type1Action5(Entity* this) {
|
||||
if (GravityUpdate(this, 0x2000))
|
||||
if (GravityUpdate(this, Q_8_8(32.0)))
|
||||
return;
|
||||
|
||||
sub_08032290(this);
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ void sub_08021984(Entity* this) {
|
|||
EnqueueSFX(SFX_12D);
|
||||
}
|
||||
|
||||
if (GravityUpdate(this, 0x1800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0) {
|
||||
this->action = 2;
|
||||
this->timer = 16;
|
||||
this->subtimer = 1;
|
||||
|
|
@ -205,7 +205,7 @@ void sub_08021AD8(Entity* this) {
|
|||
EnqueueSFX(SFX_PLY_JUMP);
|
||||
}
|
||||
ProcessMovement2(this);
|
||||
if (!GravityUpdate(this, 0x1800))
|
||||
if (!GravityUpdate(this, Q_8_8(24.0)))
|
||||
this->frameDuration = 1;
|
||||
}
|
||||
|
||||
|
|
@ -264,7 +264,7 @@ void sub_08021C58(Entity* this) {
|
|||
GetNextFrame(this);
|
||||
if (this->frame & 1) {
|
||||
ProcessMovement2(this);
|
||||
if (GravityUpdate(this, 0x1800) == 0)
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0)
|
||||
this->frameDuration = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ void Chuchu_OnGrabbed(Entity* this) {
|
|||
sub_0801FB68(this);
|
||||
InitializeAnimation(this, 8);
|
||||
}
|
||||
GravityUpdate(this, 0x1800);
|
||||
GravityUpdate(this, Q_8_8(24.0));
|
||||
GetNextFrame(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -143,7 +143,7 @@ void Chuchu_OnKnockback(Entity* this) {
|
|||
}
|
||||
|
||||
void Chuchu_OnDeath(Entity* this) {
|
||||
GravityUpdate(this, 0x1800);
|
||||
GravityUpdate(this, Q_8_8(24.0));
|
||||
GetNextFrame(this);
|
||||
if (this->type == 0) {
|
||||
GenericDeath(this);
|
||||
|
|
@ -215,7 +215,7 @@ void sub_0801F1B0(Entity* this) {
|
|||
EnqueueSFX(SFX_12B);
|
||||
}
|
||||
ProcessMovement2(this);
|
||||
if (GravityUpdate(this, 0x4000) == 0)
|
||||
if (GravityUpdate(this, Q_8_8(64.0)) == 0)
|
||||
GetNextFrame(this);
|
||||
} else {
|
||||
GetNextFrame(this);
|
||||
|
|
@ -275,7 +275,7 @@ void sub_0801F2CC(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0801F2F8(Entity* this) {
|
||||
GravityUpdate(this, 0x1800);
|
||||
GravityUpdate(this, Q_8_8(24.0));
|
||||
GetNextFrame(this);
|
||||
if (this->frame & ANIM_DONE) {
|
||||
sub_0801F340(this);
|
||||
|
|
@ -411,7 +411,7 @@ void sub_0801F584(Entity* this) {
|
|||
EnqueueSFX(SFX_12B);
|
||||
}
|
||||
ProcessMovement2(this);
|
||||
if (GravityUpdate(this, 0x4000) == 0)
|
||||
if (GravityUpdate(this, Q_8_8(64.0)) == 0)
|
||||
GetNextFrame(this);
|
||||
|
||||
} else {
|
||||
|
|
@ -473,7 +473,7 @@ void sub_0801F6CC(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0801F6F8(Entity* this) {
|
||||
GravityUpdate(this, 0x1800);
|
||||
GravityUpdate(this, Q_8_8(24.0));
|
||||
GetNextFrame(this);
|
||||
if (this->frame & ANIM_DONE) {
|
||||
this->action = 4;
|
||||
|
|
@ -588,7 +588,7 @@ void sub_0801F940(Entity* this) {
|
|||
EnqueueSFX(SFX_12B);
|
||||
}
|
||||
ProcessMovement2(this);
|
||||
if (GravityUpdate(this, 0x4000) == 0)
|
||||
if (GravityUpdate(this, Q_8_8(64.0)) == 0)
|
||||
GetNextFrame(this);
|
||||
} else {
|
||||
GetNextFrame(this);
|
||||
|
|
@ -648,7 +648,7 @@ void sub_0801FA78(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0801FAAC(Entity* this) {
|
||||
GravityUpdate(this, 0x1800);
|
||||
GravityUpdate(this, Q_8_8(24.0));
|
||||
GetNextFrame(this);
|
||||
if (this->frame & ANIM_DONE) {
|
||||
sub_0801FB14(this);
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ void sub_08038754(CloudPiranhaEntity* this) {
|
|||
#else
|
||||
super->speed = 0xc0;
|
||||
#endif
|
||||
super->zVelocity = 0x20000;
|
||||
super->zVelocity = Q_16_16(2);
|
||||
this->unk_81 = 0;
|
||||
super->spritePriority.b1 = 3;
|
||||
EnqueueSFX(SFX_12B);
|
||||
|
|
|
|||
|
|
@ -151,11 +151,11 @@ void sub_08038EE0(CuccoAggrEntity* this) {
|
|||
ProcessMovement0(super);
|
||||
GetNextFrame(super);
|
||||
sub_08039298(this);
|
||||
if (GravityUpdate(super, 0x1C00) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(28.0)) == 0) {
|
||||
if (--super->timer == 0) {
|
||||
sub_0803901C(this);
|
||||
} else {
|
||||
super->zVelocity = 0x8000;
|
||||
super->zVelocity = Q_16_16(0.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -234,7 +234,7 @@ void sub_0803901C(CuccoAggrEntity* this) {
|
|||
case 1:
|
||||
super->action = 3;
|
||||
super->timer = ((r3 >> 8) & 3) + 2;
|
||||
super->zVelocity = 0x8000;
|
||||
super->zVelocity = Q_16_16(0.5);
|
||||
sub_080390C0(this);
|
||||
InitializeAnimation(super, 1);
|
||||
if (Random() & 1) {
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ void sub_08022988(Entity* this) {
|
|||
}
|
||||
|
||||
ProcessMovement0(this);
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
if (--this->timer == 0) {
|
||||
sub_08022A88(this);
|
||||
} else {
|
||||
|
|
@ -69,7 +69,7 @@ void sub_08022988(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_080229F8(Entity* this) {
|
||||
if (GravityUpdate(this, 0x2800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(40.0)) == 0) {
|
||||
if (--this->timer == 0) {
|
||||
this->action = 4;
|
||||
this->timer = 6;
|
||||
|
|
@ -93,7 +93,7 @@ void sub_08022A40(Entity* this) {
|
|||
}
|
||||
|
||||
ProcessMovement0(this);
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
if (--this->timer == 0) {
|
||||
sub_08022A88(this);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ void sub_08040B9C(Enemy50Entity* this) {
|
|||
sub_08041128(this);
|
||||
}
|
||||
if (super->contactFlags == 0x9d) {
|
||||
super->zVelocity = 0x18000;
|
||||
super->zVelocity = Q_16_16(1.5);
|
||||
}
|
||||
if (super->confusedTime != 0) {
|
||||
super->animationState = super->knockbackDirection >> 4;
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ void Eyegore_OnCollision(EyegoreEntity* this) {
|
|||
void Eyegore_OnDeath(EyegoreEntity* this) {
|
||||
if (this->unk_7e != 0) {
|
||||
this->unk_7e--;
|
||||
GravityUpdate(super, 0x1c00);
|
||||
GravityUpdate(super, Q_8_8(28.0));
|
||||
} else {
|
||||
if ((super->gustJarState & 2) == 0) {
|
||||
CreateFx(super, FX_GIANT_EXPLOSION4, 0);
|
||||
|
|
@ -221,7 +221,7 @@ void Eyegore_Action4(EyegoreEntity* this) {
|
|||
if (this->unk_7a != 0) {
|
||||
sub_08031250(this);
|
||||
}
|
||||
if (GravityUpdate(super, 0x1c00) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(28.0)) == 0) {
|
||||
sub_08030E70(this);
|
||||
}
|
||||
|
||||
|
|
@ -256,7 +256,7 @@ void Eyegore_Action5(EyegoreEntity* this) {
|
|||
super->animationState = this->unk_7f;
|
||||
InitializeAnimation(super, super->animationState + 4);
|
||||
}
|
||||
if (GravityUpdate(super, 0x1c00) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(28.0)) == 0) {
|
||||
sub_08030E70(this);
|
||||
}
|
||||
break;
|
||||
|
|
@ -287,7 +287,7 @@ void Eyegore_Action6(EyegoreEntity* this) {
|
|||
|
||||
void sub_08030E3C(EyegoreEntity* this) {
|
||||
super->frame = 0;
|
||||
super->zVelocity = 0x11800;
|
||||
super->zVelocity = Q_16_16(1.0 + 3.0 / 32.0);
|
||||
EnqueueSFX(SFX_157);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ void sub_080453E8(Entity* this) {
|
|||
void sub_08045430(Entity* this) {
|
||||
ProcessMovement2(this);
|
||||
GetNextFrame(this);
|
||||
if (GravityUpdate(this, 0x1800) == 0)
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0)
|
||||
sub_08045524(this);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ void FlyingPot_OnCollision(FlyingPotEntity* this) {
|
|||
if (super->contactFlags == 0x9D) {
|
||||
super->action = FLYING_POT_ACTION_6;
|
||||
COLLISION_OFF(super);
|
||||
super->zVelocity = 0x2A000;
|
||||
super->zVelocity = Q_16_16(2.625);
|
||||
super->spritePriority.b1 = 1;
|
||||
|
||||
SetTile(this->tileIndex, TILE(super->x.HALF.HI, super->y.HALF.HI), super->collisionLayer);
|
||||
|
|
@ -217,7 +217,7 @@ void FlyingPot_Action2(FlyingPotEntity* this) {
|
|||
}
|
||||
|
||||
void FlyingPot_Action3(FlyingPotEntity* this) {
|
||||
super->z.WORD -= 0x10000;
|
||||
super->z.WORD -= Q_16_16(1.0);
|
||||
|
||||
if (super->z.HALF.HI <= -6) {
|
||||
super->action = FLYING_POT_ACTION_4;
|
||||
|
|
@ -245,7 +245,7 @@ void FlyingPot_Action6(FlyingPotEntity* this) {
|
|||
super->spriteSettings.flipY = 1;
|
||||
}
|
||||
|
||||
if (!GravityUpdate(super, 0x2000)) {
|
||||
if (!GravityUpdate(super, Q_8_8(32.0))) {
|
||||
sub_08037408(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ void sub_08039FAC(FlyingSkullEntity* this) {
|
|||
|
||||
void sub_0803A048(FlyingSkullEntity* this) {
|
||||
GetNextFrame(super);
|
||||
super->z.WORD += 0xFFFF0000;
|
||||
super->z.WORD -= Q_16_16(1.0);
|
||||
if (super->z.HALF.HI <= -6) {
|
||||
super->action = 5;
|
||||
super->timer = 10;
|
||||
|
|
@ -233,7 +233,7 @@ void sub_0803A0B8(FlyingSkullEntity* this) {
|
|||
super->spriteSettings.flipY = 1;
|
||||
}
|
||||
|
||||
if (GravityUpdate(super, 0x2000) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(32.0)) == 0) {
|
||||
sub_0803A0E0(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -530,7 +530,7 @@ NONMATCH("asm/non_matching/gleerok/sub_0802D86C.inc", void sub_0802D86C(GleerokE
|
|||
return;
|
||||
}
|
||||
|
||||
if (GravityUpdate(super, 0x1800))
|
||||
if (GravityUpdate(super, Q_8_8(24.0)))
|
||||
return;
|
||||
|
||||
((GleerokEntity*)(super->parent))->unk_7b = 1;
|
||||
|
|
@ -601,7 +601,7 @@ NONMATCH("asm/non_matching/gleerok/sub_0802D86C.inc", void sub_0802D86C(GleerokE
|
|||
|
||||
if ((super->contactFlags & 0x80) && this->unk_74 == 0) {
|
||||
if ((super->contactFlags & 0x7f) == 0x1d) {
|
||||
super->zVelocity = 0x30000;
|
||||
super->zVelocity = Q_16_16(3.0);
|
||||
super->parent->subAction = 4;
|
||||
super->parent->type2 = 0;
|
||||
((GleerokEntity*)super->parent)->unk_7b = 0;
|
||||
|
|
@ -626,7 +626,7 @@ NONMATCH("asm/non_matching/gleerok/sub_0802D86C.inc", void sub_0802D86C(GleerokE
|
|||
if (super->zVelocity <= 0)
|
||||
return;
|
||||
|
||||
GravityUpdate(super, 0x1800);
|
||||
GravityUpdate(super, Q_8_8(24.0));
|
||||
|
||||
if (super->zVelocity > 0)
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ void sub_0802BEEC(Entity* this) {
|
|||
this->direction = this->animationState << 3;
|
||||
InitializeAnimation(this, this->animationState + 4);
|
||||
}
|
||||
} else if (!GravityUpdate(this, Q_16_16(0.109375))) {
|
||||
} else if (!GravityUpdate(this, Q_8_8(28.0))) {
|
||||
this->action = 8;
|
||||
this->timer = 30;
|
||||
this->speed = 0x120;
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@ void Lakitu_LightningDelay(Entity* this) {
|
|||
}
|
||||
|
||||
void Lakitu_Cloudless(Entity* this) {
|
||||
if (GravityUpdate(this, 0x1800) == 0 && this->animIndex <= 19) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0 && this->animIndex <= 19) {
|
||||
InitAnimationForceUpdate(this, this->animationState + 20);
|
||||
|
||||
this->spritePriority.b1 = 0;
|
||||
|
|
|
|||
|
|
@ -928,7 +928,7 @@ void sub_0803B100(Entity* this) {
|
|||
|
||||
void sub_0803B144(Entity* this) {
|
||||
UpdateAnimationSingleFrame(this->child);
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
this->action = 0x2a;
|
||||
InitializeAnimation(this, 0x16);
|
||||
sub_0803B8E8(this, 0x14);
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ void sub_08033FFC(Entity* this) {
|
|||
}
|
||||
break;
|
||||
case 4:
|
||||
this->z.WORD += -0x8000;
|
||||
this->z.WORD -= Q_16_16(0.5);
|
||||
if (this->z.HALF.HI == -10) {
|
||||
this->subAction = 5;
|
||||
this->field_0x80.HALF.HI = 1;
|
||||
|
|
@ -320,7 +320,7 @@ void sub_080342C8(Entity* this) {
|
|||
this->spriteOffsetX = gUnk_080CECEC[this->timer >> 1 & 7];
|
||||
} else {
|
||||
this->spriteOffsetX = 0;
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
this->action = 0xc;
|
||||
this->field_0x7c.HALF.HI = 0x708;
|
||||
this->field_0x7c.BYTES.byte1 = 0;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void sub_08045618(Entity* this) {
|
|||
void sub_08045654(Entity* this) {
|
||||
ProcessMovement2(this);
|
||||
GetNextFrame(this);
|
||||
if (GravityUpdate(this, 0x1800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0) {
|
||||
sub_08045678(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ void Peahat_Stunned(Entity* this) {
|
|||
GetNextFrame(this);
|
||||
break;
|
||||
case PeahatAnimation_SlicedPropeller:
|
||||
GravityUpdate(this, 0x1c00);
|
||||
GravityUpdate(this, Q_8_8(28.0));
|
||||
if (this->z.HALF.HI == 0) {
|
||||
this->action = 7;
|
||||
this->timer = 150;
|
||||
|
|
@ -321,7 +321,7 @@ void Peahat_Takeoff(Entity* this) {
|
|||
} else if (this->frame & 1) {
|
||||
sub_0800442E(this);
|
||||
} else {
|
||||
GravityUpdate(this, 0x1c00);
|
||||
GravityUpdate(this, Q_8_8(28.0));
|
||||
ProcessMovement0(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -347,7 +347,7 @@ void PeahatPropeller_Fly(Entity* this) {
|
|||
if (this->timer < 60)
|
||||
this->spriteSettings.draw ^= 1;
|
||||
|
||||
this->z.WORD -= 0xc000;
|
||||
this->z.WORD -= Q_16_16(0.75);
|
||||
LinearMoveUpdate(this);
|
||||
if (--this->subtimer == 0) {
|
||||
this->subtimer = 40;
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ void Puffstool_OnDeath(Entity* this) {
|
|||
}
|
||||
|
||||
void Puffstool_OnGrabbed(Entity* this) {
|
||||
GravityUpdate(this, 0x2000);
|
||||
GravityUpdate(this, Q_8_8(32.0));
|
||||
if (sub_0806F520(this)) {
|
||||
gUnk_080CBFEC[this->subAction](this);
|
||||
} else {
|
||||
|
|
@ -210,7 +210,7 @@ void sub_0802538C(Entity* this) {
|
|||
if (this->frame == 0) {
|
||||
GetNextFrame(this);
|
||||
} else {
|
||||
GravityUpdate(this, Q_16_16(0.125));
|
||||
GravityUpdate(this, Q_8_8(32.0));
|
||||
if (this->zVelocity < Q_16_16(0.125)) {
|
||||
this->action = 4;
|
||||
InitializeAnimation(this, 2);
|
||||
|
|
@ -221,7 +221,7 @@ void sub_0802538C(Entity* this) {
|
|||
|
||||
void sub_080253D4(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
if (!GravityUpdate(this, 0x2000)) {
|
||||
if (!GravityUpdate(this, Q_8_8(32.0))) {
|
||||
if (this->subtimer == 0) {
|
||||
this->action = 5;
|
||||
InitializeAnimation(this, 3);
|
||||
|
|
@ -240,7 +240,7 @@ void sub_0802541C(Entity* this) {
|
|||
if (this->frame & ANIM_DONE) {
|
||||
this->action = 3;
|
||||
this->subtimer = 1;
|
||||
this->zVelocity = Q_16_16(2);
|
||||
this->zVelocity = Q_16_16(2.0);
|
||||
InitializeAnimation(this, 1);
|
||||
}
|
||||
}
|
||||
|
|
@ -257,7 +257,7 @@ void sub_0802544C(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0802547C(Entity* this) {
|
||||
GravityUpdate(this, Q_16_16(0.125));
|
||||
GravityUpdate(this, Q_8_8(32.0));
|
||||
GetNextFrame(this);
|
||||
if ((this->timer & 7) == 0) {
|
||||
sub_08025BD4(this);
|
||||
|
|
@ -269,7 +269,7 @@ void sub_0802547C(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_080254B4(Entity* this) {
|
||||
GravityUpdate(this, Q_16_16(0.125));
|
||||
GravityUpdate(this, Q_8_8(32.0));
|
||||
if (this->frame & ANIM_DONE) {
|
||||
if (this->z.HALF.HI == 0) {
|
||||
if (this->cutsceneBeh.HWORD == 0) {
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ void Rollobite_Unroll(Entity* this) {
|
|||
}
|
||||
|
||||
void Rollobite_LinedUp(Entity* this) {
|
||||
if (GravityUpdate(this, 0x1c00) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(28.0)) == 0) {
|
||||
this->action = 7;
|
||||
this->spritePriority.b0 = 7;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ void sub_08031480(Entity* this) {
|
|||
SoundReq(SFX_12D);
|
||||
}
|
||||
} else {
|
||||
if (GravityUpdate(this, 0x1800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0) {
|
||||
this->action = 2;
|
||||
this->subtimer = 0xf;
|
||||
this->spriteSettings.draw = 1;
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ void sub_0802B8E0(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0802B948(Entity* this) {
|
||||
if (!GravityUpdate(this, 0x1800)) {
|
||||
if (!GravityUpdate(this, Q_8_8(24.0))) {
|
||||
this->action = 1;
|
||||
this->timer = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ void Stalfos_Init(StalfosEntity* this) {
|
|||
}
|
||||
|
||||
void Stalfos_Action1(StalfosEntity* this) {
|
||||
if (GravityUpdate(super, 0x1800) == 0 && sub_08039758(this) == 0 && --this->unk_78 == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(24.0)) == 0 && sub_08039758(this) == 0 && --this->unk_78 == 0) {
|
||||
super->action = 2;
|
||||
super->timer = 0xa;
|
||||
sub_08039858(this);
|
||||
|
|
@ -203,7 +203,7 @@ void Stalfos_Action3(StalfosEntity* this) {
|
|||
|
||||
void Stalfos_Action4(StalfosEntity* this) {
|
||||
ProcessMovement2(super);
|
||||
if (GravityUpdate(super, 0x1800) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(24.0)) == 0) {
|
||||
sub_0803998C(this);
|
||||
this->unk_7c = 0x5a;
|
||||
EnqueueSFX(SFX_PLY_LAND);
|
||||
|
|
@ -212,7 +212,7 @@ void Stalfos_Action4(StalfosEntity* this) {
|
|||
|
||||
void Stalfos_Action5(StalfosEntity* this) {
|
||||
ProcessMovement2(super);
|
||||
GravityUpdate(super, 0x1800);
|
||||
GravityUpdate(super, Q_8_8(24.0));
|
||||
if (super->zVelocity < 0) {
|
||||
super->action = 6;
|
||||
super->timer = 0x0f;
|
||||
|
|
@ -255,7 +255,7 @@ void Stalfos_Action8(StalfosEntity* this) {
|
|||
}
|
||||
|
||||
void Stalfos_Action9(StalfosEntity* this) {
|
||||
if (GravityUpdate(super, 0x1800) == 0 && --this->unk_78 == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(24.0)) == 0 && --this->unk_78 == 0) {
|
||||
sub_08039A70(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -297,7 +297,7 @@ bool32 sub_08039758(StalfosEntity* this) {
|
|||
sub_0803981C(this);
|
||||
super->hitType = 0x46;
|
||||
this->unk_7d = 0x46;
|
||||
super->zVelocity = 0x28000;
|
||||
super->zVelocity = Q_16_16(2.5);
|
||||
return TRUE;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -314,7 +314,7 @@ bool32 sub_08039758(StalfosEntity* this) {
|
|||
}
|
||||
|
||||
void sub_0803981C(StalfosEntity* this) {
|
||||
super->zVelocity = 0x20000;
|
||||
super->zVelocity = Q_16_16(2.0);
|
||||
if (super->iframes == 0) {
|
||||
super->iframes = -0xc;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,9 +82,9 @@ void sub_0802F210(Entity* this) {
|
|||
this->subtimer = 0;
|
||||
*(u8*)&this->field_0x7c = 0;
|
||||
|
||||
this->field_0x80.HWORD = this->type == 0 ? 0x1800 : 0x2800;
|
||||
this->field_0x80.HWORD = this->type == 0 ? Q_8_8(24.0) : Q_8_8(40.0);
|
||||
|
||||
this->field_0x82.HWORD = this->type == 0 ? 0x2800 : 0x3000;
|
||||
this->field_0x82.HWORD = this->type == 0 ? (Q_16_16(2.5) >> 4) : (Q_16_16(3.0) >> 4);
|
||||
|
||||
InitializeAnimation(this, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ void TektiteGolden_OnDeath(Entity* this) {
|
|||
void TektiteGolden_OnConfused(Entity* this) {
|
||||
GenericConfused(this);
|
||||
if (this->z.HALF.HI != 0) {
|
||||
GravityUpdate(this, 0x3000);
|
||||
GravityUpdate(this, Q_8_8(48.0));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -509,5 +509,5 @@ void sub_08044E74(Entity* this, u32 state) {
|
|||
}
|
||||
this->timer = 1;
|
||||
this->field_0x78.HALF.LO = 0;
|
||||
this->speed = Q_8_8(5);
|
||||
this->speed = Q_8_8(5.0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@ void VaatiTransfiguredType0Action3(Entity* this) {
|
|||
}
|
||||
break;
|
||||
}
|
||||
if (GravityUpdate(this, 0x2800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(40.0)) == 0) {
|
||||
this->field_0x80.HALF.LO = 5;
|
||||
this->timer = 0x10;
|
||||
COLLISION_ON(this);
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ void VaatiWrathType0Action1(Entity* this) {
|
|||
break;
|
||||
case 1:
|
||||
this->spritePriority.b1 = 1;
|
||||
this->z.WORD += 0x8000;
|
||||
this->z.WORD += Q_16_16(0.5);
|
||||
if ((this->z.HALF.HI & 0x3f) == 0) {
|
||||
SoundReq(SFX_1A9);
|
||||
}
|
||||
|
|
@ -473,7 +473,7 @@ void VaatiWrathType0ActionB(Entity* this) {
|
|||
UpdateAnimationSingleFrame(this);
|
||||
GetNextFrame(((VaatiWrathHeapStruct*)this->myHeap)->type1);
|
||||
GetNextFrame(((VaatiWrathHeapStruct*)this->myHeap)->type2);
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
this->subAction = 1;
|
||||
this->timer = 0xf0;
|
||||
this->health = 8;
|
||||
|
|
@ -517,7 +517,7 @@ void VaatiWrathType0ActionC(Entity* this) {
|
|||
}
|
||||
switch (this->subAction) {
|
||||
case 0:
|
||||
this->z.WORD -= 0x8000;
|
||||
this->z.WORD -= Q_16_16(0.5);
|
||||
if (this->z.HALF.HI < -4) {
|
||||
this->subAction = 1;
|
||||
this->timer = 120;
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ void sub_0802A734(Entity* this) {
|
|||
SetInitializationPriority();
|
||||
DoExitTransition(gUnk_0813AB1C[gArea.dungeon_idx]);
|
||||
} else {
|
||||
this->z.WORD -= 0x20000;
|
||||
this->z.WORD -= Q_16_16(2);
|
||||
gPlayerState.field_0xa |= 0x80;
|
||||
gPlayerState.mobility |= 0x80;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ void sub_0802CEF4(Entity* this) {
|
|||
SetInitializationPriority();
|
||||
DoExitTransition(gUnk_0813AB1C[gArea.dungeon_idx]);
|
||||
} else {
|
||||
this->z.WORD -= 0x20000;
|
||||
this->z.WORD -= Q_16_16(2);
|
||||
if (this->z.HALF.HI < -0x30) {
|
||||
this->spriteSettings.shadow = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ void sub_0802A250(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0802A2B4(Entity* this) {
|
||||
if (!GravityUpdate(this, 0x2800)) {
|
||||
if (!GravityUpdate(this, Q_8_8(40.0))) {
|
||||
this->action = 2;
|
||||
this->spritePriority.b0 = 7;
|
||||
EnqueueSFX(SFX_WATER_SPLASH);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ void ItemRocsCape(ItemBehavior* this, u32 arg1) {
|
|||
gPlayerState.jump_status = 1;
|
||||
gPlayerState.field_0xe = -1;
|
||||
gPlayerState.item = NULL;
|
||||
gPlayerEntity.zVelocity = 0x20000;
|
||||
gPlayerEntity.zVelocity = Q_16_16(2.0);
|
||||
sub_08077F84();
|
||||
SoundReq(SFX_PLY_VO4);
|
||||
return;
|
||||
|
|
@ -43,8 +43,8 @@ void ItemRocsCape(ItemBehavior* this, u32 arg1) {
|
|||
if ((gPlayerState.jump_status != 0) && ((gPlayerState.jump_status & 7) != 3)) {
|
||||
sub_08076758(this, arg1);
|
||||
return;
|
||||
} else if (-1 < gPlayerEntity.z.WORD) {
|
||||
gPlayerEntity.zVelocity = 0x20000;
|
||||
} else if (gPlayerEntity.z.WORD >= 0) {
|
||||
gPlayerEntity.zVelocity = Q_16_16(2.0);
|
||||
gPlayerState.jump_status = 1;
|
||||
gPlayerState.item = NULL;
|
||||
this->stateID += 1;
|
||||
|
|
@ -66,7 +66,7 @@ void sub_08076758(ItemBehavior* this, u32 arg1) {
|
|||
((gPlayerState.jump_status & 7) != 3)) {
|
||||
if (sub_08077EFC(this)) {
|
||||
if (this->stateID < 2) {
|
||||
if ((gPlayerEntity.zVelocity < 1) && ((gPlayerState.jump_status & 0x10) == 0)) {
|
||||
if ((gPlayerEntity.zVelocity <= 0) && ((gPlayerState.jump_status & 0x10) == 0)) {
|
||||
this->stateID = 2;
|
||||
gPlayerEntity.field_0x7a.HWORD = 2;
|
||||
gPlayerEntity.zVelocity = Q_16_16(2.0);
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ void sub_08075338(ItemBehavior* this, u32 idx) {
|
|||
|
||||
if (gPlayerState.jump_status) {
|
||||
if ((gPlayerState.jump_status & 7) != 3) {
|
||||
if ((gPlayerState.jump_status & 0x78) == 0 && (u32)gPlayerEntity.zVelocity <= 0x17fff &&
|
||||
(gPlayerState.skills & SKILL_DOWN_THRUST) && gPlayerEntity.z.WORD) {
|
||||
if ((gPlayerState.jump_status & 0x78) == 0 && (u32)gPlayerEntity.zVelocity < Q_16_16(1.5) &&
|
||||
(gPlayerState.skills & SKILL_DOWN_THRUST) && gPlayerEntity.z.WORD != 0) {
|
||||
gPlayerState.jump_status |= 0x20;
|
||||
gPlayerState.field_0xab = 7;
|
||||
gPlayerState.field_0x3[1] |= (8 >> idx) | ((8 >> idx) << 4);
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ void sub_080676E0(Entity* this, ScriptExecutionContext* context) {
|
|||
break;
|
||||
}
|
||||
default: {
|
||||
if (GravityUpdate(this, 0x1800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0) {
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -51,16 +51,16 @@ void Cucco_Fly(Entity* this) {
|
|||
}
|
||||
|
||||
this->timer = (Random() & 1) + 1;
|
||||
this->zVelocity = 0x18000;
|
||||
this->zVelocity = Q_16_16(1.5);
|
||||
InitAnimationForceUpdate(this, 1);
|
||||
}
|
||||
|
||||
if (GravityUpdate(this, 0x2800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(40.0)) == 0) {
|
||||
if (--this->timer == 0) {
|
||||
this->action = 1;
|
||||
this->subAction = 0;
|
||||
} else {
|
||||
this->zVelocity = 0x18000;
|
||||
this->zVelocity = Q_16_16(1.5);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -53,15 +53,15 @@ void CuccoChick_Fly(Entity* this) {
|
|||
this->spriteSettings.flipX ^= 1;
|
||||
}
|
||||
this->timer = (Random() & 3) + 1;
|
||||
this->zVelocity = 0x10000;
|
||||
this->zVelocity = Q_16_16(1.0);
|
||||
this->frameIndex = 1;
|
||||
}
|
||||
if (GravityUpdate(this, 0x3000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(48.0)) == 0) {
|
||||
if (--this->timer == 0) {
|
||||
this->action = 1;
|
||||
this->subAction = 0;
|
||||
} else {
|
||||
this->zVelocity = 0x10000;
|
||||
this->zVelocity = Q_16_16(1.0);
|
||||
}
|
||||
}
|
||||
sub_0806E838(this);
|
||||
|
|
@ -100,7 +100,7 @@ void CuccoChick_Fusion(Entity* this) {
|
|||
this->spriteSettings.draw = 1;
|
||||
this->frameIndex = 1;
|
||||
} else {
|
||||
if (GravityUpdate(this, 0x3000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(48.0)) == 0) {
|
||||
this->zVelocity = Q_16_16(1.0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ void sub_08060DFC(Entity* this) {
|
|||
|
||||
LinearMoveUpdate(this);
|
||||
sub_08060E94(this);
|
||||
uVar1 = GravityUpdate(this, 0x2000);
|
||||
uVar1 = GravityUpdate(this, Q_8_8(32.0));
|
||||
if (uVar1 == 0) {
|
||||
this->action = 7;
|
||||
this->collisionLayer = 1;
|
||||
|
|
|
|||
|
|
@ -153,12 +153,12 @@ void sub_08060528(Entity* this) {
|
|||
this->field_0x6a.HWORD -= 1;
|
||||
}
|
||||
}
|
||||
GravityUpdate(this, 0x1800);
|
||||
GravityUpdate(this, Q_8_8(24.0));
|
||||
if (((this->field_0x6c.HALF.HI != 0) && (this->zVelocity == 0)) && this->z.WORD == 0) {
|
||||
this->field_0x6c.HALF.HI = 0;
|
||||
sub_080606C0(this);
|
||||
}
|
||||
if ((-1 < this->z.WORD) &&
|
||||
if (this->z.WORD >= 0 &&
|
||||
((gPlayerEntity.collisionLayer == 0 || (this->collisionLayer == gPlayerEntity.collisionLayer)))) {
|
||||
sub_0806ED78(this);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -416,17 +416,17 @@ void sub_0806AA50(Entity* this, ScriptExecutionContext* context) {
|
|||
case 0:
|
||||
gRoomVars.entities[0] = this;
|
||||
PrependEntityToList(this, NPC);
|
||||
this->zVelocity = 0x18000;
|
||||
this->zVelocity = Q_16_16(1.5);
|
||||
break;
|
||||
case 1:
|
||||
pEnt = FindNextDuplicateID(gRoomVars.entities[0], NPC);
|
||||
gRoomVars.entities[1] = pEnt;
|
||||
pEnt->zVelocity = 0x18000;
|
||||
pEnt->zVelocity = Q_16_16(1.5);
|
||||
break;
|
||||
case 2:
|
||||
pEnt = FindNextDuplicateID(gRoomVars.entities[1], NPC);
|
||||
gRoomVars.entities[2] = pEnt;
|
||||
pEnt->zVelocity = 0x18000;
|
||||
pEnt->zVelocity = Q_16_16(1.5);
|
||||
break;
|
||||
}
|
||||
if (messageIndex == 0x441e) {
|
||||
|
|
@ -440,7 +440,7 @@ void sub_0806AA50(Entity* this, ScriptExecutionContext* context) {
|
|||
if (pEnt->z.HALF.HI < 0) {
|
||||
break;
|
||||
}
|
||||
pEnt->zVelocity = 0x18000;
|
||||
pEnt->zVelocity = Q_16_16(1.5);
|
||||
context->unk_18 = 2;
|
||||
break;
|
||||
case 2:
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ void sub_0806AEA8(Entity* this) {
|
|||
int old = this->field_0x82.HWORD;
|
||||
this->field_0x82.HWORD &= ~0x20;
|
||||
if (old & 0x20) {
|
||||
GravityUpdate(this, 0x4000);
|
||||
GravityUpdate(this, Q_8_8(64.0));
|
||||
}
|
||||
HandleEntity0x82Actions(this);
|
||||
this->field_0x82.HWORD = old;
|
||||
|
|
@ -220,8 +220,8 @@ void sub_0806AF70(Entity* this, ScriptExecutionContext* context) {
|
|||
}
|
||||
|
||||
void sub_0806AF78(Entity* this, ScriptExecutionContext* context) {
|
||||
GravityUpdate(this, 0x1800);
|
||||
if (0 <= this->z.WORD && this->zVelocity < 1) {
|
||||
GravityUpdate(this, Q_8_8(24.0));
|
||||
if (0 <= this->z.WORD && this->zVelocity <= 0) {
|
||||
this->z.WORD = 0;
|
||||
sub_0806AF70(this, context);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ void sub_08066E80(Entity* this, ScriptExecutionContext* context) {
|
|||
break;
|
||||
case 2:
|
||||
LinearMoveAngle(this, 0x100, 0x80);
|
||||
GravityUpdate(this, 0x2000);
|
||||
GravityUpdate(this, Q_8_8(32.0));
|
||||
if (!(this->frame & 1)) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
}
|
||||
|
|
@ -145,7 +145,7 @@ void sub_08066E80(Entity* this, ScriptExecutionContext* context) {
|
|||
case 3:
|
||||
LinearMoveAngle(this, 0x100, 0x80);
|
||||
UpdateAnimationSingleFrame(this);
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
context->unk_18++;
|
||||
InitAnimationForceUpdate(this, 0x1E);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void Bird_Type0_Init(Entity* this) {
|
|||
this->subtimer = 1;
|
||||
this->zVelocity = Q_16_16(-1.5);
|
||||
this->z.WORD = Q_16_16(-56.75);
|
||||
this->field_0x68.HWORD = Q_16_16(-0.03125);
|
||||
this->field_0x68.HWORD = Q_8_8(-8.0);
|
||||
this->speed = 0x280;
|
||||
this->direction = 8;
|
||||
this->collisionLayer = 2;
|
||||
|
|
@ -225,7 +225,7 @@ void Bird_Type8(Entity* this) {
|
|||
this->action = 2;
|
||||
this->timer = 8;
|
||||
this->speed = 0x300;
|
||||
this->field_0x68.HWORD = 0xe000;
|
||||
this->field_0x68.HWORD = Q_8_8(-32.0);
|
||||
PlayerDropHeldObject();
|
||||
sub_08078B48();
|
||||
ResetPlayerAnimationAndAction();
|
||||
|
|
@ -286,9 +286,9 @@ void Bird_Type9(Entity* this) {
|
|||
if (this->action == 0) {
|
||||
this->action = 1;
|
||||
this->spriteSettings.draw = 1;
|
||||
this->zVelocity = -0x28000;
|
||||
this->z.WORD = 0xffb4c000;
|
||||
this->field_0x68.HWORD = 0xf000;
|
||||
this->zVelocity = Q_16_16(-2.5);
|
||||
this->z.WORD = Q_16_16(-75.25);
|
||||
this->field_0x68.HWORD = Q_8_8(-16.0);
|
||||
this->speed = 0x300;
|
||||
this->direction = 8;
|
||||
this->collisionLayer = 1;
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ void CrenelBeanSprout_Action1(CrenelBeanSproutEntity* this) {
|
|||
gPlayerState.heldObject = 0;
|
||||
super->action = 5;
|
||||
super->speed = 0x100;
|
||||
super->zVelocity = 0x20000;
|
||||
super->zVelocity = Q_16_16(2);
|
||||
super->spritePriority.b1 = 1;
|
||||
super->spriteSettings.shadow = 1;
|
||||
RestorePrevTileEntity(0xdc, super->collisionLayer);
|
||||
|
|
@ -256,7 +256,7 @@ void CrenelBeanSprout_Action5(CrenelBeanSproutEntity* this) {
|
|||
super->direction = CalculateDirectionTo(super->x.HALF.HI, super->y.HALF.HI, this->unk_70, this->unk_72);
|
||||
LinearMoveUpdate(super);
|
||||
}
|
||||
if (GravityUpdate(super, 0x4000) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(64.0)) == 0) {
|
||||
sub_08096A78(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -220,7 +220,7 @@ void sub_08082C5C(EzloCapEntity* this) {
|
|||
return;
|
||||
}
|
||||
}
|
||||
GravityUpdate(super, 0x2000);
|
||||
GravityUpdate(super, Q_8_8(32.0));
|
||||
UpdateAnimationSingleFrame(super);
|
||||
}
|
||||
|
||||
|
|
@ -273,7 +273,7 @@ void sub_08082D20(EzloCapEntity* this, ScriptExecutionContext* context) {
|
|||
|
||||
void EzloCap_ScriptedAction2(EzloCapEntity* this) {
|
||||
ExecuteScript(super, this->unk_84);
|
||||
GravityUpdate(super, 0x1800);
|
||||
GravityUpdate(super, Q_8_8(24.0));
|
||||
switch (super->subAction) {
|
||||
case 0:
|
||||
if (super->zVelocity < 0) {
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ void Fairy_Init(FairyEntity* this) {
|
|||
|
||||
switch (super->type2) {
|
||||
case 0:
|
||||
super->zVelocity = 0x1e000;
|
||||
super->zVelocity = Q_16_16(1.875);
|
||||
super->z.HALF.HI += 8;
|
||||
// fallthrough
|
||||
default:
|
||||
|
|
@ -131,7 +131,7 @@ void Fairy_Init(FairyEntity* this) {
|
|||
}
|
||||
|
||||
void Fairy_Action1(FairyEntity* this) {
|
||||
super->z.WORD -= 0xe000;
|
||||
super->z.WORD -= Q_16_16(0.875);
|
||||
if (super->frame != 0) {
|
||||
if (super->timer != 0) {
|
||||
this->unk_78 *= 0x1e;
|
||||
|
|
|
|||
|
|
@ -84,10 +84,10 @@ void FrozenOctorok_Action1SubAction0(FrozenOctorokEntity* this) {
|
|||
if (this->unk_7e == 0) {
|
||||
child = super->child;
|
||||
if (child->z.HALF.HI > -0x10) {
|
||||
child->z.WORD -= 0x4000;
|
||||
child->z.WORD -= Q_16_16(0.25);
|
||||
} else {
|
||||
child->z.WORD -= 0x1000;
|
||||
(super->child)->zVelocity = 0x3000;
|
||||
child->z.WORD -= Q_16_16(0.0625);
|
||||
(super->child)->zVelocity = Q_16_16(0.1875);
|
||||
this->unk_7e = 0x200;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ void GreatFairy_MiniRisingUpdate(Entity* this) {
|
|||
Entity* target;
|
||||
|
||||
GetNextFrame(this);
|
||||
this->z.WORD -= 0x8000;
|
||||
this->z.WORD -= Q_16_16(0.5);
|
||||
if (this->z.HALF.HI == -20) {
|
||||
this->action = 2;
|
||||
SoundReq(SFX_HEART_CONTAINER_SPAWN);
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ void sub_080811EC(Entity* this) {
|
|||
LinearMoveUpdate(this);
|
||||
}
|
||||
|
||||
GravityUpdate(this, 0x2800);
|
||||
GravityUpdate(this, Q_8_8(40.0));
|
||||
if (this->zVelocity <= 0) {
|
||||
this->action = 2;
|
||||
COLLISION_ON(this);
|
||||
|
|
@ -293,7 +293,7 @@ void sub_0808136C(Entity* this) {
|
|||
this->y.WORD = other->y.WORD;
|
||||
this->spriteOrientation.flipY = other->spriteOrientation.flipY;
|
||||
this->spriteRendering.b3 = other->spriteRendering.b3;
|
||||
GravityUpdate(this, 0x2800);
|
||||
GravityUpdate(this, Q_8_8(40.0));
|
||||
} else {
|
||||
sub_08081404(this, 1);
|
||||
}
|
||||
|
|
@ -397,14 +397,14 @@ void sub_0808153C(Entity* this) {
|
|||
return;
|
||||
|
||||
if (this->field_0x68.HALF.LO == 0) {
|
||||
if (!GravityUpdate(this, 0x1000) && !sub_0800442E(this)) {
|
||||
if (!GravityUpdate(this, Q_8_8(16.0)) && !sub_0800442E(this)) {
|
||||
this->field_0x68.HALF.LO = 1;
|
||||
this->zVelocity = Q_16_16(1.875);
|
||||
sub_0808148C(this->type);
|
||||
UpdateSpriteForCollisionLayer(this);
|
||||
}
|
||||
} else {
|
||||
if (!GravityUpdate(this, 0x2800)) {
|
||||
if (!GravityUpdate(this, Q_8_8(40.0))) {
|
||||
this->field_0x68.HALF.LO = 2;
|
||||
sub_0808148C(this->type);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ void sub_0808BF14(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0808BF58(Entity* this) {
|
||||
GravityUpdate(this, 0x2000);
|
||||
GravityUpdate(this, Q_8_8(32.0));
|
||||
switch (this->subAction) {
|
||||
case 0:
|
||||
if (this->zVelocity < Q_16_16(1.5)) {
|
||||
|
|
@ -124,7 +124,7 @@ void sub_0808C01C(Entity* this, u32 r1) {
|
|||
}
|
||||
|
||||
void sub_0808C0AC(Entity* this) {
|
||||
GravityUpdate(this, 0x2000);
|
||||
GravityUpdate(this, Q_8_8(32.0));
|
||||
switch (this->subAction) {
|
||||
case 0:
|
||||
if (this->zVelocity < Q_16_16(1.5)) {
|
||||
|
|
|
|||
|
|
@ -80,8 +80,8 @@ void KeyStealingTakkuri_Type0_Init(KeyStealingTakkuriEntity* this) {
|
|||
void KeyStealingTakkuri_Type0_Action1(KeyStealingTakkuriEntity* this) {
|
||||
if (--super->timer == 0) {
|
||||
super->action++;
|
||||
super->y.WORD += 0x100000;
|
||||
super->z.WORD -= 0x100000;
|
||||
super->y.WORD += Q_16_16(16.0);
|
||||
super->z.WORD -= Q_16_16(16.0);
|
||||
InitAnimationForceUpdate(super, 3);
|
||||
}
|
||||
}
|
||||
|
|
@ -159,7 +159,7 @@ void KeyStealingTakkuri_Type5_Init(KeyStealingTakkuriEntity* this) {
|
|||
super->spriteSettings.draw = 1;
|
||||
super->direction = 0x18;
|
||||
super->speed = 0x100;
|
||||
super->zVelocity = 0x20000;
|
||||
super->zVelocity = Q_16_16(2.0);
|
||||
super->timer = 1;
|
||||
SoundReq(SFX_RUPEE_BOUNCE);
|
||||
}
|
||||
|
|
@ -169,7 +169,7 @@ void KeyStealingTakkuri_Type5_Action1(KeyStealingTakkuriEntity* this) {
|
|||
if (sub_080044EC(super, 0x2000) < 2) {
|
||||
if (super->timer != 0) {
|
||||
super->timer--;
|
||||
super->zVelocity = 0x10000;
|
||||
super->zVelocity = Q_16_16(1.0);
|
||||
} else {
|
||||
super->action++;
|
||||
super->collisionLayer = gPlayerEntity.collisionLayer;
|
||||
|
|
@ -194,8 +194,8 @@ void KeyStealingTakkuri_Type2_Init(KeyStealingTakkuriEntity* this) {
|
|||
super->spriteRendering.b3 = 1;
|
||||
super->speed = 0;
|
||||
super->direction = 0x18;
|
||||
super->y.WORD += 0x100000;
|
||||
super->z.WORD -= 0x100000;
|
||||
super->y.WORD += Q_16_16(16.0);
|
||||
super->z.WORD -= Q_16_16(16.0);
|
||||
this->unk_68 = super->x.HALF.HI;
|
||||
this->unk_6a = super->y.HALF.HI;
|
||||
this->unk_6c = 0;
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ void LadderUp(Entity* this) {
|
|||
SetTile(0x4023, COORD_TO_TILE(this), this->collisionLayer);
|
||||
break;
|
||||
case 1:
|
||||
if (GravityUpdate(this, 0x1000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(16.0)) == 0) {
|
||||
fxEnt = CreateFx(this, FX_GIANT_EXPLOSION, 0x40);
|
||||
if (fxEnt) {
|
||||
fxEnt->y.HALF.HI += 8;
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ void LavaPlatform_Type0Action1(LavaPlatformEntity* this) {
|
|||
if (*(u8*)&this->timer != 0) {
|
||||
// Use this entity to show the platform flipping animation.
|
||||
super->action = 2;
|
||||
super->zVelocity = 0x2c000;
|
||||
super->zVelocity = Q_16_16(2.75);
|
||||
super->spriteSettings.draw = 1;
|
||||
UpdateSpriteForCollisionLayer(super);
|
||||
InitAnimationForceUpdate(super, (super->child)->animationState);
|
||||
|
|
@ -87,7 +87,7 @@ void LavaPlatform_Type0Action1(LavaPlatformEntity* this) {
|
|||
}
|
||||
|
||||
void LavaPlatform_Type0Action2(LavaPlatformEntity* this) {
|
||||
if (GravityUpdate(super, 0x2400) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(36.0)) == 0) {
|
||||
// Finished flipping platform.
|
||||
super->action = 1;
|
||||
super->spriteSettings.draw = 0;
|
||||
|
|
@ -95,7 +95,7 @@ void LavaPlatform_Type0Action2(LavaPlatformEntity* this) {
|
|||
(super->child)->spriteOffsetY = 0;
|
||||
InitializeAnimation(super->child, super->child->animationState);
|
||||
CreateFx(super, FX_LAVA_SPLASH_HUGE, 0);
|
||||
} else if ((super->zVelocity < 0x18000) && ((super->frame & ANIM_DONE) == 0)) {
|
||||
} else if ((super->zVelocity < Q_16_16(1.5)) && ((super->frame & ANIM_DONE) == 0)) {
|
||||
UpdateAnimationSingleFrame(super);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ void sub_08085A98(LilypadLargeEntity* this) {
|
|||
|
||||
void sub_08085B40(LilypadLargeEntity* this) {
|
||||
if (super->z.WORD != 0) {
|
||||
if (GravityUpdate(super, 0x2000) != 0) {
|
||||
if (GravityUpdate(super, Q_8_8(32.0)) != 0) {
|
||||
if ((u32)this->unk_78.WORD < 0x1200000) {
|
||||
this->unk_78.WORD += 0x100000;
|
||||
SetAffineInfo(super, this->unk_78.HALF_U.HI, this->unk_78.HALF_U.HI, this->unk_7c.HALF_U.HI);
|
||||
|
|
@ -168,7 +168,7 @@ void sub_08085B40(LilypadLargeEntity* this) {
|
|||
}
|
||||
|
||||
if (this->unk_82 == 0) {
|
||||
if (GravityUpdate(&gPlayerEntity, 0x2000) == 0) {
|
||||
if (GravityUpdate(&gPlayerEntity, Q_8_8(32.0)) == 0) {
|
||||
ResetCollisionLayer(&gPlayerEntity);
|
||||
sub_08085F1C(this);
|
||||
super->action = 1;
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ void MacroBook_Action3(MacroBookEntity* this) {
|
|||
|
||||
if (super->timer) {
|
||||
this->unk80 += 8;
|
||||
super->x.WORD += 0x400;
|
||||
super->x.WORD += Q_16_16(1.0 / 64.0);
|
||||
SetAffineInfo(super, this->unk80, this->unk80, 0);
|
||||
} else {
|
||||
sub_0809AA9C(this, super->child, 0);
|
||||
|
|
|
|||
|
|
@ -130,11 +130,11 @@ void sub_0808CC88(MacroPlayerEntity* this) {
|
|||
|
||||
void MacroPlayer_Type0_Action1(MacroPlayerEntity* this) {
|
||||
sub_0808CC88(this);
|
||||
if (GravityUpdate(super, 0x1000) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(16.0)) == 0) {
|
||||
super->action++;
|
||||
super->direction = DirectionSouthWest;
|
||||
super->speed = 0x100;
|
||||
super->zVelocity = 0x30000;
|
||||
super->zVelocity = Q_16_16(3.0);
|
||||
super->spriteSettings.shadow = 0;
|
||||
super->child->subAction = 1;
|
||||
gUnk_02018EB0.unk_18 = 1;
|
||||
|
|
@ -144,13 +144,13 @@ void MacroPlayer_Type0_Action1(MacroPlayerEntity* this) {
|
|||
void MacroPlayer_Type0_Action2(MacroPlayerEntity* this) {
|
||||
sub_0808CC88(this);
|
||||
UpdateAnimationSingleFrame(super);
|
||||
if (GravityUpdate(super, 0x2000)) {
|
||||
if (GravityUpdate(super, Q_8_8(32.0))) {
|
||||
LinearMoveUpdate(super);
|
||||
} else {
|
||||
super->action++;
|
||||
super->direction = 10;
|
||||
super->speed = 0xc0;
|
||||
super->zVelocity = 0x28000;
|
||||
super->zVelocity = Q_16_16(2.5);
|
||||
gUnk_02018EB0.unk_19 = 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -158,20 +158,20 @@ void MacroPlayer_Type0_Action2(MacroPlayerEntity* this) {
|
|||
void MacroPlayer_Type0_Action3(MacroPlayerEntity* this) {
|
||||
sub_0808CC88(this);
|
||||
UpdateAnimationSingleFrame(super);
|
||||
if (GravityUpdate(super, 0x2000)) {
|
||||
if (GravityUpdate(super, Q_8_8(32.0))) {
|
||||
LinearMoveUpdate(super);
|
||||
} else {
|
||||
super->action++;
|
||||
super->direction = 17;
|
||||
super->speed = 0x100;
|
||||
super->zVelocity = 0x24000;
|
||||
super->zVelocity = Q_16_16(2.25);
|
||||
gUnk_02018EB0.unk_1a = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void MacroPlayer_Type0_Action4(MacroPlayerEntity* this) {
|
||||
sub_0808CC88(this);
|
||||
if (GravityUpdate(super, 0x1800)) {
|
||||
if (GravityUpdate(super, Q_8_8(24.0))) {
|
||||
UpdateAnimationSingleFrame(super);
|
||||
LinearMoveUpdate(super);
|
||||
if (super->x.HALF.HI < 0x80) {
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ void sub_08091D90(MinecartEntity* this) {
|
|||
if (super->zVelocity < 0) {
|
||||
UpdateAnimationSingleFrame(super);
|
||||
}
|
||||
if (((super->frame & 0x7f) == 0) && GravityUpdate(super, 0x2000) == 0) {
|
||||
if (((super->frame & 0x7f) == 0) && GravityUpdate(super, Q_8_8(32.0)) == 0) {
|
||||
super->type2 ^= 4;
|
||||
super->action = 1;
|
||||
this->minecartData->field_0x6 = super->type2;
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ void Object1F_Init(Object1FEntity* this) {
|
|||
|
||||
u32 temp;
|
||||
super->action = 1;
|
||||
super->zVelocity = 0x2c000;
|
||||
super->zVelocity = Q_16_16(2.75);
|
||||
super->direction = super->animationState << 2 ^ 0x10;
|
||||
if (super->animationState == 0) {
|
||||
super->spritePriority.b0--;
|
||||
|
|
@ -66,7 +66,7 @@ void Object1F_Action1(Object1FEntity* this) {
|
|||
uVar1 = gPlayerState.field_0x3c[1];
|
||||
} else {
|
||||
ProcessMovement2(super);
|
||||
uVar1 = GravityUpdate(super, 0x2800);
|
||||
uVar1 = GravityUpdate(super, Q_8_8(40.0));
|
||||
}
|
||||
|
||||
if (uVar1 == 0) {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ typedef struct {
|
|||
/*0x68*/ u16 unk_68;
|
||||
/*0x6a*/ u16 unk_6a;
|
||||
/*0x6c*/ u16* unk_6c;
|
||||
/*0x70*/ u32 unk_70;
|
||||
/*0x70*/ u32 gravity;
|
||||
} Object30Entity;
|
||||
|
||||
extern u32 sub_0806F798(Entity*);
|
||||
|
|
@ -73,19 +73,19 @@ void Object30_Action2(Object30Entity* this) {
|
|||
u8 tmp;
|
||||
switch (super->type) {
|
||||
case 0:
|
||||
if (this->unk_70 != 0) {
|
||||
if (this->gravity != 0) {
|
||||
if (super->zVelocity < 0) {
|
||||
if (super->z.HALF.HI > -8) {
|
||||
this->unk_70 = 0;
|
||||
this->gravity = 0;
|
||||
} else {
|
||||
if (super->zVelocity < -0x4000) {
|
||||
this->unk_70 = -0x400;
|
||||
if (super->zVelocity < Q_16_16(-0.25)) {
|
||||
this->gravity = Q_8_8(-4.0);
|
||||
} else {
|
||||
this->unk_70 = 0x400;
|
||||
this->gravity = Q_8_8(4.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
GravityUpdate(super, this->unk_70);
|
||||
GravityUpdate(super, this->gravity);
|
||||
return;
|
||||
}
|
||||
// fallthrough
|
||||
|
|
@ -105,11 +105,11 @@ void sub_0808A968(Object30Entity* this) {
|
|||
super->action = 2;
|
||||
super->timer = 0x1e;
|
||||
super->spriteSettings.draw = 1;
|
||||
super->zVelocity = 0x28000;
|
||||
super->zVelocity = Q_16_16(2.5);
|
||||
super->spritePriority.b1 = 3;
|
||||
super->spriteSettings.shadow = 0;
|
||||
super->collisionFlags |= 0x10;
|
||||
super->hitbox = (Hitbox*)&gUnk_08121C58;
|
||||
SetDefaultPriority(super, 2);
|
||||
this->unk_70 = 0x2800;
|
||||
this->gravity = Q_8_8(40.0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ void Object37_Action1(Object37Entity* this) {
|
|||
if (item != 0) {
|
||||
item->direction = gPlayerEntity.animationState << 2;
|
||||
item->speed = 0x80;
|
||||
item->zVelocity = 0x20000;
|
||||
item->zVelocity = Q_16_16(2.0);
|
||||
}
|
||||
gSave.unk24E[0] = 1;
|
||||
DeleteThisEntity();
|
||||
|
|
|
|||
|
|
@ -39,6 +39,6 @@ void sub_0808E448(Entity* this) {
|
|||
}
|
||||
|
||||
if (this->type == 0) {
|
||||
this->z.WORD -= 0x8000;
|
||||
this->z.WORD -= Q_16_16(0.5);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ void sub_0808F0D0(Entity* this) {
|
|||
|
||||
void sub_0808F14C(Entity* this) {
|
||||
sub_0808F2B0(this);
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
this->action++;
|
||||
SoundReq(SFX_WATER_SPLASH);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ void Object4B_Action3(Object4BEntity* this) {
|
|||
super->action++;
|
||||
super->direction = 0;
|
||||
super->speed = 0x100;
|
||||
super->zVelocity = 0x20000;
|
||||
super->zVelocity = Q_16_16(2.0);
|
||||
super->spriteOrientation.flipY = 0;
|
||||
super->timer = 0;
|
||||
InitializeAnimation(super, 3);
|
||||
|
|
@ -72,7 +72,7 @@ void Object4B_Action3(Object4BEntity* this) {
|
|||
void Object4B_Action4(Object4BEntity* this) {
|
||||
if ((super->frame & 0x10) != 0) {
|
||||
LinearMoveUpdate(super);
|
||||
if (GravityUpdate(super, 0x2000) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(32.0)) == 0) {
|
||||
GetNextFrame(super);
|
||||
}
|
||||
} else {
|
||||
|
|
@ -86,7 +86,7 @@ void Object4B_Action4(Object4BEntity* this) {
|
|||
InitializeAnimation(super, 2);
|
||||
}
|
||||
} else if ((super->frame & ANIM_DONE) != 0) {
|
||||
super->zVelocity = 0x20000;
|
||||
super->zVelocity = Q_16_16(2.0);
|
||||
InitializeAnimation(super, 3);
|
||||
SoundReq(SFX_12B);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ void sub_08091120(Entity* this) {
|
|||
this->spriteIndex = gUnk_08122288[this->type].spriteIndex;
|
||||
this->spriteSettings.draw = 1;
|
||||
this->spriteRendering.b3 = 2;
|
||||
this->zVelocity = 0x2a000;
|
||||
this->zVelocity = Q_16_16(2.625);
|
||||
InitializeAnimation(this, gUnk_08122288[this->type].animationState);
|
||||
sub_08004168(this);
|
||||
}
|
||||
|
|
@ -44,7 +44,7 @@ void sub_08091198(Entity* this) {
|
|||
this->spriteSettings.flipY = 1;
|
||||
}
|
||||
|
||||
if (GravityUpdate(this, 0x2000)) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0))) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ void sub_08093D88(Entity* this) {
|
|||
|
||||
this->action = 1;
|
||||
this->z.HALF.HI -= 8;
|
||||
this->zVelocity = 0x2a000;
|
||||
this->zVelocity = Q_16_16(2.625);
|
||||
this->timer = 32;
|
||||
switch (this->type) {
|
||||
case 0:
|
||||
|
|
|
|||
|
|
@ -89,11 +89,11 @@ void sub_08094148(Object67Entity* this) {
|
|||
super->spriteSettings.flipY = 1;
|
||||
}
|
||||
if (super->type2 < 4) {
|
||||
super->zVelocity = (Random() & 0x1ffff) | 0x28000;
|
||||
super->zVelocity = (Random() & 0x1ffff) | Q_16_16(2.5);
|
||||
super->speed = 0x100;
|
||||
InitializeAnimation(super, 0x56);
|
||||
} else {
|
||||
super->zVelocity = 0x28000;
|
||||
super->zVelocity = Q_16_16(2.5);
|
||||
super->speed = 0x100;
|
||||
super->direction = (Random() & 3) | super->direction;
|
||||
InitializeAnimation(super, 0x57);
|
||||
|
|
@ -166,7 +166,7 @@ void sub_08094398(Object67Entity* this) {
|
|||
case 0:
|
||||
GetNextFrame(super);
|
||||
LinearMoveUpdate(super);
|
||||
if (GravityUpdate(super, 0x4000) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(64.0)) == 0) {
|
||||
if (super->type2 < 4) {
|
||||
CreateFx(super, FX_LAVA_SPLASH, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ void sub_080948D0(Object68Entity* this) {
|
|||
|
||||
void sub_080948E8(Object68Entity* this) {
|
||||
if (super->timer < 0x3c) {
|
||||
super->z.WORD -= 0x4000;
|
||||
super->z.WORD -= Q_16_16(0.25);
|
||||
if ((super->timer & 3) == 0) {
|
||||
super->child = CreateFx(super, FX_DASH, 0x40);
|
||||
if (super->child != NULL) {
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ void sub_08094B0C(Object6AEntity* this) {
|
|||
}
|
||||
|
||||
void sub_08094B3C(Object6AEntity* this) {
|
||||
super->z.WORD += 0x8000;
|
||||
super->z.WORD += Q_16_16(0.5);
|
||||
if (super->z.HALF.HI >= -13)
|
||||
super->z.HALF.HI = -13;
|
||||
else
|
||||
|
|
@ -323,7 +323,7 @@ void sub_08094E30(Object6AEntity* this) {
|
|||
switch (super->action) {
|
||||
case 0:
|
||||
super->action++;
|
||||
super->z.WORD = -0xA00000;
|
||||
super->z.WORD = Q_16_16(-160.0);
|
||||
super->zVelocity = 0;
|
||||
SetDefaultPriority(super, PRIO_PLAYER_EVENT);
|
||||
InitializeAnimation(super, 0);
|
||||
|
|
@ -1297,7 +1297,7 @@ void sub_0809629C(Object6AEntity* this, u32 type) {
|
|||
}
|
||||
ExecuteScriptForEntity(super, 0);
|
||||
HandleEntity0x82Actions(super);
|
||||
GravityUpdate(super, 0x1000);
|
||||
GravityUpdate(super, Q_8_8(16.0));
|
||||
tmp = super->type;
|
||||
super->type = type;
|
||||
sub_08080CB4(super);
|
||||
|
|
|
|||
|
|
@ -108,6 +108,6 @@ void sub_08098130(Object79Entity* this) {
|
|||
super->direction = this->objDir.HALF.HI;
|
||||
super->speed = this->unk7a;
|
||||
LinearMoveUpdate(super);
|
||||
super->y.WORD -= 0x140000;
|
||||
super->y.WORD -= Q_16_16(20.0);
|
||||
super->y.WORD += this->unk6c;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@ void Object96_Action2(Entity*, const struct_gUnk_08123FB0*);
|
|||
void Object96_Action3(Entity*, const struct_gUnk_08123FB0*);
|
||||
|
||||
static const struct_gUnk_08123FB0 gUnk_08123FB0[] = {
|
||||
{ sub_0809D91C, sub_0809D93C, 0, 0, 0x30, 0x30, 0x1, 0x3c, 0x3c, 0x13, 0x10000, 0x1800, 0x60, 0x40, 0x4021, 0x1,
|
||||
0x0 },
|
||||
{ sub_0809D91C, sub_0809D93C, 0, 0, 0x30, 0x30, 0x1, 0x3c, 0x3c, 0x13, Q_16_16(1.0), 0x1800, 0x60, 0x40, 0x4021,
|
||||
0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0, 0x63, 0x63, 0x10, 0, 0x1800, 0, 0x18,
|
||||
#if defined(JP) || defined(DEMO_JP) || defined(EU)
|
||||
0xCD,
|
||||
|
|
@ -48,11 +48,11 @@ static const struct_gUnk_08123FB0 gUnk_08123FB0[] = {
|
|||
0xd0,
|
||||
#endif
|
||||
0, 0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0, 0x3c, 0x3c, 0xf, 0x10000, 0x1800, 0x60, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0, 0x3c, 0x3c, 0x2, 0x10000, 0x1800, 0x140, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0x0, 0x3c, 0x3c, 0xd, 0x10000, 0x1800, 0x60, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0x0, 0x3c, 0x3c, 0x1a, 0x10000, 0x1800, 0x100, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0x0, 0x3c, 0x3c, 0x13, 0x10000, 0x1800, 0x60, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0, 0x3c, 0x3c, 0xf, Q_16_16(1.0), 0x1800, 0x60, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0, 0x3c, 0x3c, 0x2, Q_16_16(1.0), 0x1800, 0x140, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0x0, 0x3c, 0x3c, 0xd, Q_16_16(1.0), 0x1800, 0x60, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0x0, 0x3c, 0x3c, 0x1a, Q_16_16(1.0), 0x1800, 0x100, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ sub_0809D91C, NULL, 0, 0, 0, 0, 0x0, 0x3c, 0x3c, 0x13, Q_16_16(1.0), 0x1800, 0x60, 0x40, 0x4021, 0x1, 0x0 },
|
||||
{ NULL, NULL, 0, 0, 0, 0, 0x0, 0x5c, 0x5c, 0x81, 0, 0x1800, 0x100, 0x20, 0x0, 0x1, 0x0 },
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ void sub_0809F448(Entity* this) {
|
|||
int rand = Random();
|
||||
const struct_08124708* tmp2 = &gUnk_08124708[this->subtimer];
|
||||
this->subtimer++;
|
||||
tmp = 0x280000 - this->x.WORD;
|
||||
tmp = Q_16_16(40.0) - this->x.WORD;
|
||||
switch (tmp2->unk_0) {
|
||||
case 0:
|
||||
tmp = rand % 0x180000;
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ void ObjectA8_Init(ObjectA8Entity* this) {
|
|||
super->action = 1;
|
||||
switch (super->type2) {
|
||||
case 0:
|
||||
super->zVelocity = 0x1e000;
|
||||
super->zVelocity = Q_16_16(1.875);
|
||||
super->z.HALF.HI += 8;
|
||||
break;
|
||||
case 2:
|
||||
|
|
@ -88,7 +88,7 @@ void ObjectA8_Init(ObjectA8Entity* this) {
|
|||
}
|
||||
|
||||
void ObjectA8_Action1(ObjectA8Entity* this) {
|
||||
super->z.WORD -= 0xe000;
|
||||
super->z.WORD -= Q_16_16(0.875);
|
||||
if (super->frame != 0) {
|
||||
if (super->timer != 0) {
|
||||
super->timer *= 0x1e;
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ void sub_080A0AC4(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_080A0AD0(Entity* this) {
|
||||
GravityUpdate(this, 0x80);
|
||||
GravityUpdate(this, Q_8_8(0.5));
|
||||
}
|
||||
|
||||
void sub_080A0ADC(Entity* this) {
|
||||
|
|
@ -79,7 +79,7 @@ void sub_080A0AF0(Entity* this) {
|
|||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
GravityUpdate(this, 0x80);
|
||||
GravityUpdate(this, Q_8_8(0.5));
|
||||
}
|
||||
|
||||
void sub_080A0B28(Entity* this, ScriptExecutionContext* context) {
|
||||
|
|
@ -102,5 +102,5 @@ void sub_080A0B60(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_080A0B80(Entity* this) {
|
||||
this->y.WORD -= 0x28000;
|
||||
this->y.WORD -= Q_16_16(2.5);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ void ObjectOnSpinyBeetle_Action1(ObjectOnSpinyBeetleEntity* this) {
|
|||
case 0xf:
|
||||
case 0x1d:
|
||||
super->action = 4;
|
||||
super->zVelocity = 0x2a000;
|
||||
super->zVelocity = Q_16_16(2.625);
|
||||
super->spriteOffsetY = 0;
|
||||
super->spriteSettings.shadow = 1;
|
||||
super->spritePriority.b1 = 3;
|
||||
|
|
@ -250,7 +250,7 @@ void ObjectOnSpinyBeetle_Action4(ObjectOnSpinyBeetleEntity* this) {
|
|||
if (super->zVelocity < 0) {
|
||||
super->spriteSettings.flipY = 1;
|
||||
}
|
||||
if (GravityUpdate(super, 0x2000) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(32.0)) == 0) {
|
||||
sub_080989C0(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -252,7 +252,7 @@ void sub_08082824(Entity* this) {
|
|||
this->spriteSettings.flipY = 1;
|
||||
}
|
||||
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
sub_08082850(this, NULL);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ void sub_08084630(SpecialFxObject* this) {
|
|||
}
|
||||
|
||||
void sub_08084680(SpecialFxObject* this) {
|
||||
super->z.WORD += 0x4000;
|
||||
super->z.WORD += Q_16_16(0.25);
|
||||
sub_080845DC(this);
|
||||
}
|
||||
|
||||
|
|
@ -273,12 +273,12 @@ void sub_0808471C(SpecialFxObject* this) {
|
|||
}
|
||||
|
||||
void sub_08084770(SpecialFxObject* this) {
|
||||
super->z.WORD -= 0x4000;
|
||||
super->z.WORD -= Q_16_16(0.25);
|
||||
sub_080845DC(this);
|
||||
}
|
||||
|
||||
void sub_08084784(SpecialFxObject* this) {
|
||||
super->z.WORD += 0x4000;
|
||||
super->z.WORD += Q_16_16(0.25);
|
||||
sub_080845DC(this);
|
||||
}
|
||||
|
||||
|
|
@ -290,7 +290,7 @@ void sub_08084798(SpecialFxObject* this) {
|
|||
}
|
||||
|
||||
void sub_080847BC(SpecialFxObject* this) {
|
||||
super->z.WORD -= 0x2000;
|
||||
super->z.WORD -= Q_16_16(0.125);
|
||||
sub_080845DC(this);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1163,7 +1163,7 @@ static void PortalShrinkUpdate(Entity* this) {
|
|||
uVar5 = gUnk_0811BABC[uVar5 >> 5];
|
||||
}
|
||||
}
|
||||
iVar3 = 0x10000;
|
||||
iVar3 = Q_16_16(1);
|
||||
|
||||
switch (this->frame) {
|
||||
case 1:
|
||||
|
|
@ -2872,7 +2872,7 @@ static void sub_080737BC(Entity* this) {
|
|||
|
||||
UpdateAnimationSingleFrame(this);
|
||||
LinearMoveUpdate(this);
|
||||
this->z.WORD += 0x4C00;
|
||||
this->z.WORD += Q_16_16(0.296875);
|
||||
if (DirectionIsHorizontal(this->direction))
|
||||
pos = this->x.HALF.HI;
|
||||
else
|
||||
|
|
@ -3860,7 +3860,7 @@ void sub_08074D34(Entity* this, ScriptExecutionContext* ctx) {
|
|||
gPlayerState.animation = 1052;
|
||||
else
|
||||
gPlayerState.animation = 2060;
|
||||
this->zVelocity = 0x18000;
|
||||
this->zVelocity = Q_16_16(1.5);
|
||||
break;
|
||||
case 0x10:
|
||||
CreateSpeechBubbleExclamationMark(this, 8, -24);
|
||||
|
|
@ -3977,7 +3977,7 @@ void sub_0807501C(Entity* this) {
|
|||
this->spritePriority.b1 = 1;
|
||||
this->direction = Direction8FromAnimationState(this->animationState);
|
||||
this->speed = 200;
|
||||
this->zVelocity = 0x20000;
|
||||
this->zVelocity = Q_16_16(2.0);
|
||||
this->timer = 8;
|
||||
this->field_0x68.HALF.LO++;
|
||||
SoundReq(SFX_PLY_JUMP);
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ void sub_0801917C(PlayerItemBowEntity* this) {
|
|||
super->action = 3;
|
||||
super->direction ^= 0x10;
|
||||
super->speed = 0x100;
|
||||
super->zVelocity = 0x8000;
|
||||
super->zVelocity = Q_16_16(0.5);
|
||||
super->flags &= 0x7f;
|
||||
InitializeAnimation(super, 6);
|
||||
} else {
|
||||
|
|
@ -235,7 +235,7 @@ void sub_08019410(Entity* this) {
|
|||
void sub_08019444(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ void sub_080AD040(PlayerItemHeldObjectEntity* this) {
|
|||
ProcessMovement10(super);
|
||||
}
|
||||
}
|
||||
if (GravityUpdate(super, 0x2000) == 0) {
|
||||
if (GravityUpdate(super, Q_8_8(32.0)) == 0) {
|
||||
(child->base).zVelocity = super->zVelocity;
|
||||
(child->base).x = super->x;
|
||||
(child->base).y = super->y;
|
||||
|
|
@ -145,7 +145,7 @@ void sub_080AD040(PlayerItemHeldObjectEntity* this) {
|
|||
} else {
|
||||
SoundReq(SFX_PLACE_OBJ);
|
||||
super->timer++;
|
||||
super->zVelocity = 0x10000;
|
||||
super->zVelocity = Q_16_16(1.0);
|
||||
super->speed /= 2;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ void sub_0807037C(Entity* this) {
|
|||
void sub_08070398(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1014,7 +1014,7 @@ bool32 sub_08078F74(Entity* this) {
|
|||
gPlayerState.jump_status = 0x81;
|
||||
this->action = 0x15;
|
||||
this->subAction = 0;
|
||||
this->zVelocity = 0x20000;
|
||||
this->zVelocity = Q_16_16(2.0);
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
|
|
@ -1535,7 +1535,7 @@ void sub_0807B144(PlayerEntity* this) {
|
|||
super->spriteSettings.draw = 1;
|
||||
super->direction = super->animationState << 2;
|
||||
super->speed = 0xa0;
|
||||
super->zVelocity = 0x40000;
|
||||
super->zVelocity = Q_16_16(4.0);
|
||||
gPlayerState.jump_status = 0x81;
|
||||
SetPlayerActionNormal();
|
||||
}
|
||||
|
|
@ -1547,7 +1547,7 @@ void sub_0807B178(PlayerEntity* this) {
|
|||
super->spriteSettings.draw = 1;
|
||||
super->direction = 0x10;
|
||||
super->speed = 0;
|
||||
super->zVelocity = 0x40000;
|
||||
super->zVelocity = Q_16_16(4.0);
|
||||
gPlayerState.jump_status = 0x81;
|
||||
SetPlayerActionNormal();
|
||||
}
|
||||
|
|
@ -1567,7 +1567,7 @@ void sub_0807B1DC(PlayerEntity* this) {
|
|||
void sub_0807B1EC(PlayerEntity* this) {
|
||||
if (--super->timer == 0) {
|
||||
this->unk_6e++;
|
||||
super->zVelocity = 0x10000;
|
||||
super->zVelocity = Q_16_16(1.0);
|
||||
gPlayerState.animation = 0x2c2;
|
||||
}
|
||||
}
|
||||
|
|
@ -1575,11 +1575,11 @@ void sub_0807B1EC(PlayerEntity* this) {
|
|||
void sub_0807B21C(PlayerEntity* this) {
|
||||
UpdateAnimationSingleFrame(super);
|
||||
if (super->zVelocity < 0) {
|
||||
GravityUpdate(super, 0x400);
|
||||
GravityUpdate(super, Q_8_8(4.0));
|
||||
} else {
|
||||
GravityUpdate(super, 0x800);
|
||||
GravityUpdate(super, Q_8_8(8.0));
|
||||
}
|
||||
if (super->zVelocity < -0x8000) {
|
||||
if (super->zVelocity < -Q_16_16(0.5)) {
|
||||
super->timer = 0x78;
|
||||
super->subtimer = 0;
|
||||
this->unk_6e++;
|
||||
|
|
@ -1597,7 +1597,7 @@ void sub_0807B264(PlayerEntity* this) {
|
|||
super->z.WORD = this->unk_68 + tmp;
|
||||
if (--super->timer == 0) {
|
||||
super->timer = 0x50;
|
||||
super->zVelocity = 0x8000;
|
||||
super->zVelocity = Q_16_16(0.5);
|
||||
this->unk_6e++;
|
||||
#ifndef EU
|
||||
SoundReq(SFX_NEAR_PORTAL);
|
||||
|
|
@ -1606,7 +1606,7 @@ void sub_0807B264(PlayerEntity* this) {
|
|||
}
|
||||
|
||||
void sub_0807B2B8(PlayerEntity* this) {
|
||||
GravityUpdate(super, -0x2000);
|
||||
GravityUpdate(super, Q_8_8(-32.0));
|
||||
UpdateAnimationSingleFrame(super);
|
||||
if (super->timer != 0 && --super->timer == 0) {
|
||||
DoExitTransition(&gUnk_0813AD88[this->unk_6d]);
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ void ArrowProjectile_Init(Entity* this) {
|
|||
COLLISION_OFF(this);
|
||||
this->timer = 0x6a;
|
||||
this->subtimer = 0;
|
||||
this->zVelocity = 0xa00;
|
||||
this->zVelocity = Q_16_16(10.0 / 256.0);
|
||||
sub_080A94C0(this, this->type);
|
||||
}
|
||||
|
||||
|
|
@ -88,7 +88,7 @@ void ArrowProjectile_Action3(Entity* this) {
|
|||
}
|
||||
|
||||
void ArrowProjectile_Action4(Entity* this) {
|
||||
if (GravityUpdate(this, 0x2800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(40.0)) == 0) {
|
||||
CreateDust(this);
|
||||
DeleteThisEntity();
|
||||
} else {
|
||||
|
|
@ -104,7 +104,7 @@ void sub_080A9488(Entity* this) {
|
|||
this->action = 4;
|
||||
COLLISION_OFF(this);
|
||||
this->timer = 2;
|
||||
this->zVelocity = 0x18000;
|
||||
this->zVelocity = Q_16_16(1.5);
|
||||
this->animationState = (this->knockbackDirection & 0x18) >> 3;
|
||||
EnqueueSFX(SFX_METAL_CLINK);
|
||||
sub_080A94C0(this, this->animationState);
|
||||
|
|
|
|||
|
|
@ -52,11 +52,11 @@ void BoneProjectile_Action1(Entity* this) {
|
|||
void BoneProjectile_Action2(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
ProcessMovement3(this);
|
||||
if (GravityUpdate(this, 0x1800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0) {
|
||||
this->action = 3;
|
||||
COLLISION_OFF(this);
|
||||
this->speed = 0xe0;
|
||||
this->zVelocity = 0xe000;
|
||||
this->zVelocity = Q_16_16(0.875);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ void GleerokProjectile_Init(Entity* this) {
|
|||
this->zVelocity = (this->z.WORD / 0x18000) << 0xc;
|
||||
break;
|
||||
case 3:
|
||||
this->z.WORD = 0xff600000;
|
||||
this->z.WORD = Q_16_16(-160.0);
|
||||
uVar1 = (Random() & 3) * 2;
|
||||
this->x.HALF.HI = gUnk_08129978[uVar1] + this->x.HALF.HI;
|
||||
this->y.HALF.HI = gUnk_08129978[uVar1 + 1] + this->y.HALF.HI;
|
||||
|
|
@ -83,7 +83,7 @@ void GleerokProjectile_Init(Entity* this) {
|
|||
|
||||
void GleerokProjectile_Action1(Entity* this) {
|
||||
if (this->type == 3) {
|
||||
if (GravityUpdate(this, 0x1800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0) {
|
||||
sub_08008790(this, 7);
|
||||
CreateFx(this, FX_ROCK, 0);
|
||||
DeleteThisEntity();
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ void OctorokBossProjectile_Init(Entity* this) {
|
|||
break;
|
||||
case 3:
|
||||
CopyPosition(&gPlayerEntity, this);
|
||||
this->z.WORD = 0xff600000;
|
||||
this->z.WORD = Q_16_16(-160.0);
|
||||
this->x.HALF.HI += 0x60;
|
||||
this->y.HALF.HI += 0x40;
|
||||
this->x.HALF.HI -= (s32)Random() % 0xc0;
|
||||
|
|
@ -150,7 +150,7 @@ void OctorokBossProjectile_Action1(Entity* this) {
|
|||
OctorokBossProjectile_Action2(this);
|
||||
}
|
||||
GetNextFrame(this);
|
||||
if (GravityUpdate(this, 0x1800) != 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) != 0) {
|
||||
CalculateEntityTileCollisions(this, this->direction >> 3, 0);
|
||||
if (this->collisions == COL_NONE) {
|
||||
LinearMoveAngle(this, (s32)this->speed, (u32)this->direction);
|
||||
|
|
@ -185,7 +185,7 @@ void OctorokBossProjectile_Action1(Entity* this) {
|
|||
DeleteThisEntity();
|
||||
break;
|
||||
case 3:
|
||||
if (GravityUpdate(this, 0x1800) != 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) != 0) {
|
||||
return;
|
||||
}
|
||||
CreateFx(this, FX_ROCK, 0);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ void RockProjectile_Action1(Entity* this) {
|
|||
void RockProjectile_Action2(Entity* this) {
|
||||
LinearMoveUpdate(this);
|
||||
GetNextFrame(this);
|
||||
if (GravityUpdate(this, 0x1800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0) {
|
||||
DeleteEntity(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ void StalfosProjectile_Action3(Entity* this) {
|
|||
if (this->zVelocity < 0) {
|
||||
this->spriteSettings.flipY = 1;
|
||||
}
|
||||
if (GravityUpdate(this, 0x2000) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
sub_080A9BA8(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ void sub_080ABE04(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_080ABE88(Entity* this) {
|
||||
if (GravityUpdate(this, 0x1800) == 0) {
|
||||
if (GravityUpdate(this, Q_8_8(24.0)) == 0) {
|
||||
CreateFx(this, FX_ROCK, 0);
|
||||
DeleteThisEntity();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ void V3ElectricProjectile_Action2(Entity* this) {
|
|||
void sub_080AC168(Entity* this) {
|
||||
u8 timer;
|
||||
GetNextFrame(this);
|
||||
this->z.WORD += 0xffff8000;
|
||||
this->z.WORD -= Q_16_16(0.5);
|
||||
timer = --this->timer;
|
||||
if (timer == 0) {
|
||||
u32 rand;
|
||||
|
|
|
|||
|
|
@ -386,7 +386,7 @@ void HandleEntity0x82Actions(Entity* entity) {
|
|||
}
|
||||
break;
|
||||
case 1 << 5:
|
||||
GravityUpdate(entity, 0x2000);
|
||||
GravityUpdate(entity, Q_8_8(32.0));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ void sub_0807FDF8(RoomControls* controls) {
|
|||
controls->scroll_y -= 4;
|
||||
pEVar2 = controls->camera_target;
|
||||
if (pEVar2 == &gPlayerEntity) {
|
||||
pEVar2->y.WORD = gPlayerEntity.y.WORD - 0x6000;
|
||||
pEVar2->y.WORD = gPlayerEntity.y.WORD - Q_16_16(0.375);
|
||||
}
|
||||
if (controls->filler2[0] == 0x28) {
|
||||
sub_0807FEC8(controls);
|
||||
|
|
@ -116,7 +116,7 @@ void sub_0807FDF8(RoomControls* controls) {
|
|||
case 1:
|
||||
controls->scroll_x = controls->scroll_x + 4;
|
||||
if (controls->camera_target == &gPlayerEntity) {
|
||||
gPlayerEntity.x.WORD += 0x4000;
|
||||
gPlayerEntity.x.WORD += Q_16_16(0.25);
|
||||
}
|
||||
if (controls->filler2[0] == 0x3c) {
|
||||
sub_0807FEC8(controls);
|
||||
|
|
@ -126,7 +126,7 @@ void sub_0807FDF8(RoomControls* controls) {
|
|||
controls->scroll_y = controls->scroll_y + 4;
|
||||
pEVar2 = controls->camera_target;
|
||||
if (pEVar2 == &gPlayerEntity) {
|
||||
pEVar2->y.WORD = gPlayerEntity.y.WORD + 0x6000;
|
||||
pEVar2->y.WORD = gPlayerEntity.y.WORD + Q_16_16(0.375);
|
||||
}
|
||||
if (controls->filler2[0] == 0x28) {
|
||||
sub_0807FEC8(controls);
|
||||
|
|
@ -135,7 +135,7 @@ void sub_0807FDF8(RoomControls* controls) {
|
|||
case 3:
|
||||
controls->scroll_x -= 4;
|
||||
if (controls->camera_target == &gPlayerEntity) {
|
||||
gPlayerEntity.x.WORD -= 0x4000;
|
||||
gPlayerEntity.x.WORD -= Q_16_16(0.25);
|
||||
}
|
||||
if (controls->filler2[0] == 0x3c) {
|
||||
sub_0807FEC8(controls);
|
||||
|
|
|
|||
Loading…
Reference in New Issue