mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 06:24:30 +00:00
Rename yDistToWater -> depthInWater (#1950)
* Rename yDistToWater -> yDistUnderWater * yDistUnderWater -> depthInWater
This commit is contained in:
parent
d4d7512cb6
commit
b86e1774cf
26 changed files with 112 additions and 112 deletions
|
@ -276,7 +276,7 @@ typedef struct Actor {
|
||||||
/* 0x07D */ u8 floorBgId; // Bg ID of the floor polygon directly below the actor
|
/* 0x07D */ u8 floorBgId; // Bg ID of the floor polygon directly below the actor
|
||||||
/* 0x07E */ s16 wallYaw; // Y rotation of the wall polygon the actor is touching
|
/* 0x07E */ s16 wallYaw; // Y rotation of the wall polygon the actor is touching
|
||||||
/* 0x080 */ f32 floorHeight; // Y position of the floor polygon directly below the actor
|
/* 0x080 */ f32 floorHeight; // Y position of the floor polygon directly below the actor
|
||||||
/* 0x084 */ f32 yDistToWater; // Distance to the surface of active waterbox. Negative value means above water
|
/* 0x084 */ f32 depthInWater; // Distance below the surface of active waterbox. Positive value means under water, negative value means above water
|
||||||
/* 0x088 */ u16 bgCheckFlags; // Flags indicating how the actor is interacting with collision
|
/* 0x088 */ u16 bgCheckFlags; // Flags indicating how the actor is interacting with collision
|
||||||
/* 0x08A */ s16 yawTowardsPlayer; // Y rotation difference between the actor and the player
|
/* 0x08A */ s16 yawTowardsPlayer; // Y rotation difference between the actor and the player
|
||||||
/* 0x08C */ f32 xyzDistToPlayerSq; // Squared distance between the actor and the player
|
/* 0x08C */ f32 xyzDistToPlayerSq; // Squared distance between the actor and the player
|
||||||
|
|
|
@ -1358,8 +1358,8 @@ void Actor_UpdateBgCheckInfo(PlayState* play, Actor* actor, f32 wallCheckHeight,
|
||||||
waterBoxYSurface = actor->world.pos.y;
|
waterBoxYSurface = actor->world.pos.y;
|
||||||
if (WaterBox_GetSurface1(play, &play->colCtx, actor->world.pos.x, actor->world.pos.z, &waterBoxYSurface,
|
if (WaterBox_GetSurface1(play, &play->colCtx, actor->world.pos.x, actor->world.pos.z, &waterBoxYSurface,
|
||||||
&waterBox)) {
|
&waterBox)) {
|
||||||
actor->yDistToWater = waterBoxYSurface - actor->world.pos.y;
|
actor->depthInWater = waterBoxYSurface - actor->world.pos.y;
|
||||||
if (actor->yDistToWater < 0.0f) {
|
if (actor->depthInWater < 0.0f) {
|
||||||
actor->bgCheckFlags &= ~(BGCHECKFLAG_WATER | BGCHECKFLAG_WATER_TOUCH);
|
actor->bgCheckFlags &= ~(BGCHECKFLAG_WATER | BGCHECKFLAG_WATER_TOUCH);
|
||||||
} else {
|
} else {
|
||||||
if (!(actor->bgCheckFlags & BGCHECKFLAG_WATER)) {
|
if (!(actor->bgCheckFlags & BGCHECKFLAG_WATER)) {
|
||||||
|
@ -1379,7 +1379,7 @@ void Actor_UpdateBgCheckInfo(PlayState* play, Actor* actor, f32 wallCheckHeight,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
actor->bgCheckFlags &= ~(BGCHECKFLAG_WATER | BGCHECKFLAG_WATER_TOUCH);
|
actor->bgCheckFlags &= ~(BGCHECKFLAG_WATER | BGCHECKFLAG_WATER_TOUCH);
|
||||||
actor->yDistToWater = BGCHECK_Y_MIN;
|
actor->depthInWater = BGCHECK_Y_MIN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1835,7 +1835,7 @@ void func_8002F850(PlayState* play, Actor* actor) {
|
||||||
s32 surfaceSfxOffset;
|
s32 surfaceSfxOffset;
|
||||||
|
|
||||||
if (actor->bgCheckFlags & BGCHECKFLAG_WATER) {
|
if (actor->bgCheckFlags & BGCHECKFLAG_WATER) {
|
||||||
if (actor->yDistToWater < 20.0f) {
|
if (actor->depthInWater < 20.0f) {
|
||||||
surfaceSfxOffset = SURFACE_SFX_OFFSET_WATER_SHALLOW;
|
surfaceSfxOffset = SURFACE_SFX_OFFSET_WATER_SHALLOW;
|
||||||
} else {
|
} else {
|
||||||
surfaceSfxOffset = SURFACE_SFX_OFFSET_WATER_DEEP;
|
surfaceSfxOffset = SURFACE_SFX_OFFSET_WATER_DEEP;
|
||||||
|
|
|
@ -345,7 +345,7 @@ void EnAttackNiw_Update(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
Math_Vec3f_Copy(&sp30, &this->actor.world.pos);
|
Math_Vec3f_Copy(&sp30, &this->actor.world.pos);
|
||||||
sp30.y += this->actor.yDistToWater;
|
sp30.y += this->actor.depthInWater;
|
||||||
EffectSsGSplash_Spawn(play, &sp30, NULL, NULL, 0, 0x190);
|
EffectSsGSplash_Spawn(play, &sp30, NULL, NULL, 0, 0x190);
|
||||||
this->unk_2DC = 0.0f;
|
this->unk_2DC = 0.0f;
|
||||||
this->actor.gravity = 0.0f;
|
this->actor.gravity = 0.0f;
|
||||||
|
|
|
@ -342,7 +342,7 @@ void EnBom_Update(Actor* thisx, PlayState* play2) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((thisx->scale.x >= 0.01f) && (thisx->params != BOMB_EXPLOSION)) {
|
if ((thisx->scale.x >= 0.01f) && (thisx->params != BOMB_EXPLOSION)) {
|
||||||
if (thisx->yDistToWater >= 20.0f) {
|
if (thisx->depthInWater >= 20.0f) {
|
||||||
EffectSsDeadSound_SpawnStationary(play, &thisx->projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, true,
|
EffectSsDeadSound_SpawnStationary(play, &thisx->projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, true,
|
||||||
DEADSOUND_REPEAT_MODE_OFF, 10);
|
DEADSOUND_REPEAT_MODE_OFF, 10);
|
||||||
Actor_Kill(thisx);
|
Actor_Kill(thisx);
|
||||||
|
|
|
@ -114,7 +114,7 @@ void EnBomChu_Explode(EnBomChu* this, PlayState* play) {
|
||||||
this->timer = 1;
|
this->timer = 1;
|
||||||
this->actor.speed = 0.0f;
|
this->actor.speed = 0.0f;
|
||||||
|
|
||||||
if (this->actor.yDistToWater > 0.0f) {
|
if (this->actor.depthInWater > 0.0f) {
|
||||||
for (i = 0; i < 40; i++) {
|
for (i = 0; i < 40; i++) {
|
||||||
EffectSsBubble_Spawn(play, &this->actor.world.pos, 1.0f, 5.0f, 30.0f, 0.25f);
|
EffectSsBubble_Spawn(play, &this->actor.world.pos, 1.0f, 5.0f, 30.0f, 0.25f);
|
||||||
}
|
}
|
||||||
|
@ -452,9 +452,9 @@ void EnBomChu_Update(Actor* thisx, PlayState* play2) {
|
||||||
|
|
||||||
if (WaterBox_GetSurface1(play, &play->colCtx, this->actor.world.pos.x, this->actor.world.pos.z, &waterY,
|
if (WaterBox_GetSurface1(play, &play->colCtx, this->actor.world.pos.x, this->actor.world.pos.z, &waterY,
|
||||||
&waterBox)) {
|
&waterBox)) {
|
||||||
this->actor.yDistToWater = waterY - this->actor.world.pos.y;
|
this->actor.depthInWater = waterY - this->actor.world.pos.y;
|
||||||
|
|
||||||
if (this->actor.yDistToWater < 0.0f) {
|
if (this->actor.depthInWater < 0.0f) {
|
||||||
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER) {
|
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER) {
|
||||||
EnBomChu_SpawnRipples(this, play, waterY);
|
EnBomChu_SpawnRipples(this, play, waterY);
|
||||||
}
|
}
|
||||||
|
@ -471,7 +471,7 @@ void EnBomChu_Update(Actor* thisx, PlayState* play2) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this->actor.bgCheckFlags &= ~BGCHECKFLAG_WATER;
|
this->actor.bgCheckFlags &= ~BGCHECKFLAG_WATER;
|
||||||
this->actor.yDistToWater = BGCHECK_Y_MIN;
|
this->actor.depthInWater = BGCHECK_Y_MIN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -452,7 +452,7 @@ void EnBombf_Update(Actor* thisx, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((thisx->scale.x >= 0.01f) && (thisx->params != BOMBFLOWER_EXPLOSION)) {
|
if ((thisx->scale.x >= 0.01f) && (thisx->params != BOMBFLOWER_EXPLOSION)) {
|
||||||
if (thisx->yDistToWater >= 20.0f) {
|
if (thisx->depthInWater >= 20.0f) {
|
||||||
EffectSsDeadSound_SpawnStationary(play, &thisx->projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, true,
|
EffectSsDeadSound_SpawnStationary(play, &thisx->projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, true,
|
||||||
DEADSOUND_REPEAT_MODE_OFF, 10);
|
DEADSOUND_REPEAT_MODE_OFF, 10);
|
||||||
Actor_Kill(thisx);
|
Actor_Kill(thisx);
|
||||||
|
|
|
@ -251,7 +251,7 @@ void EnCrow_FlyIdle(EnCrow* this, PlayState* play) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_KAICHO_CRY);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_KAICHO_CRY);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->actor.yDistToWater > -40.0f) {
|
if (this->actor.depthInWater > -40.0f) {
|
||||||
this->aimRotX = -0x1000;
|
this->aimRotX = -0x1000;
|
||||||
} else if (this->actor.world.pos.y < (this->actor.home.pos.y - 50.0f)) {
|
} else if (this->actor.world.pos.y < (this->actor.home.pos.y - 50.0f)) {
|
||||||
this->aimRotX = -0x800 - (Rand_ZeroOne() * 0x800);
|
this->aimRotX = -0x800 - (Rand_ZeroOne() * 0x800);
|
||||||
|
@ -277,7 +277,7 @@ void EnCrow_FlyIdle(EnCrow* this, PlayState* play) {
|
||||||
this->timer--;
|
this->timer--;
|
||||||
}
|
}
|
||||||
if ((this->timer == 0) && (this->actor.xzDistToPlayer < 300.0f) && !(player->stateFlags1 & PLAYER_STATE1_23) &&
|
if ((this->timer == 0) && (this->actor.xzDistToPlayer < 300.0f) && !(player->stateFlags1 & PLAYER_STATE1_23) &&
|
||||||
(this->actor.yDistToWater < -40.0f) && (Player_GetMask(play) != PLAYER_MASK_SKULL)) {
|
(this->actor.depthInWater < -40.0f) && (Player_GetMask(play) != PLAYER_MASK_SKULL)) {
|
||||||
EnCrow_SetupDiveAttack(this);
|
EnCrow_SetupDiveAttack(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -315,7 +315,7 @@ void EnCrow_DiveAttack(EnCrow* this, PlayState* play) {
|
||||||
|
|
||||||
if ((this->timer == 0) || (Player_GetMask(play) == PLAYER_MASK_SKULL) || (this->collider.base.atFlags & AT_HIT) ||
|
if ((this->timer == 0) || (Player_GetMask(play) == PLAYER_MASK_SKULL) || (this->collider.base.atFlags & AT_HIT) ||
|
||||||
(this->actor.bgCheckFlags & (BGCHECKFLAG_GROUND | BGCHECKFLAG_WALL)) ||
|
(this->actor.bgCheckFlags & (BGCHECKFLAG_GROUND | BGCHECKFLAG_WALL)) ||
|
||||||
(player->stateFlags1 & PLAYER_STATE1_23) || (this->actor.yDistToWater > -40.0f)) {
|
(player->stateFlags1 & PLAYER_STATE1_23) || (this->actor.depthInWater > -40.0f)) {
|
||||||
if (this->collider.base.atFlags & AT_HIT) {
|
if (this->collider.base.atFlags & AT_HIT) {
|
||||||
this->collider.base.atFlags &= ~AT_HIT;
|
this->collider.base.atFlags &= ~AT_HIT;
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_KAICHO_ATTACK);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_KAICHO_ATTACK);
|
||||||
|
|
|
@ -272,8 +272,8 @@ void EnEncount1_SpawnStalchildOrWolfos(EnEncount1* this, PlayState* play) {
|
||||||
if (floorY <= BGCHECK_Y_MIN) {
|
if (floorY <= BGCHECK_Y_MIN) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ((player->actor.yDistToWater != BGCHECK_Y_MIN) &&
|
if ((player->actor.depthInWater != BGCHECK_Y_MIN) &&
|
||||||
(floorY < (player->actor.world.pos.y - player->actor.yDistToWater))) {
|
(floorY < (player->actor.world.pos.y - player->actor.depthInWater))) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spawnPos.y = floorY;
|
spawnPos.y = floorY;
|
||||||
|
|
|
@ -249,9 +249,9 @@ void EnExRuppy_Sink(EnExRuppy* this, PlayState* play) {
|
||||||
Vec3f pos;
|
Vec3f pos;
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
if ((this->actor.bgCheckFlags & BGCHECKFLAG_WATER) && (this->actor.yDistToWater > 15.0f)) {
|
if ((this->actor.bgCheckFlags & BGCHECKFLAG_WATER) && (this->actor.depthInWater > 15.0f)) {
|
||||||
pos = this->actor.world.pos;
|
pos = this->actor.world.pos;
|
||||||
pos.y += this->actor.yDistToWater;
|
pos.y += this->actor.depthInWater;
|
||||||
this->actor.velocity.y = -1.0f;
|
this->actor.velocity.y = -1.0f;
|
||||||
this->actor.gravity = -0.2f;
|
this->actor.gravity = -0.2f;
|
||||||
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 800);
|
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 800);
|
||||||
|
|
|
@ -477,7 +477,7 @@ void EnInsect_WalkOnWater(EnInsect* this, PlayState* play) {
|
||||||
Math_StepToF(&this->actor.speed, 0.0f, 0.02f);
|
Math_StepToF(&this->actor.speed, 0.0f, 0.02f);
|
||||||
}
|
}
|
||||||
this->actor.velocity.y = 0.0f;
|
this->actor.velocity.y = 0.0f;
|
||||||
this->actor.world.pos.y += this->actor.yDistToWater;
|
this->actor.world.pos.y += this->actor.depthInWater;
|
||||||
this->skelAnime.playSpeed = CLAMP(this->actionTimer * 0.018f, 0.1f, 1.9f);
|
this->skelAnime.playSpeed = CLAMP(this->actionTimer * 0.018f, 0.1f, 1.9f);
|
||||||
|
|
||||||
SkelAnime_Update(&this->skelAnime);
|
SkelAnime_Update(&this->skelAnime);
|
||||||
|
@ -500,7 +500,7 @@ void EnInsect_WalkOnWater(EnInsect* this, PlayState* play) {
|
||||||
|
|
||||||
if (Rand_ZeroOne() < 0.03f) {
|
if (Rand_ZeroOne() < 0.03f) {
|
||||||
ripplePoint.x = this->actor.world.pos.x;
|
ripplePoint.x = this->actor.world.pos.x;
|
||||||
ripplePoint.y = this->actor.world.pos.y + this->actor.yDistToWater;
|
ripplePoint.y = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
ripplePoint.z = this->actor.world.pos.z;
|
ripplePoint.z = this->actor.world.pos.z;
|
||||||
EffectSsGRipple_Spawn(play, &ripplePoint, 20, 100, 4);
|
EffectSsGRipple_Spawn(play, &ripplePoint, 20, 100, 4);
|
||||||
EffectSsGRipple_Spawn(play, &ripplePoint, 40, 200, 8);
|
EffectSsGRipple_Spawn(play, &ripplePoint, 40, 200, 8);
|
||||||
|
@ -537,7 +537,7 @@ void EnInsect_Drown(EnInsect* this, PlayState* play) {
|
||||||
this->actor.shape.rot.y += 200;
|
this->actor.shape.rot.y += 200;
|
||||||
Actor_SetScale(&this->actor, CLAMP_MIN(this->actor.scale.x - 0.00005f, 0.001f));
|
Actor_SetScale(&this->actor, CLAMP_MIN(this->actor.scale.x - 0.00005f, 0.001f));
|
||||||
|
|
||||||
if (this->actor.yDistToWater > 5.0f && this->actor.yDistToWater < 30.0f && Rand_ZeroOne() < 0.3f) {
|
if (this->actor.depthInWater > 5.0f && this->actor.depthInWater < 30.0f && Rand_ZeroOne() < 0.3f) {
|
||||||
EffectSsBubble_Spawn(play, &this->actor.world.pos, -5.0f, 5.0f, 5.0f, (Rand_ZeroOne() * 0.04f) + 0.02f);
|
EffectSsBubble_Spawn(play, &this->actor.world.pos, -5.0f, 5.0f, 5.0f, (Rand_ZeroOne() * 0.04f) + 0.02f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -443,7 +443,7 @@ void EnIshi_Fly(EnIshi* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER_TOUCH) {
|
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER_TOUCH) {
|
||||||
contactPos.x = this->actor.world.pos.x;
|
contactPos.x = this->actor.world.pos.x;
|
||||||
contactPos.y = this->actor.world.pos.y + this->actor.yDistToWater;
|
contactPos.y = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
contactPos.z = this->actor.world.pos.z;
|
contactPos.z = this->actor.world.pos.z;
|
||||||
EffectSsGSplash_Spawn(play, &contactPos, NULL, NULL, 0, 350);
|
EffectSsGSplash_Spawn(play, &contactPos, NULL, NULL, 0, 350);
|
||||||
if (type == ROCK_SMALL) {
|
if (type == ROCK_SMALL) {
|
||||||
|
|
|
@ -440,7 +440,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
|
||||||
f32 tempX;
|
f32 tempX;
|
||||||
f32 tempY;
|
f32 tempY;
|
||||||
f32 tempZ;
|
f32 tempZ;
|
||||||
f32 tempYDistToWater;
|
f32 tempDepthInWater;
|
||||||
|
|
||||||
Actor_MoveXZGravity(&this->actor);
|
Actor_MoveXZGravity(&this->actor);
|
||||||
Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 30.0f, 50.0f,
|
Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 30.0f, 50.0f,
|
||||||
|
@ -450,7 +450,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
|
||||||
tempY = this->actor.world.pos.y;
|
tempY = this->actor.world.pos.y;
|
||||||
tempZ = this->actor.world.pos.z;
|
tempZ = this->actor.world.pos.z;
|
||||||
tempBgFlags = this->actor.bgCheckFlags;
|
tempBgFlags = this->actor.bgCheckFlags;
|
||||||
tempYDistToWater = this->actor.yDistToWater;
|
tempDepthInWater = this->actor.depthInWater;
|
||||||
|
|
||||||
this->actor.world.pos.z += ((this->actor.world.pos.y - this->actor.floorHeight) * -50.0f) / 100.0f;
|
this->actor.world.pos.z += ((this->actor.world.pos.y - this->actor.floorHeight) * -50.0f) / 100.0f;
|
||||||
Actor_UpdateBgCheckInfo(play, &this->actor, 10.0f, 10.0f, 50.0f, UPDBGCHECKINFO_FLAG_2);
|
Actor_UpdateBgCheckInfo(play, &this->actor, 10.0f, 10.0f, 50.0f, UPDBGCHECKINFO_FLAG_2);
|
||||||
|
@ -460,7 +460,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
|
||||||
this->actor.world.pos.y = tempY;
|
this->actor.world.pos.y = tempY;
|
||||||
this->actor.world.pos.z = tempZ;
|
this->actor.world.pos.z = tempZ;
|
||||||
this->actor.bgCheckFlags = tempBgFlags;
|
this->actor.bgCheckFlags = tempBgFlags;
|
||||||
this->actor.yDistToWater = tempYDistToWater;
|
this->actor.depthInWater = tempDepthInWater;
|
||||||
|
|
||||||
PRINTF(VT_RST);
|
PRINTF(VT_RST);
|
||||||
|
|
||||||
|
@ -511,13 +511,13 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
|
||||||
this->actionState = ENKANBAN_WATER;
|
this->actionState = ENKANBAN_WATER;
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMB_DROP_WATER);
|
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMB_DROP_WATER);
|
||||||
this->bounceX = this->bounceZ = 0;
|
this->bounceX = this->bounceZ = 0;
|
||||||
this->actor.world.pos.y += this->actor.yDistToWater;
|
this->actor.world.pos.y += this->actor.depthInWater;
|
||||||
EffectSsGSplash_Spawn(play, &this->actor.world.pos, NULL, NULL, 0, (this->partCount * 20) + 300);
|
EffectSsGSplash_Spawn(play, &this->actor.world.pos, NULL, NULL, 0, (this->partCount * 20) + 300);
|
||||||
EffectSsGRipple_Spawn(play, &this->actor.world.pos, 150, 650, 0);
|
EffectSsGRipple_Spawn(play, &this->actor.world.pos, 150, 650, 0);
|
||||||
EffectSsGRipple_Spawn(play, &this->actor.world.pos, 300, 800, 5);
|
EffectSsGRipple_Spawn(play, &this->actor.world.pos, 300, 800, 5);
|
||||||
this->actor.velocity.y = 0.0f;
|
this->actor.velocity.y = 0.0f;
|
||||||
this->actor.gravity = 0.0f;
|
this->actor.gravity = 0.0f;
|
||||||
PRINTF(" WAT Y = %f\n", this->actor.yDistToWater);
|
PRINTF(" WAT Y = %f\n", this->actor.depthInWater);
|
||||||
PRINTF(" POS Y = %f\n", this->actor.world.pos.y);
|
PRINTF(" POS Y = %f\n", this->actor.world.pos.y);
|
||||||
PRINTF(" GROUND Y = %f\n", this->actor.floorHeight);
|
PRINTF(" GROUND Y = %f\n", this->actor.floorHeight);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -394,7 +394,7 @@ void EnKusa_Fall(EnKusa* this, PlayState* play) {
|
||||||
|
|
||||||
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER_TOUCH) {
|
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER_TOUCH) {
|
||||||
contactPos.x = this->actor.world.pos.x;
|
contactPos.x = this->actor.world.pos.x;
|
||||||
contactPos.y = this->actor.world.pos.y + this->actor.yDistToWater;
|
contactPos.y = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
contactPos.z = this->actor.world.pos.z;
|
contactPos.z = this->actor.world.pos.z;
|
||||||
EffectSsGSplash_Spawn(play, &contactPos, NULL, NULL, 0, 400);
|
EffectSsGSplash_Spawn(play, &contactPos, NULL, NULL, 0, 400);
|
||||||
EffectSsGRipple_Spawn(play, &contactPos, 150, 650, 0);
|
EffectSsGRipple_Spawn(play, &contactPos, 150, 650, 0);
|
||||||
|
|
|
@ -314,7 +314,7 @@ void EnMk_Update(Actor* thisx, PlayState* play) {
|
||||||
if (player->currentBoots == PLAYER_BOOTS_IRON) {
|
if (player->currentBoots == PLAYER_BOOTS_IRON) {
|
||||||
this->flags |= 8;
|
this->flags |= 8;
|
||||||
} else if (player->stateFlags2 & PLAYER_STATE2_10) {
|
} else if (player->stateFlags2 & PLAYER_STATE2_10) {
|
||||||
swimFlag = player->actor.yDistToWater;
|
swimFlag = player->actor.depthInWater;
|
||||||
|
|
||||||
if (swimFlag > 0) {
|
if (swimFlag > 0) {
|
||||||
if (swimFlag >= 320) {
|
if (swimFlag >= 320) {
|
||||||
|
|
|
@ -723,13 +723,13 @@ void func_80AB6F04(EnNiw* this, PlayState* play) {
|
||||||
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER) {
|
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER) {
|
||||||
this->actor.gravity = 0.0f;
|
this->actor.gravity = 0.0f;
|
||||||
|
|
||||||
if (this->actor.yDistToWater > 15.0f) {
|
if (this->actor.depthInWater > 15.0f) {
|
||||||
this->actor.world.pos.y += 2.0f;
|
this->actor.world.pos.y += 2.0f;
|
||||||
}
|
}
|
||||||
if (this->timer4 == 0) {
|
if (this->timer4 == 0) {
|
||||||
this->timer4 = 30;
|
this->timer4 = 30;
|
||||||
Math_Vec3f_Copy(&pos, &this->actor.world.pos);
|
Math_Vec3f_Copy(&pos, &this->actor.world.pos);
|
||||||
pos.y += this->actor.yDistToWater;
|
pos.y += this->actor.depthInWater;
|
||||||
EffectSsGRipple_Spawn(play, &pos, 100, 500, 30);
|
EffectSsGRipple_Spawn(play, &pos, 100, 500, 30);
|
||||||
}
|
}
|
||||||
if (this->actor.bgCheckFlags & BGCHECKFLAG_WALL) {
|
if (this->actor.bgCheckFlags & BGCHECKFLAG_WALL) {
|
||||||
|
@ -1014,12 +1014,12 @@ void EnNiw_Update(Actor* thisx, PlayState* play) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((thisx->bgCheckFlags & BGCHECKFLAG_WATER) && thisx->yDistToWater > 15.0f && this->actionFunc != func_80AB6F04 &&
|
if ((thisx->bgCheckFlags & BGCHECKFLAG_WATER) && thisx->depthInWater > 15.0f && this->actionFunc != func_80AB6F04 &&
|
||||||
thisx->params != 0xD && thisx->params != 0xE && thisx->params != 0xA) {
|
thisx->params != 0xD && thisx->params != 0xE && thisx->params != 0xA) {
|
||||||
thisx->velocity.y = 0.0f;
|
thisx->velocity.y = 0.0f;
|
||||||
thisx->gravity = 0.0f;
|
thisx->gravity = 0.0f;
|
||||||
Math_Vec3f_Copy(&pos, &thisx->world.pos);
|
Math_Vec3f_Copy(&pos, &thisx->world.pos);
|
||||||
pos.y += thisx->yDistToWater;
|
pos.y += thisx->depthInWater;
|
||||||
this->timer4 = 30;
|
this->timer4 = 30;
|
||||||
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 400);
|
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 400);
|
||||||
this->timer5 = 0;
|
this->timer5 = 0;
|
||||||
|
|
|
@ -152,7 +152,7 @@ void EnNy_Destroy(Actor* thisx, PlayState* play) {
|
||||||
void func_80ABCD40(EnNy* this) {
|
void func_80ABCD40(EnNy* this) {
|
||||||
f32 temp;
|
f32 temp;
|
||||||
|
|
||||||
temp = (this->actor.yDistToWater > 0.0f) ? 0.7f : 1.0f;
|
temp = (this->actor.depthInWater > 0.0f) ? 0.7f : 1.0f;
|
||||||
this->unk_1E8 = 2.8f * temp;
|
this->unk_1E8 = 2.8f * temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -224,7 +224,7 @@ void EnNy_Move(EnNy* this, PlayState* play) {
|
||||||
f32 yawDiff;
|
f32 yawDiff;
|
||||||
s32 stoneTimer;
|
s32 stoneTimer;
|
||||||
|
|
||||||
if (!(this->unk_1F0 < this->actor.yDistToWater)) {
|
if (!(this->unk_1F0 < this->actor.depthInWater)) {
|
||||||
func_8002F974(&this->actor, NA_SE_EN_NYU_MOVE - SFX_FLAG);
|
func_8002F974(&this->actor, NA_SE_EN_NYU_MOVE - SFX_FLAG);
|
||||||
}
|
}
|
||||||
func_80ABCD40(this);
|
func_80ABCD40(this);
|
||||||
|
@ -238,7 +238,7 @@ void EnNy_Move(EnNy* this, PlayState* play) {
|
||||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||||
yawDiff = Math_FAtan2F(this->actor.yDistToPlayer, this->actor.xzDistToPlayer);
|
yawDiff = Math_FAtan2F(this->actor.yDistToPlayer, this->actor.xzDistToPlayer);
|
||||||
this->actor.speed = fabsf(cosf(yawDiff) * this->unk_1E8);
|
this->actor.speed = fabsf(cosf(yawDiff) * this->unk_1E8);
|
||||||
if (this->unk_1F0 < this->actor.yDistToWater) {
|
if (this->unk_1F0 < this->actor.depthInWater) {
|
||||||
this->unk_1EC = sinf(yawDiff) * this->unk_1E8;
|
this->unk_1EC = sinf(yawDiff) * this->unk_1E8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -252,7 +252,7 @@ void EnNy_TurnToStone(EnNy* this, PlayState* play) {
|
||||||
if (phi_f0 <= 0.25f) {
|
if (phi_f0 <= 0.25f) {
|
||||||
phi_f0 = 0.25f;
|
phi_f0 = 0.25f;
|
||||||
if (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND_TOUCH) {
|
if (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND_TOUCH) {
|
||||||
if (!(this->unk_1F0 < this->actor.yDistToWater)) {
|
if (!(this->unk_1F0 < this->actor.depthInWater)) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_M_GND);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_M_GND);
|
||||||
}
|
}
|
||||||
this->actor.bgCheckFlags &= ~BGCHECKFLAG_GROUND_TOUCH;
|
this->actor.bgCheckFlags &= ~BGCHECKFLAG_GROUND_TOUCH;
|
||||||
|
@ -346,9 +346,9 @@ s32 EnNy_CollisionCheck(EnNy* this, PlayState* play) {
|
||||||
void func_80ABD3B8(EnNy* this, f32 arg1, f32 arg2) {
|
void func_80ABD3B8(EnNy* this, f32 arg1, f32 arg2) {
|
||||||
if (this->unk_1E8 == 0.0f) {
|
if (this->unk_1E8 == 0.0f) {
|
||||||
this->actor.gravity = -0.4f;
|
this->actor.gravity = -0.4f;
|
||||||
} else if (!(arg1 < this->actor.yDistToWater)) {
|
} else if (!(arg1 < this->actor.depthInWater)) {
|
||||||
this->actor.gravity = -0.4f;
|
this->actor.gravity = -0.4f;
|
||||||
} else if (arg2 < this->actor.yDistToWater) {
|
} else if (arg2 < this->actor.depthInWater) {
|
||||||
this->actor.gravity = 0.0;
|
this->actor.gravity = 0.0;
|
||||||
if (this->unk_1EC < this->actor.velocity.y) {
|
if (this->unk_1EC < this->actor.velocity.y) {
|
||||||
this->actor.velocity.y -= 0.4f;
|
this->actor.velocity.y -= 0.4f;
|
||||||
|
@ -418,7 +418,7 @@ void EnNy_SetupDie(EnNy* this, PlayState* play) {
|
||||||
Vec3f effectAccel = { 0.0f, 0.1f, 0.0f };
|
Vec3f effectAccel = { 0.0f, 0.1f, 0.0f };
|
||||||
|
|
||||||
if (this->timer >= 2) {
|
if (this->timer >= 2) {
|
||||||
if (this->actor.yDistToWater > 0.0f) {
|
if (this->actor.depthInWater > 0.0f) {
|
||||||
for (i = 0; i < 10; i++) {
|
for (i = 0; i < 10; i++) {
|
||||||
effectPos.x = Rand_CenteredFloat(30.0f) + this->actor.world.pos.x;
|
effectPos.x = Rand_CenteredFloat(30.0f) + this->actor.world.pos.x;
|
||||||
effectPos.y = Rand_CenteredFloat(30.0f) + this->actor.world.pos.y;
|
effectPos.y = Rand_CenteredFloat(30.0f) + this->actor.world.pos.y;
|
||||||
|
@ -453,7 +453,7 @@ void EnNy_SetupDie(EnNy* this, PlayState* play) {
|
||||||
void EnNy_Die(EnNy* this, PlayState* play) {
|
void EnNy_Die(EnNy* this, PlayState* play) {
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if (this->actor.yDistToWater > 0.0f) {
|
if (this->actor.depthInWater > 0.0f) {
|
||||||
for (i = 0; i < 8; i += 1) {
|
for (i = 0; i < 8; i += 1) {
|
||||||
this->unk_1F8[i].x += this->unk_1F8[i + 8].x;
|
this->unk_1F8[i].x += this->unk_1F8[i + 8].x;
|
||||||
this->unk_1F8[i].y += this->unk_1F8[i + 8].y;
|
this->unk_1F8[i].y += this->unk_1F8[i + 8].y;
|
||||||
|
|
|
@ -429,7 +429,7 @@ void EnRu1_SpawnRipple(EnRu1* this, PlayState* play, s16 radiusMax, s16 life) {
|
||||||
Actor* thisx = &this->actor;
|
Actor* thisx = &this->actor;
|
||||||
|
|
||||||
pos.x = this->actor.world.pos.x;
|
pos.x = this->actor.world.pos.x;
|
||||||
pos.y = this->actor.world.pos.y + this->actor.yDistToWater;
|
pos.y = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
pos.z = this->actor.world.pos.z;
|
pos.z = this->actor.world.pos.z;
|
||||||
EffectSsGRipple_Spawn(play, &pos, 100, radiusMax, life);
|
EffectSsGRipple_Spawn(play, &pos, 100, radiusMax, life);
|
||||||
}
|
}
|
||||||
|
@ -452,7 +452,7 @@ void EnRu1_SpawnSplash(EnRu1* this, PlayState* play) {
|
||||||
Vec3f pos;
|
Vec3f pos;
|
||||||
|
|
||||||
pos.x = this->actor.world.pos.x;
|
pos.x = this->actor.world.pos.x;
|
||||||
pos.y = this->actor.world.pos.y + this->actor.yDistToWater;
|
pos.y = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
pos.z = this->actor.world.pos.z;
|
pos.z = this->actor.world.pos.z;
|
||||||
|
|
||||||
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 1, 0);
|
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 1, 0);
|
||||||
|
@ -1230,7 +1230,7 @@ s32 func_80AED624(EnRu1* this, PlayState* play) {
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
return false;
|
return false;
|
||||||
} else if (((this->roomNum1 != curRoomNum) || (this->roomNum2 != curRoomNum)) &&
|
} else if (((this->roomNum1 != curRoomNum) || (this->roomNum2 != curRoomNum)) &&
|
||||||
(this->actor.yDistToWater > kREG(16) + 50.0f) && (this->action != 33)) {
|
(this->actor.depthInWater > kREG(16) + 50.0f) && (this->action != 33)) {
|
||||||
this->action = 33;
|
this->action = 33;
|
||||||
this->drawConfig = 2;
|
this->drawConfig = 2;
|
||||||
this->alpha = 0xFF;
|
this->alpha = 0xFF;
|
||||||
|
@ -1460,7 +1460,7 @@ void func_80AEE050(EnRu1* this) {
|
||||||
this->unk_350 = 1;
|
this->unk_350 = 1;
|
||||||
func_80AEE02C(this);
|
func_80AEE02C(this);
|
||||||
this->unk_35C = 0;
|
this->unk_35C = 0;
|
||||||
this->unk_358 = (this->actor.yDistToWater - 10.0f) * 0.5f;
|
this->unk_358 = (this->actor.depthInWater - 10.0f) * 0.5f;
|
||||||
this->unk_354 = this->actor.world.pos.y + thisx->unk_358; // thisx only used here
|
this->unk_354 = this->actor.world.pos.y + thisx->unk_358; // thisx only used here
|
||||||
} else {
|
} else {
|
||||||
this->actor.gravity = 0.0f;
|
this->actor.gravity = 0.0f;
|
||||||
|
@ -1593,7 +1593,7 @@ void func_80AEE568(EnRu1* this, PlayState* play) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->actor.yDistToWater > 0.0f) {
|
if (this->actor.depthInWater > 0.0f) {
|
||||||
this->action = 29;
|
this->action = 29;
|
||||||
this->unk_350 = 0;
|
this->unk_350 = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,7 +135,7 @@ void EnSb_Destroy(Actor* thisx, PlayState* play) {
|
||||||
void EnSb_SpawnBubbles(PlayState* play, EnSb* this) {
|
void EnSb_SpawnBubbles(PlayState* play, EnSb* this) {
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if (this->actor.yDistToWater > 0) {
|
if (this->actor.depthInWater > 0) {
|
||||||
for (i = 0; i < 10; i++) {
|
for (i = 0; i < 10; i++) {
|
||||||
EffectSsBubble_Spawn(play, &this->actor.world.pos, 10.0f, 10.0f, 30.0f, 0.25f);
|
EffectSsBubble_Spawn(play, &this->actor.world.pos, 10.0f, 10.0f, 30.0f, 0.25f);
|
||||||
}
|
}
|
||||||
|
@ -166,7 +166,7 @@ void EnSb_SetupWaitOpen(EnSb* this) {
|
||||||
|
|
||||||
void EnSb_SetupLunge(EnSb* this) {
|
void EnSb_SetupLunge(EnSb* this) {
|
||||||
f32 frameCount = Animation_GetLastFrame(&object_sb_Anim_000124);
|
f32 frameCount = Animation_GetLastFrame(&object_sb_Anim_000124);
|
||||||
f32 playbackSpeed = this->actor.yDistToWater > 0.0f ? 1.0f : 0.0f;
|
f32 playbackSpeed = this->actor.depthInWater > 0.0f ? 1.0f : 0.0f;
|
||||||
|
|
||||||
Animation_Change(&this->skelAnime, &object_sb_Anim_000124, playbackSpeed, 0.0f, frameCount, ANIMMODE_ONCE, 0);
|
Animation_Change(&this->skelAnime, &object_sb_Anim_000124, playbackSpeed, 0.0f, frameCount, ANIMMODE_ONCE, 0);
|
||||||
this->behavior = SHELLBLADE_LUNGE;
|
this->behavior = SHELLBLADE_LUNGE;
|
||||||
|
@ -189,7 +189,7 @@ void EnSb_SetupCooldown(EnSb* this, s32 changeSpeed) {
|
||||||
}
|
}
|
||||||
this->behavior = SHELLBLADE_WAIT_CLOSED;
|
this->behavior = SHELLBLADE_WAIT_CLOSED;
|
||||||
if (changeSpeed) {
|
if (changeSpeed) {
|
||||||
if (this->actor.yDistToWater > 0.0f) {
|
if (this->actor.depthInWater > 0.0f) {
|
||||||
this->actor.speed = -5.0f;
|
this->actor.speed = -5.0f;
|
||||||
if (this->actor.velocity.y < 0.0f) {
|
if (this->actor.velocity.y < 0.0f) {
|
||||||
this->actor.velocity.y = 2.1f;
|
this->actor.velocity.y = 2.1f;
|
||||||
|
@ -254,7 +254,7 @@ void EnSb_TurnAround(EnSb* this, PlayState* play) {
|
||||||
|
|
||||||
if (this->actor.shape.rot.y == invertedYaw) {
|
if (this->actor.shape.rot.y == invertedYaw) {
|
||||||
this->actor.world.rot.y = this->attackYaw;
|
this->actor.world.rot.y = this->attackYaw;
|
||||||
if (this->actor.yDistToWater > 0.0f) {
|
if (this->actor.depthInWater > 0.0f) {
|
||||||
this->actor.velocity.y = 3.0f;
|
this->actor.velocity.y = 3.0f;
|
||||||
this->actor.speed = 5.0f;
|
this->actor.speed = 5.0f;
|
||||||
this->actor.gravity = -0.35f;
|
this->actor.gravity = -0.35f;
|
||||||
|
@ -274,7 +274,7 @@ void EnSb_TurnAround(EnSb* this, PlayState* play) {
|
||||||
void EnSb_Lunge(EnSb* this, PlayState* play) {
|
void EnSb_Lunge(EnSb* this, PlayState* play) {
|
||||||
Math_StepToF(&this->actor.speed, 0.0f, 0.2f);
|
Math_StepToF(&this->actor.speed, 0.0f, 0.2f);
|
||||||
if ((this->actor.velocity.y <= -0.1f) || (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND_TOUCH)) {
|
if ((this->actor.velocity.y <= -0.1f) || (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND_TOUCH)) {
|
||||||
if (!(this->actor.yDistToWater > 0.0f)) {
|
if (!(this->actor.depthInWater > 0.0f)) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_M_GND);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_M_GND);
|
||||||
}
|
}
|
||||||
this->actor.bgCheckFlags &= ~BGCHECKFLAG_GROUND_TOUCH;
|
this->actor.bgCheckFlags &= ~BGCHECKFLAG_GROUND_TOUCH;
|
||||||
|
@ -295,7 +295,7 @@ void EnSb_Bounce(EnSb* this, PlayState* play) {
|
||||||
if (this->bouncesLeft != 0) {
|
if (this->bouncesLeft != 0) {
|
||||||
this->bouncesLeft--;
|
this->bouncesLeft--;
|
||||||
this->timer = 1;
|
this->timer = 1;
|
||||||
if (this->actor.yDistToWater > 0.0f) {
|
if (this->actor.depthInWater > 0.0f) {
|
||||||
this->actor.velocity.y = 3.0f;
|
this->actor.velocity.y = 3.0f;
|
||||||
this->actor.speed = 5.0f;
|
this->actor.speed = 5.0f;
|
||||||
this->actor.gravity = -0.35f;
|
this->actor.gravity = -0.35f;
|
||||||
|
@ -445,7 +445,7 @@ void EnSb_Update(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
if (this->isDead) {
|
if (this->isDead) {
|
||||||
if (this->actor.yDistToWater > 0.0f) {
|
if (this->actor.depthInWater > 0.0f) {
|
||||||
this->actor.params = 4;
|
this->actor.params = 4;
|
||||||
} else {
|
} else {
|
||||||
this->actor.params = 1;
|
this->actor.params = 1;
|
||||||
|
|
|
@ -450,7 +450,7 @@ void EnSkb_CheckDamage(EnSkb* this, PlayState* play) {
|
||||||
|
|
||||||
if ((this->actionState != SKB_BEHAVIOR_DYING) &&
|
if ((this->actionState != SKB_BEHAVIOR_DYING) &&
|
||||||
(this->actor.bgCheckFlags & (BGCHECKFLAG_WATER | BGCHECKFLAG_WATER_TOUCH)) &&
|
(this->actor.bgCheckFlags & (BGCHECKFLAG_WATER | BGCHECKFLAG_WATER_TOUCH)) &&
|
||||||
(this->actor.yDistToWater >= 40.0f)) {
|
(this->actor.depthInWater >= 40.0f)) {
|
||||||
this->actor.colChkInfo.health = 0;
|
this->actor.colChkInfo.health = 0;
|
||||||
this->setColliderAT = false;
|
this->setColliderAT = false;
|
||||||
EnSkb_SetupDeath(this, play);
|
EnSkb_SetupDeath(this, play);
|
||||||
|
|
|
@ -234,7 +234,7 @@ void EnTite_Idle(EnTite* this, PlayState* play) {
|
||||||
// Float on water surface
|
// Float on water surface
|
||||||
this->actor.gravity = 0.0f;
|
this->actor.gravity = 0.0f;
|
||||||
Math_SmoothStepToF(&this->actor.velocity.y, 0.0f, 1.0f, 2.0f, 0.0f);
|
Math_SmoothStepToF(&this->actor.velocity.y, 0.0f, 1.0f, 2.0f, 0.0f);
|
||||||
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.world.pos.y + this->actor.yDistToWater, 1.0f, 2.0f,
|
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.world.pos.y + this->actor.depthInWater, 1.0f, 2.0f,
|
||||||
0.0f);
|
0.0f);
|
||||||
} else {
|
} else {
|
||||||
this->actor.gravity = -1.0f;
|
this->actor.gravity = -1.0f;
|
||||||
|
@ -278,7 +278,7 @@ void EnTite_Attack(EnTite* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_STAL_JUMP);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_STAL_JUMP);
|
||||||
} else {
|
} else {
|
||||||
this->actor.world.pos.y += this->actor.yDistToWater;
|
this->actor.world.pos.y += this->actor.depthInWater;
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_TEKU_JUMP_WATER);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_TEKU_JUMP_WATER);
|
||||||
}
|
}
|
||||||
this->actor.velocity.y = 8.0f;
|
this->actor.velocity.y = 8.0f;
|
||||||
|
@ -304,7 +304,7 @@ void EnTite_Attack(EnTite* this, PlayState* play) {
|
||||||
if (this->actor.velocity.y < -8.0f) {
|
if (this->actor.velocity.y < -8.0f) {
|
||||||
Vec3f ripplePos = this->actor.world.pos;
|
Vec3f ripplePos = this->actor.world.pos;
|
||||||
|
|
||||||
ripplePos.y += this->actor.yDistToWater;
|
ripplePos.y += this->actor.depthInWater;
|
||||||
this->vAttackState++; // TEKTITE_SUBMERGED
|
this->vAttackState++; // TEKTITE_SUBMERGED
|
||||||
this->actor.velocity.y *= 0.75f;
|
this->actor.velocity.y *= 0.75f;
|
||||||
attackState = this->vAttackState;
|
attackState = this->vAttackState;
|
||||||
|
@ -330,7 +330,7 @@ void EnTite_Attack(EnTite* this, PlayState* play) {
|
||||||
break;
|
break;
|
||||||
case TEKTITE_SUBMERGED:
|
case TEKTITE_SUBMERGED:
|
||||||
// Check if floated to surface
|
// Check if floated to surface
|
||||||
if (this->actor.yDistToWater == 0.0f) {
|
if (this->actor.depthInWater == 0.0f) {
|
||||||
this->vAttackState = TEKTITE_LANDED;
|
this->vAttackState = TEKTITE_LANDED;
|
||||||
attackState = this->vAttackState;
|
attackState = this->vAttackState;
|
||||||
}
|
}
|
||||||
|
@ -388,7 +388,7 @@ void EnTite_Attack(EnTite* this, PlayState* play) {
|
||||||
// Float up to water surface
|
// Float up to water surface
|
||||||
Math_SmoothStepToF(&this->actor.velocity.y, 0.0f, 1.0f, 2.0f, 0.0f);
|
Math_SmoothStepToF(&this->actor.velocity.y, 0.0f, 1.0f, 2.0f, 0.0f);
|
||||||
Math_SmoothStepToF(&this->actor.speed, 0.0f, 1.0f, 0.5f, 0.0f);
|
Math_SmoothStepToF(&this->actor.speed, 0.0f, 1.0f, 0.5f, 0.0f);
|
||||||
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.world.pos.y + this->actor.yDistToWater, 1.0f, 2.0f,
|
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.world.pos.y + this->actor.depthInWater, 1.0f, 2.0f,
|
||||||
0.0f);
|
0.0f);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -447,7 +447,7 @@ void EnTite_TurnTowardPlayer(EnTite* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
// Calculate turn velocity and animation speed based on angle to player
|
// Calculate turn velocity and animation speed based on angle to player
|
||||||
if ((this->actor.params == TEKTITE_BLUE) && (this->actor.bgCheckFlags & BGCHECKFLAG_WATER)) {
|
if ((this->actor.params == TEKTITE_BLUE) && (this->actor.bgCheckFlags & BGCHECKFLAG_WATER)) {
|
||||||
this->actor.world.pos.y += this->actor.yDistToWater;
|
this->actor.world.pos.y += this->actor.depthInWater;
|
||||||
}
|
}
|
||||||
angleToPlayer = Actor_WorldYawTowardActor(&this->actor, &GET_PLAYER(play)->actor) - this->actor.world.rot.y;
|
angleToPlayer = Actor_WorldYawTowardActor(&this->actor, &GET_PLAYER(play)->actor) - this->actor.world.rot.y;
|
||||||
if (angleToPlayer > 0) {
|
if (angleToPlayer > 0) {
|
||||||
|
@ -546,7 +546,7 @@ void EnTite_MoveTowardPlayer(EnTite* this, PlayState* play) {
|
||||||
} else if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER_TOUCH) {
|
} else if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER_TOUCH) {
|
||||||
Vec3f ripplePos = this->actor.world.pos;
|
Vec3f ripplePos = this->actor.world.pos;
|
||||||
this->actor.bgCheckFlags &= ~BGCHECKFLAG_WATER_TOUCH;
|
this->actor.bgCheckFlags &= ~BGCHECKFLAG_WATER_TOUCH;
|
||||||
ripplePos.y += this->actor.yDistToWater;
|
ripplePos.y += this->actor.depthInWater;
|
||||||
this->actor.gravity = 0.0f;
|
this->actor.gravity = 0.0f;
|
||||||
this->actor.velocity.y *= 0.75f;
|
this->actor.velocity.y *= 0.75f;
|
||||||
EffectSsGRipple_Spawn(play, &ripplePos, 0, 500, 0);
|
EffectSsGRipple_Spawn(play, &ripplePos, 0, 500, 0);
|
||||||
|
@ -554,9 +554,9 @@ void EnTite_MoveTowardPlayer(EnTite* this, PlayState* play) {
|
||||||
} else {
|
} else {
|
||||||
// If submerged, float to surface
|
// If submerged, float to surface
|
||||||
Math_SmoothStepToF(&this->actor.velocity.y, 0.0f, 1.0f, 2.0f, 0.0f);
|
Math_SmoothStepToF(&this->actor.velocity.y, 0.0f, 1.0f, 2.0f, 0.0f);
|
||||||
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.world.pos.y + this->actor.yDistToWater, 1.0f, 2.0f,
|
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.world.pos.y + this->actor.depthInWater, 1.0f, 2.0f,
|
||||||
0.0f);
|
0.0f);
|
||||||
if (this->actor.yDistToWater != 0.0f) {
|
if (this->actor.depthInWater != 0.0f) {
|
||||||
// Do not change state until tekite has floated to surface
|
// Do not change state until tekite has floated to surface
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -633,7 +633,7 @@ void EnTite_Recoil(EnTite* this, PlayState* play) {
|
||||||
} else {
|
} else {
|
||||||
this->actor.velocity.y = 0.0f;
|
this->actor.velocity.y = 0.0f;
|
||||||
this->actor.gravity = 0.0f;
|
this->actor.gravity = 0.0f;
|
||||||
this->actor.world.pos.y += this->actor.yDistToWater;
|
this->actor.world.pos.y += this->actor.depthInWater;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -704,7 +704,7 @@ void EnTite_Stunned(EnTite* this, PlayState* play) {
|
||||||
} else {
|
} else {
|
||||||
this->actor.velocity.y = 0.0f;
|
this->actor.velocity.y = 0.0f;
|
||||||
this->actor.gravity = 0.0f;
|
this->actor.gravity = 0.0f;
|
||||||
this->actor.world.pos.y += this->actor.yDistToWater;
|
this->actor.world.pos.y += this->actor.depthInWater;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Play sound effect and spawn dirt effects upon landing
|
// Play sound effect and spawn dirt effects upon landing
|
||||||
|
|
|
@ -133,7 +133,7 @@ void EnTuboTrap_SpawnEffectsInWater(EnTuboTrap* this, PlayState* play) {
|
||||||
Vec3f* actorPos = &this->actor.world.pos;
|
Vec3f* actorPos = &this->actor.world.pos;
|
||||||
|
|
||||||
pos = *actorPos;
|
pos = *actorPos;
|
||||||
pos.y += this->actor.yDistToWater;
|
pos.y += this->actor.depthInWater;
|
||||||
|
|
||||||
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 400);
|
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 400);
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ void EnTuboTrap_HandleImpact(EnTuboTrap* this, PlayState* play) {
|
||||||
Player* player = GET_PLAYER(play);
|
Player* player = GET_PLAYER(play);
|
||||||
Player* player2 = GET_PLAYER(play);
|
Player* player2 = GET_PLAYER(play);
|
||||||
|
|
||||||
if ((this->actor.bgCheckFlags & BGCHECKFLAG_WATER) && (this->actor.yDistToWater > 15.0f)) {
|
if ((this->actor.bgCheckFlags & BGCHECKFLAG_WATER) && (this->actor.depthInWater > 15.0f)) {
|
||||||
EnTuboTrap_SpawnEffectsInWater(this, play);
|
EnTuboTrap_SpawnEffectsInWater(this, play);
|
||||||
SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 40, NA_SE_EV_BOMB_DROP_WATER);
|
SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 40, NA_SE_EV_BOMB_DROP_WATER);
|
||||||
EnTuboTrap_DropCollectible(this, play);
|
EnTuboTrap_DropCollectible(this, play);
|
||||||
|
|
|
@ -388,7 +388,7 @@ void func_80B32E34(EnWeiyer* this, PlayState* play) {
|
||||||
|
|
||||||
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 2, 0x200, 0x80);
|
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 2, 0x200, 0x80);
|
||||||
|
|
||||||
if ((player->actor.yDistToWater < 50.0f) && (this->actor.yDistToWater < 20.0f) &&
|
if ((player->actor.depthInWater < 50.0f) && (this->actor.depthInWater < 20.0f) &&
|
||||||
Actor_IsFacingPlayer(&this->actor, 0x2000)) {
|
Actor_IsFacingPlayer(&this->actor, 0x2000)) {
|
||||||
func_80B327D8(this);
|
func_80B327D8(this);
|
||||||
}
|
}
|
||||||
|
@ -523,7 +523,7 @@ void func_80B3349C(EnWeiyer* this, PlayState* play) {
|
||||||
if (this->unk_194 == -1) {
|
if (this->unk_194 == -1) {
|
||||||
if (phi_a0 || (this->collider.base.atFlags & AT_HIT)) {
|
if (phi_a0 || (this->collider.base.atFlags & AT_HIT)) {
|
||||||
func_80B32538(this);
|
func_80B32538(this);
|
||||||
} else if (this->actor.yDistToWater < 0.0f) {
|
} else if (this->actor.depthInWater < 0.0f) {
|
||||||
this->unk_194 = 10;
|
this->unk_194 = 10;
|
||||||
EffectSsGSplash_Spawn(play, &this->actor.world.pos, NULL, NULL, 1, 400);
|
EffectSsGSplash_Spawn(play, &this->actor.world.pos, NULL, NULL, 1, 400);
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_OCTAROCK_JUMP);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_OCTAROCK_JUMP);
|
||||||
|
@ -584,7 +584,7 @@ void EnWeiyer_Update(Actor* thisx, PlayState* play) {
|
||||||
EnWeiyer* this = (EnWeiyer*)thisx;
|
EnWeiyer* this = (EnWeiyer*)thisx;
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
this->actor.home.pos.y = this->actor.yDistToWater + this->actor.world.pos.y - 5.0f;
|
this->actor.home.pos.y = this->actor.depthInWater + this->actor.world.pos.y - 5.0f;
|
||||||
func_80B3368C(this, play);
|
func_80B3368C(this, play);
|
||||||
this->actionFunc(this, play);
|
this->actionFunc(this, play);
|
||||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||||
|
|
|
@ -60,7 +60,7 @@ void EnZo_SpawnBubble(EnZo* this, Vec3f* pos) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
waterSurface = this->actor.world.pos.y + this->actor.yDistToWater;
|
waterSurface = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
|
|
||||||
if (!(waterSurface <= pos->y)) {
|
if (!(waterSurface <= pos->y)) {
|
||||||
effect->type = ENZO_EFFECT_BUBBLE;
|
effect->type = ENZO_EFFECT_BUBBLE;
|
||||||
|
@ -127,7 +127,7 @@ void EnZo_UpdateEffectsBubbles(EnZo* this) {
|
||||||
effect->pos.y += effect->vel.y;
|
effect->pos.y += effect->vel.y;
|
||||||
|
|
||||||
// Bubbles turn into ripples when they reach the surface
|
// Bubbles turn into ripples when they reach the surface
|
||||||
waterSurface = this->actor.world.pos.y + this->actor.yDistToWater;
|
waterSurface = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
if (waterSurface <= effect->pos.y) {
|
if (waterSurface <= effect->pos.y) {
|
||||||
effect->type = ENZO_EFFECT_NONE;
|
effect->type = ENZO_EFFECT_NONE;
|
||||||
effect->pos.y = waterSurface;
|
effect->pos.y = waterSurface;
|
||||||
|
@ -158,7 +158,7 @@ void EnZo_UpdateEffectsSplashes(EnZo* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Splash particles turn into ripples when they hit the surface
|
// Splash particles turn into ripples when they hit the surface
|
||||||
waterSurface = this->actor.world.pos.y + this->actor.yDistToWater;
|
waterSurface = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
if (effect->pos.y < waterSurface) {
|
if (effect->pos.y < waterSurface) {
|
||||||
effect->type = ENZO_EFFECT_NONE;
|
effect->type = ENZO_EFFECT_NONE;
|
||||||
effect->pos.y = waterSurface;
|
effect->pos.y = waterSurface;
|
||||||
|
@ -272,7 +272,7 @@ void EnZo_TreadWaterRipples(EnZo* this, f32 scale, f32 targetScale, u8 alpha) {
|
||||||
Vec3f pos = { 0.0f, 0.0f, 0.0f };
|
Vec3f pos = { 0.0f, 0.0f, 0.0f };
|
||||||
|
|
||||||
pos.x = this->actor.world.pos.x;
|
pos.x = this->actor.world.pos.x;
|
||||||
pos.y = this->actor.world.pos.y + this->actor.yDistToWater;
|
pos.y = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
pos.z = this->actor.world.pos.z;
|
pos.z = this->actor.world.pos.z;
|
||||||
EnZo_SpawnRipple(this, &pos, scale, targetScale, alpha);
|
EnZo_SpawnRipple(this, &pos, scale, targetScale, alpha);
|
||||||
}
|
}
|
||||||
|
@ -351,7 +351,7 @@ void EnZo_SpawnSplashes(EnZo* this) {
|
||||||
pos = this->actor.world.pos;
|
pos = this->actor.world.pos;
|
||||||
pos.x += vel.x * 6.0f;
|
pos.x += vel.x * 6.0f;
|
||||||
pos.z += vel.z * 6.0f;
|
pos.z += vel.z * 6.0f;
|
||||||
pos.y += this->actor.yDistToWater;
|
pos.y += this->actor.depthInWater;
|
||||||
EnZo_SpawnSplash(this, &pos, &vel, 0.08f);
|
EnZo_SpawnSplash(this, &pos, &vel, 0.08f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -527,7 +527,7 @@ s32 EnZo_PlayerInProximity(EnZo* this, PlayState* play) {
|
||||||
f32 hDist;
|
f32 hDist;
|
||||||
|
|
||||||
surfacePos.x = this->actor.world.pos.x;
|
surfacePos.x = this->actor.world.pos.x;
|
||||||
surfacePos.y = this->actor.world.pos.y + this->actor.yDistToWater;
|
surfacePos.y = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
surfacePos.z = this->actor.world.pos.z;
|
surfacePos.z = this->actor.world.pos.z;
|
||||||
|
|
||||||
hDist = Math_Vec3f_DistXZ(&surfacePos, &player->actor.world.pos);
|
hDist = Math_Vec3f_DistXZ(&surfacePos, &player->actor.world.pos);
|
||||||
|
@ -596,7 +596,7 @@ void EnZo_Init(Actor* thisx, PlayState* play) {
|
||||||
Actor_UpdateBgCheckInfo(play, &this->actor, this->collider.dim.height * 0.5f, this->collider.dim.radius, 0.0f,
|
Actor_UpdateBgCheckInfo(play, &this->actor, this->collider.dim.height * 0.5f, this->collider.dim.radius, 0.0f,
|
||||||
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2);
|
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2);
|
||||||
|
|
||||||
if (this->actor.yDistToWater < 54.0f || (this->actor.params & 0x3F) == 8) {
|
if (this->actor.depthInWater < 54.0f || (this->actor.params & 0x3F) == 8) {
|
||||||
this->actor.shape.shadowDraw = ActorShadow_DrawCircle;
|
this->actor.shape.shadowDraw = ActorShadow_DrawCircle;
|
||||||
this->actor.shape.shadowScale = 24.0f;
|
this->actor.shape.shadowScale = 24.0f;
|
||||||
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENZO_ANIM_1);
|
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENZO_ANIM_1);
|
||||||
|
@ -642,7 +642,7 @@ void EnZo_Submerged(EnZo* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnZo_Surface(EnZo* this, PlayState* play) {
|
void EnZo_Surface(EnZo* this, PlayState* play) {
|
||||||
if (this->actor.yDistToWater < 54.0f) {
|
if (this->actor.depthInWater < 54.0f) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EV_OUT_OF_WATER);
|
Actor_PlaySfx(&this->actor, NA_SE_EV_OUT_OF_WATER);
|
||||||
EnZo_SpawnSplashes(this);
|
EnZo_SpawnSplashes(this);
|
||||||
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENZO_ANIM_3);
|
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENZO_ANIM_3);
|
||||||
|
@ -650,7 +650,7 @@ void EnZo_Surface(EnZo* this, PlayState* play) {
|
||||||
this->actionFunc = EnZo_TreadWater;
|
this->actionFunc = EnZo_TreadWater;
|
||||||
this->actor.velocity.y = 0.0f;
|
this->actor.velocity.y = 0.0f;
|
||||||
this->alpha = 255.0f;
|
this->alpha = 255.0f;
|
||||||
} else if (this->actor.yDistToWater < 80.0f) {
|
} else if (this->actor.depthInWater < 80.0f) {
|
||||||
Math_ApproachF(&this->actor.velocity.y, 2.0f, 0.4f, 0.6f);
|
Math_ApproachF(&this->actor.velocity.y, 2.0f, 0.4f, 0.6f);
|
||||||
Math_ApproachF(&this->alpha, 255.0f, 0.3f, 10.0f);
|
Math_ApproachF(&this->alpha, 255.0f, 0.3f, 10.0f);
|
||||||
}
|
}
|
||||||
|
@ -665,7 +665,7 @@ void EnZo_TreadWater(EnZo* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
EnZo_SetAnimation(this);
|
EnZo_SetAnimation(this);
|
||||||
|
|
||||||
Math_ApproachF(&this->actor.velocity.y, this->actor.yDistToWater < 54.0f ? -0.6f : 0.6f, 0.3f, 0.2f);
|
Math_ApproachF(&this->actor.velocity.y, this->actor.depthInWater < 54.0f ? -0.6f : 0.6f, 0.3f, 0.2f);
|
||||||
if (this->rippleTimer != 0) {
|
if (this->rippleTimer != 0) {
|
||||||
this->rippleTimer--;
|
this->rippleTimer--;
|
||||||
if ((this->rippleTimer == 3) || (this->rippleTimer == 6)) {
|
if ((this->rippleTimer == 3) || (this->rippleTimer == 6)) {
|
||||||
|
@ -705,7 +705,7 @@ void EnZo_Dive(EnZo* this, PlayState* play) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->actor.yDistToWater > 80.0f || this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) {
|
if (this->actor.depthInWater > 80.0f || this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) {
|
||||||
Math_ApproachF(&this->actor.velocity.y, -1.0f, 0.4f, 0.6f);
|
Math_ApproachF(&this->actor.velocity.y, -1.0f, 0.4f, 0.6f);
|
||||||
Math_ApproachF(&this->alpha, 0.0f, 0.3f, 10.0f);
|
Math_ApproachF(&this->alpha, 0.0f, 0.3f, 10.0f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,7 +152,7 @@ void ObjKibako_WaterBreak(ObjKibako* this, PlayState* play) {
|
||||||
Vec3f velocity;
|
Vec3f velocity;
|
||||||
|
|
||||||
pos = *breakPos;
|
pos = *breakPos;
|
||||||
pos.y += this->actor.yDistToWater;
|
pos.y += this->actor.depthInWater;
|
||||||
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 500);
|
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 500);
|
||||||
|
|
||||||
for (i = 0, angle = 0; i < 12; i++, angle += 0x4E20) {
|
for (i = 0, angle = 0; i < 12; i++, angle += 0x4E20) {
|
||||||
|
@ -187,7 +187,7 @@ void ObjKibako_Idle(ObjKibako* this, PlayState* play) {
|
||||||
|
|
||||||
if (Actor_HasParent(&this->actor, play)) {
|
if (Actor_HasParent(&this->actor, play)) {
|
||||||
ObjKibako_SetupHeld(this);
|
ObjKibako_SetupHeld(this);
|
||||||
} else if ((this->actor.bgCheckFlags & BGCHECKFLAG_WATER) && (this->actor.yDistToWater > 19.0f)) {
|
} else if ((this->actor.bgCheckFlags & BGCHECKFLAG_WATER) && (this->actor.depthInWater > 19.0f)) {
|
||||||
ObjKibako_WaterBreak(this, play);
|
ObjKibako_WaterBreak(this, play);
|
||||||
SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 20, NA_SE_EV_WOODBOX_BREAK);
|
SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 20, NA_SE_EV_WOODBOX_BREAK);
|
||||||
ObjKibako_SpawnCollectible(this, play);
|
ObjKibako_SpawnCollectible(this, play);
|
||||||
|
|
|
@ -196,7 +196,7 @@ void ObjTsubo_WaterBreak(ObjTsubo* this, PlayState* play) {
|
||||||
s32 phi_s0;
|
s32 phi_s0;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
pos.y += this->actor.yDistToWater;
|
pos.y += this->actor.depthInWater;
|
||||||
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 400);
|
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 400);
|
||||||
for (i = 0, angle = 0; i < 15; i++, angle += 0x4E20) {
|
for (i = 0, angle = 0; i < 15; i++, angle += 0x4E20) {
|
||||||
f32 sins = Math_SinS(angle);
|
f32 sins = Math_SinS(angle);
|
||||||
|
@ -240,7 +240,7 @@ void ObjTsubo_Idle(ObjTsubo* this, PlayState* play) {
|
||||||
|
|
||||||
if (Actor_HasParent(&this->actor, play)) {
|
if (Actor_HasParent(&this->actor, play)) {
|
||||||
ObjTsubo_SetupLiftedUp(this);
|
ObjTsubo_SetupLiftedUp(this);
|
||||||
} else if ((this->actor.bgCheckFlags & BGCHECKFLAG_WATER) && (this->actor.yDistToWater > 15.0f)) {
|
} else if ((this->actor.bgCheckFlags & BGCHECKFLAG_WATER) && (this->actor.depthInWater > 15.0f)) {
|
||||||
ObjTsubo_WaterBreak(this, play);
|
ObjTsubo_WaterBreak(this, play);
|
||||||
SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 20, NA_SE_EV_POT_BROKEN);
|
SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 20, NA_SE_EV_POT_BROKEN);
|
||||||
ObjTsubo_SpawnCollectible(this, play);
|
ObjTsubo_SpawnCollectible(this, play);
|
||||||
|
|
|
@ -4585,7 +4585,7 @@ s32 Player_ActionChange_12(Player* this, PlayState* play) {
|
||||||
sp3C = 0;
|
sp3C = 0;
|
||||||
|
|
||||||
if (func_808332B8(this)) {
|
if (func_808332B8(this)) {
|
||||||
if (this->actor.yDistToWater < 50.0f) {
|
if (this->actor.depthInWater < 50.0f) {
|
||||||
if ((this->ledgeClimbType < PLAYER_LEDGE_CLIMB_2) ||
|
if ((this->ledgeClimbType < PLAYER_LEDGE_CLIMB_2) ||
|
||||||
(this->yDistToLedge > this->ageProperties->unk_10)) {
|
(this->yDistToLedge > this->ageProperties->unk_10)) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -5317,7 +5317,7 @@ s32 func_8083A6AC(Player* this, PlayState* play) {
|
||||||
//! @bug `floorPitch` and `floorPitchAlt` are cleared to 0 before this function is called, because the player
|
//! @bug `floorPitch` and `floorPitchAlt` are cleared to 0 before this function is called, because the player
|
||||||
//! left the ground. The angles will always be zero and therefore will always pass these checks.
|
//! left the ground. The angles will always be zero and therefore will always pass these checks.
|
||||||
//! The intention seems to be to prevent ledge hanging or vine grabbing when walking off of a steep enough slope.
|
//! The intention seems to be to prevent ledge hanging or vine grabbing when walking off of a steep enough slope.
|
||||||
if ((this->actor.yDistToWater < -80.0f) && (ABS(this->floorPitch) < 0xAAA) && (ABS(this->floorPitchAlt) < 0xAAA)) {
|
if ((this->actor.depthInWater < -80.0f) && (ABS(this->floorPitch) < 0xAAA) && (ABS(this->floorPitchAlt) < 0xAAA)) {
|
||||||
CollisionPoly* sp84;
|
CollisionPoly* sp84;
|
||||||
s32 sp80;
|
s32 sp80;
|
||||||
Vec3f sp74;
|
Vec3f sp74;
|
||||||
|
@ -5816,7 +5816,7 @@ s32 func_8083B8F4(Player* this, PlayState* play) {
|
||||||
if (!(this->stateFlags1 & (PLAYER_STATE1_11 | PLAYER_STATE1_23)) &&
|
if (!(this->stateFlags1 & (PLAYER_STATE1_11 | PLAYER_STATE1_23)) &&
|
||||||
Camera_CheckValidMode(Play_GetCamera(play, CAM_ID_MAIN), CAM_MODE_FIRST_PERSON)) {
|
Camera_CheckValidMode(Play_GetCamera(play, CAM_ID_MAIN), CAM_MODE_FIRST_PERSON)) {
|
||||||
if ((this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) ||
|
if ((this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) ||
|
||||||
(func_808332B8(this) && (this->actor.yDistToWater < this->ageProperties->unk_2C))) {
|
(func_808332B8(this) && (this->actor.depthInWater < this->ageProperties->unk_2C))) {
|
||||||
this->unk_6AD = 1;
|
this->unk_6AD = 1;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -6131,7 +6131,7 @@ s32 func_8083C6B8(PlayState* play, Player* this) {
|
||||||
if (Player_GetBottleHeld(this) >= 0) {
|
if (Player_GetBottleHeld(this) >= 0) {
|
||||||
Player_SetupAction(play, this, Player_Action_8084ECA4, 0);
|
Player_SetupAction(play, this, Player_Action_8084ECA4, 0);
|
||||||
|
|
||||||
if (this->actor.yDistToWater > 12.0f) {
|
if (this->actor.depthInWater > 12.0f) {
|
||||||
this->av2.actionVar2 = 1;
|
this->av2.actionVar2 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6376,7 +6376,7 @@ s32 func_8083D12C(PlayState* play, Player* this, Input* arg2) {
|
||||||
|
|
||||||
if ((this->stateFlags1 & PLAYER_STATE1_10) || (this->stateFlags2 & PLAYER_STATE2_10)) {
|
if ((this->stateFlags1 & PLAYER_STATE1_10) || (this->stateFlags2 & PLAYER_STATE2_10)) {
|
||||||
if (this->actor.velocity.y > 0.0f) {
|
if (this->actor.velocity.y > 0.0f) {
|
||||||
if (this->actor.yDistToWater < this->ageProperties->unk_30) {
|
if (this->actor.depthInWater < this->ageProperties->unk_30) {
|
||||||
|
|
||||||
this->stateFlags2 &= ~PLAYER_STATE2_10;
|
this->stateFlags2 &= ~PLAYER_STATE2_10;
|
||||||
|
|
||||||
|
@ -6434,7 +6434,7 @@ void func_8083D36C(PlayState* play, Player* this) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(this->stateFlags1 & PLAYER_STATE1_27) || (this->actor.yDistToWater < this->ageProperties->unk_2C)) {
|
if (!(this->stateFlags1 & PLAYER_STATE1_27) || (this->actor.depthInWater < this->ageProperties->unk_2C)) {
|
||||||
if (func_8083CFA8(play, this, this->actor.velocity.y, 500)) {
|
if (func_8083CFA8(play, this, this->actor.velocity.y, 500)) {
|
||||||
Player_PlaySfx(this, NA_SE_EV_DIVE_INTO_WATER);
|
Player_PlaySfx(this, NA_SE_EV_DIVE_INTO_WATER);
|
||||||
|
|
||||||
|
@ -6453,7 +6453,7 @@ void func_8083D36C(PlayState* play, Player* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8083D53C(PlayState* play, Player* this) {
|
void func_8083D53C(PlayState* play, Player* this) {
|
||||||
if (this->actor.yDistToWater < this->ageProperties->unk_2C) {
|
if (this->actor.depthInWater < this->ageProperties->unk_2C) {
|
||||||
Audio_SetBaseFilter(0);
|
Audio_SetBaseFilter(0);
|
||||||
this->underwaterTimer = 0;
|
this->underwaterTimer = 0;
|
||||||
} else {
|
} else {
|
||||||
|
@ -6464,7 +6464,7 @@ void func_8083D53C(PlayState* play, Player* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Player_Action_80845668 != this->actionFunc) && (Player_Action_8084BDFC != this->actionFunc)) {
|
if ((Player_Action_80845668 != this->actionFunc) && (Player_Action_8084BDFC != this->actionFunc)) {
|
||||||
if (this->ageProperties->unk_2C < this->actor.yDistToWater) {
|
if (this->ageProperties->unk_2C < this->actor.depthInWater) {
|
||||||
if (!(this->stateFlags1 & PLAYER_STATE1_27) ||
|
if (!(this->stateFlags1 & PLAYER_STATE1_27) ||
|
||||||
(!((this->currentBoots == PLAYER_BOOTS_IRON) && (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) &&
|
(!((this->currentBoots == PLAYER_BOOTS_IRON) && (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) &&
|
||||||
(Player_Action_8084E30C != this->actionFunc) && (Player_Action_8084E368 != this->actionFunc) &&
|
(Player_Action_8084E30C != this->actionFunc) && (Player_Action_8084E368 != this->actionFunc) &&
|
||||||
|
@ -6474,7 +6474,7 @@ void func_8083D53C(PlayState* play, Player* this) {
|
||||||
func_8083D36C(play, this);
|
func_8083D36C(play, this);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if ((this->stateFlags1 & PLAYER_STATE1_27) && (this->actor.yDistToWater < this->ageProperties->unk_24)) {
|
} else if ((this->stateFlags1 & PLAYER_STATE1_27) && (this->actor.depthInWater < this->ageProperties->unk_24)) {
|
||||||
if ((this->skelAnime.moveFlags == 0) && (this->currentBoots != PLAYER_BOOTS_IRON)) {
|
if ((this->skelAnime.moveFlags == 0) && (this->currentBoots != PLAYER_BOOTS_IRON)) {
|
||||||
func_8083CD54(play, this, this->actor.shape.rot.y);
|
func_8083CD54(play, this, this->actor.shape.rot.y);
|
||||||
}
|
}
|
||||||
|
@ -6534,7 +6534,7 @@ void func_8083D6EC(PlayState* play, Player* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER) {
|
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER) {
|
||||||
if (this->actor.yDistToWater < 50.0f) {
|
if (this->actor.depthInWater < 50.0f) {
|
||||||
f32 temp4;
|
f32 temp4;
|
||||||
|
|
||||||
temp4 = fabsf(this->bodyPartsPos[PLAYER_BODYPART_WAIST].x - this->unk_A88.x) +
|
temp4 = fabsf(this->bodyPartsPos[PLAYER_BODYPART_WAIST].x - this->unk_A88.x) +
|
||||||
|
@ -6549,20 +6549,20 @@ void func_8083D6EC(PlayState* play, Player* this) {
|
||||||
this->unk_854 = 0.0f;
|
this->unk_854 = 0.0f;
|
||||||
|
|
||||||
ripplePos.x = (Rand_ZeroOne() * 10.0f) + this->actor.world.pos.x;
|
ripplePos.x = (Rand_ZeroOne() * 10.0f) + this->actor.world.pos.x;
|
||||||
ripplePos.y = this->actor.world.pos.y + this->actor.yDistToWater;
|
ripplePos.y = this->actor.world.pos.y + this->actor.depthInWater;
|
||||||
ripplePos.z = (Rand_ZeroOne() * 10.0f) + this->actor.world.pos.z;
|
ripplePos.z = (Rand_ZeroOne() * 10.0f) + this->actor.world.pos.z;
|
||||||
EffectSsGRipple_Spawn(play, &ripplePos, 100, 500, 0);
|
EffectSsGRipple_Spawn(play, &ripplePos, 100, 500, 0);
|
||||||
|
|
||||||
if ((this->speedXZ > 4.0f) && !func_808332B8(this) &&
|
if ((this->speedXZ > 4.0f) && !func_808332B8(this) &&
|
||||||
((this->actor.world.pos.y + this->actor.yDistToWater) <
|
((this->actor.world.pos.y + this->actor.depthInWater) <
|
||||||
this->bodyPartsPos[PLAYER_BODYPART_WAIST].y)) {
|
this->bodyPartsPos[PLAYER_BODYPART_WAIST].y)) {
|
||||||
func_8083CFA8(play, this, 20.0f,
|
func_8083CFA8(play, this, 20.0f,
|
||||||
(fabsf(this->speedXZ) * 50.0f) + (this->actor.yDistToWater * 5.0f));
|
(fabsf(this->speedXZ) * 50.0f) + (this->actor.depthInWater * 5.0f));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->actor.yDistToWater > 40.0f) {
|
if (this->actor.depthInWater > 40.0f) {
|
||||||
s32 numBubbles = 0;
|
s32 numBubbles = 0;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
|
@ -6971,7 +6971,7 @@ s32 Player_ActionChange_9(Player* this, PlayState* play) {
|
||||||
s32 func_8083EC18(Player* this, PlayState* play, u32 wallFlags) {
|
s32 func_8083EC18(Player* this, PlayState* play, u32 wallFlags) {
|
||||||
if (this->yDistToLedge >= 79.0f) {
|
if (this->yDistToLedge >= 79.0f) {
|
||||||
if (!(this->stateFlags1 & PLAYER_STATE1_27) || (this->currentBoots == PLAYER_BOOTS_IRON) ||
|
if (!(this->stateFlags1 & PLAYER_STATE1_27) || (this->currentBoots == PLAYER_BOOTS_IRON) ||
|
||||||
(this->actor.yDistToWater < this->ageProperties->unk_2C)) {
|
(this->actor.depthInWater < this->ageProperties->unk_2C)) {
|
||||||
s32 sp8C = (wallFlags & WALL_FLAG_3) ? 2 : 0;
|
s32 sp8C = (wallFlags & WALL_FLAG_3) ? 2 : 0;
|
||||||
|
|
||||||
if ((sp8C != 0) || (wallFlags & WALL_FLAG_1) ||
|
if ((sp8C != 0) || (wallFlags & WALL_FLAG_1) ||
|
||||||
|
@ -10327,7 +10327,7 @@ void Player_UpdateInterface(PlayState* play, Player* this) {
|
||||||
static u8 sDiveNumberDoActions[] = { DO_ACTION_1, DO_ACTION_2, DO_ACTION_3, DO_ACTION_4,
|
static u8 sDiveNumberDoActions[] = { DO_ACTION_1, DO_ACTION_2, DO_ACTION_3, DO_ACTION_4,
|
||||||
DO_ACTION_5, DO_ACTION_6, DO_ACTION_7, DO_ACTION_8 };
|
DO_ACTION_5, DO_ACTION_6, DO_ACTION_7, DO_ACTION_8 };
|
||||||
|
|
||||||
sp24 = (D_80854784[CUR_UPG_VALUE(UPG_SCALE)] - this->actor.yDistToWater) / 40.0f;
|
sp24 = (D_80854784[CUR_UPG_VALUE(UPG_SCALE)] - this->actor.depthInWater) / 40.0f;
|
||||||
sp24 = CLAMP(sp24, 0, 7);
|
sp24 = CLAMP(sp24, 0, 7);
|
||||||
doAction = sDiveNumberDoActions[sp24];
|
doAction = sDiveNumberDoActions[sp24];
|
||||||
} else if (sp1C && !(this->stateFlags2 & PLAYER_STATE2_10)) {
|
} else if (sp1C && !(this->stateFlags2 & PLAYER_STATE2_10)) {
|
||||||
|
@ -10397,7 +10397,7 @@ s32 Player_UpdateHoverBoots(Player* this) {
|
||||||
|
|
||||||
canHoverOnGround =
|
canHoverOnGround =
|
||||||
(this->currentBoots == PLAYER_BOOTS_HOVER) &&
|
(this->currentBoots == PLAYER_BOOTS_HOVER) &&
|
||||||
((this->actor.yDistToWater >= 0.0f) || (func_80838144(sFloorType) >= 0) || func_8083816C(sFloorType));
|
((this->actor.depthInWater >= 0.0f) || (func_80838144(sFloorType) >= 0) || func_8083816C(sFloorType));
|
||||||
|
|
||||||
if (canHoverOnGround && (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) && (this->hoverBootsTimer != 0)) {
|
if (canHoverOnGround && (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) && (this->hoverBootsTimer != 0)) {
|
||||||
this->actor.bgCheckFlags &= ~BGCHECKFLAG_GROUND;
|
this->actor.bgCheckFlags &= ~BGCHECKFLAG_GROUND;
|
||||||
|
@ -10500,7 +10500,7 @@ void Player_ProcessSceneCollision(PlayState* play, Player* this) {
|
||||||
this->prevFloorSfxOffset = this->floorSfxOffset;
|
this->prevFloorSfxOffset = this->floorSfxOffset;
|
||||||
|
|
||||||
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER) {
|
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER) {
|
||||||
if (this->actor.yDistToWater < 20.0f) {
|
if (this->actor.depthInWater < 20.0f) {
|
||||||
this->floorSfxOffset = SURFACE_SFX_OFFSET_WATER_SHALLOW;
|
this->floorSfxOffset = SURFACE_SFX_OFFSET_WATER_SHALLOW;
|
||||||
} else {
|
} else {
|
||||||
this->floorSfxOffset = SURFACE_SFX_OFFSET_WATER_DEEP;
|
this->floorSfxOffset = SURFACE_SFX_OFFSET_WATER_DEEP;
|
||||||
|
@ -10529,7 +10529,7 @@ void Player_ProcessSceneCollision(PlayState* play, Player* this) {
|
||||||
if (sConveyorSpeed != CONVEYOR_SPEED_DISABLED) {
|
if (sConveyorSpeed != CONVEYOR_SPEED_DISABLED) {
|
||||||
sIsFloorConveyor = SurfaceType_IsFloorConveyor(&play->colCtx, floorPoly, this->actor.floorBgId);
|
sIsFloorConveyor = SurfaceType_IsFloorConveyor(&play->colCtx, floorPoly, this->actor.floorBgId);
|
||||||
|
|
||||||
if ((!sIsFloorConveyor && (this->actor.yDistToWater > 20.0f) &&
|
if ((!sIsFloorConveyor && (this->actor.depthInWater > 20.0f) &&
|
||||||
(this->currentBoots != PLAYER_BOOTS_IRON)) ||
|
(this->currentBoots != PLAYER_BOOTS_IRON)) ||
|
||||||
(sIsFloorConveyor && (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND))) {
|
(sIsFloorConveyor && (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND))) {
|
||||||
sConveyorYaw = CONVEYOR_DIRECTION_TO_BINANG(
|
sConveyorYaw = CONVEYOR_DIRECTION_TO_BINANG(
|
||||||
|
@ -11112,7 +11112,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) {
|
||||||
if (this->currentBoots == PLAYER_BOOTS_IRON) {
|
if (this->currentBoots == PLAYER_BOOTS_IRON) {
|
||||||
if (this->stateFlags1 & PLAYER_STATE1_27) {
|
if (this->stateFlags1 & PLAYER_STATE1_27) {
|
||||||
func_80832340(play, this);
|
func_80832340(play, this);
|
||||||
if (this->ageProperties->unk_2C < this->actor.yDistToWater) {
|
if (this->ageProperties->unk_2C < this->actor.depthInWater) {
|
||||||
this->stateFlags2 |= PLAYER_STATE2_10;
|
this->stateFlags2 |= PLAYER_STATE2_10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11770,7 +11770,7 @@ void func_8084B000(Player* this) {
|
||||||
f32 phi_f18;
|
f32 phi_f18;
|
||||||
f32 phi_f16;
|
f32 phi_f16;
|
||||||
f32 phi_f14;
|
f32 phi_f14;
|
||||||
f32 yDistToWater;
|
f32 depthInWater;
|
||||||
|
|
||||||
phi_f14 = -5.0f;
|
phi_f14 = -5.0f;
|
||||||
|
|
||||||
|
@ -11779,7 +11779,7 @@ void func_8084B000(Player* this) {
|
||||||
phi_f16 += 1.0f;
|
phi_f16 += 1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->actor.yDistToWater < phi_f16) {
|
if (this->actor.depthInWater < phi_f16) {
|
||||||
if (this->actor.velocity.y <= 0.0f) {
|
if (this->actor.velocity.y <= 0.0f) {
|
||||||
phi_f16 = 0.0f;
|
phi_f16 = 0.0f;
|
||||||
} else {
|
} else {
|
||||||
|
@ -11800,8 +11800,8 @@ void func_8084B000(Player* this) {
|
||||||
phi_f18 = phi_f16 + 0.1f;
|
phi_f18 = phi_f16 + 0.1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
yDistToWater = this->actor.yDistToWater;
|
depthInWater = this->actor.depthInWater;
|
||||||
if (yDistToWater > 100.0f) {
|
if (depthInWater > 100.0f) {
|
||||||
this->stateFlags2 |= PLAYER_STATE2_10;
|
this->stateFlags2 |= PLAYER_STATE2_10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12977,7 +12977,7 @@ void Player_Action_8084DC48(Player* this, PlayState* play) {
|
||||||
|
|
||||||
if (CHECK_BTN_ALL(sControlInput->cur.button, BTN_A) && !Player_ActionChange_2(this, play) &&
|
if (CHECK_BTN_ALL(sControlInput->cur.button, BTN_A) && !Player_ActionChange_2(this, play) &&
|
||||||
!(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) &&
|
!(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) &&
|
||||||
(this->actor.yDistToWater < D_80854784[CUR_UPG_VALUE(UPG_SCALE)])) {
|
(this->actor.depthInWater < D_80854784[CUR_UPG_VALUE(UPG_SCALE)])) {
|
||||||
func_8084DBC4(play, this, -2.0f);
|
func_8084DBC4(play, this, -2.0f);
|
||||||
} else {
|
} else {
|
||||||
this->av1.actionVar1++;
|
this->av1.actionVar1++;
|
||||||
|
@ -12989,7 +12989,7 @@ void Player_Action_8084DC48(Player* this, PlayState* play) {
|
||||||
|
|
||||||
if (this->unk_6C2 < 10000) {
|
if (this->unk_6C2 < 10000) {
|
||||||
this->av1.actionVar1++;
|
this->av1.actionVar1++;
|
||||||
this->av2.actionVar2 = this->actor.yDistToWater;
|
this->av2.actionVar2 = this->actor.depthInWater;
|
||||||
Player_AnimChangeLoopSlowMorph(play, this, &gPlayerAnim_link_swimer_swim);
|
Player_AnimChangeLoopSlowMorph(play, this, &gPlayerAnim_link_swimer_swim);
|
||||||
}
|
}
|
||||||
} else if (!func_8083D12C(play, this, sControlInput)) {
|
} else if (!func_8083D12C(play, this, sControlInput)) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue