mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-26 06:36:19 +00:00
[Doc] name function func_8002DBD0 to Actor_WorldToActorCoords (#2029)
* name function Actor_WorldToActorCoords * clean up some misleading usages
This commit is contained in:
parent
fc79632df8
commit
8df87038a0
19 changed files with 52 additions and 53 deletions
|
@ -343,7 +343,7 @@ s16 Actor_WorldPitchTowardActor(Actor* actorA, Actor* actorB);
|
||||||
s16 Actor_WorldPitchTowardPoint(Actor* actor, Vec3f* refPoint);
|
s16 Actor_WorldPitchTowardPoint(Actor* actor, Vec3f* refPoint);
|
||||||
f32 Actor_WorldDistXZToActor(Actor* actorA, Actor* actorB);
|
f32 Actor_WorldDistXZToActor(Actor* actorA, Actor* actorB);
|
||||||
f32 Actor_WorldDistXZToPoint(Actor* actor, Vec3f* refPoint);
|
f32 Actor_WorldDistXZToPoint(Actor* actor, Vec3f* refPoint);
|
||||||
void func_8002DBD0(Actor* actor, Vec3f* dest, Vec3f* pos);
|
void Actor_WorldToActorCoords(Actor* actor, Vec3f* dest, Vec3f* pos);
|
||||||
f32 Actor_HeightDiff(Actor* actorA, Actor* actorB);
|
f32 Actor_HeightDiff(Actor* actorA, Actor* actorB);
|
||||||
f32 Player_GetHeight(Player* player);
|
f32 Player_GetHeight(Player* player);
|
||||||
f32 func_8002DCE4(Player* player);
|
f32 func_8002DCE4(Player* player);
|
||||||
|
|
|
@ -987,9 +987,8 @@ f32 Actor_WorldDistXZToPoint(Actor* actor, Vec3f* refPoint) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert `pos` to be relative to the actor's position and yaw, store into `dest`.
|
* Convert `pos` to be relative to the actor's position and yaw, store into `dest`.
|
||||||
* Actor_WorldToActorCoords
|
|
||||||
*/
|
*/
|
||||||
void func_8002DBD0(Actor* actor, Vec3f* dest, Vec3f* pos) {
|
void Actor_WorldToActorCoords(Actor* actor, Vec3f* dest, Vec3f* pos) {
|
||||||
f32 cosY;
|
f32 cosY;
|
||||||
f32 sinY;
|
f32 sinY;
|
||||||
f32 deltaX;
|
f32 deltaX;
|
||||||
|
|
|
@ -58,7 +58,7 @@ void BgHaka_Destroy(Actor* thisx, PlayState* play) {
|
||||||
void BgHaka_CheckPlayerOnDirtPatch(BgHaka* this, Player* player) {
|
void BgHaka_CheckPlayerOnDirtPatch(BgHaka* this, Player* player) {
|
||||||
Vec3f playerRelativePos;
|
Vec3f playerRelativePos;
|
||||||
|
|
||||||
func_8002DBD0(&this->dyna.actor, &playerRelativePos, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->dyna.actor, &playerRelativePos, &player->actor.world.pos);
|
||||||
if (fabsf(playerRelativePos.x) < 34.6f && playerRelativePos.z > -112.8f && playerRelativePos.z < -36.0f) {
|
if (fabsf(playerRelativePos.x) < 34.6f && playerRelativePos.z > -112.8f && playerRelativePos.z < -36.0f) {
|
||||||
player->stateFlags2 |= PLAYER_STATE2_FORCE_SAND_FLOOR_SOUND;
|
player->stateFlags2 |= PLAYER_STATE2_FORCE_SAND_FLOOR_SOUND;
|
||||||
}
|
}
|
||||||
|
|
|
@ -208,7 +208,7 @@ void func_8087FFC0(BgHakaTrap* this, PlayState* play) {
|
||||||
f32 zNonNegative;
|
f32 zNonNegative;
|
||||||
Player* player = GET_PLAYER(play);
|
Player* player = GET_PLAYER(play);
|
||||||
|
|
||||||
func_8002DBD0(&this->dyna.actor, &sp28, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->dyna.actor, &sp28, &player->actor.world.pos);
|
||||||
|
|
||||||
sine = Math_SinS(this->dyna.actor.shape.rot.y);
|
sine = Math_SinS(this->dyna.actor.shape.rot.y);
|
||||||
cosine = Math_CosS(this->dyna.actor.shape.rot.y);
|
cosine = Math_CosS(this->dyna.actor.shape.rot.y);
|
||||||
|
@ -431,7 +431,7 @@ void func_808809E4(BgHakaTrap* this, PlayState* play, s16 arg2) {
|
||||||
Player* player = GET_PLAYER(play);
|
Player* player = GET_PLAYER(play);
|
||||||
Vec3f sp18;
|
Vec3f sp18;
|
||||||
|
|
||||||
func_8002DBD0(&this->dyna.actor, &sp18, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->dyna.actor, &sp18, &player->actor.world.pos);
|
||||||
|
|
||||||
if ((fabsf(sp18.x) < 70.0f) && (fabsf(sp18.y) < 100.0f) && (sp18.z < 500.0f) &&
|
if ((fabsf(sp18.x) < 70.0f) && (fabsf(sp18.y) < 100.0f) && (sp18.z < 500.0f) &&
|
||||||
(GET_PLAYER(play)->currentBoots != PLAYER_BOOTS_IRON)) {
|
(GET_PLAYER(play)->currentBoots != PLAYER_BOOTS_IRON)) {
|
||||||
|
|
|
@ -81,12 +81,12 @@ void BgHidanFirewall_Destroy(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
s32 BgHidanFirewall_CheckProximity(BgHidanFirewall* this, PlayState* play) {
|
s32 BgHidanFirewall_CheckProximity(BgHidanFirewall* this, PlayState* play) {
|
||||||
Player* player;
|
Player* player;
|
||||||
Vec3f distance;
|
Vec3f playerRelativePos;
|
||||||
|
|
||||||
player = GET_PLAYER(play);
|
player = GET_PLAYER(play);
|
||||||
func_8002DBD0(&this->actor, &distance, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &playerRelativePos, &player->actor.world.pos);
|
||||||
|
|
||||||
if (fabsf(distance.x) < 100.0f && fabsf(distance.z) < 120.0f) {
|
if (fabsf(playerRelativePos.x) < 100.0f && fabsf(playerRelativePos.z) < 120.0f) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -137,39 +137,39 @@ void BgHidanFirewall_Collide(BgHidanFirewall* this, PlayState* play) {
|
||||||
|
|
||||||
void BgHidanFirewall_ColliderFollowPlayer(BgHidanFirewall* this, PlayState* play) {
|
void BgHidanFirewall_ColliderFollowPlayer(BgHidanFirewall* this, PlayState* play) {
|
||||||
Player* player;
|
Player* player;
|
||||||
Vec3f sp30;
|
Vec3f playerRelativePos;
|
||||||
f32 temp_ret;
|
f32 temp_ret;
|
||||||
f32 sp28;
|
f32 sp28;
|
||||||
f32 phi_f0;
|
f32 phi_f0;
|
||||||
|
|
||||||
player = GET_PLAYER(play);
|
player = GET_PLAYER(play);
|
||||||
|
|
||||||
func_8002DBD0(&this->actor, &sp30, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &playerRelativePos, &player->actor.world.pos);
|
||||||
if (sp30.x < -70.0f) {
|
if (playerRelativePos.x < -70.0f) {
|
||||||
sp30.x = -70.0f;
|
playerRelativePos.x = -70.0f;
|
||||||
} else {
|
} else {
|
||||||
if (70.0f < sp30.x) {
|
if (70.0f < playerRelativePos.x) {
|
||||||
phi_f0 = 70.0f;
|
phi_f0 = 70.0f;
|
||||||
} else {
|
} else {
|
||||||
phi_f0 = sp30.x;
|
phi_f0 = playerRelativePos.x;
|
||||||
}
|
}
|
||||||
sp30.x = phi_f0;
|
playerRelativePos.x = phi_f0;
|
||||||
}
|
}
|
||||||
if (this->actor.params == 0) {
|
if (this->actor.params == 0) {
|
||||||
if (0.0f < sp30.z) {
|
if (0.0f < playerRelativePos.z) {
|
||||||
sp30.z = -25.0f;
|
playerRelativePos.z = -25.0f;
|
||||||
this->actor.params = -1;
|
this->actor.params = -1;
|
||||||
} else {
|
} else {
|
||||||
sp30.z = 25.0f;
|
playerRelativePos.z = 25.0f;
|
||||||
this->actor.params = 1;
|
this->actor.params = 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sp30.z = this->actor.params * 25.0f;
|
playerRelativePos.z = this->actor.params * 25.0f;
|
||||||
}
|
}
|
||||||
sp28 = Math_SinS(this->actor.shape.rot.y);
|
sp28 = Math_SinS(this->actor.shape.rot.y);
|
||||||
temp_ret = Math_CosS(this->actor.shape.rot.y);
|
temp_ret = Math_CosS(this->actor.shape.rot.y);
|
||||||
this->collider.dim.pos.x = this->actor.world.pos.x + sp30.x * temp_ret + sp30.z * sp28;
|
this->collider.dim.pos.x = this->actor.world.pos.x + playerRelativePos.x * temp_ret + playerRelativePos.z * sp28;
|
||||||
this->collider.dim.pos.z = this->actor.world.pos.z - sp30.x * sp28 + sp30.z * temp_ret;
|
this->collider.dim.pos.z = this->actor.world.pos.z - playerRelativePos.x * sp28 + playerRelativePos.z * temp_ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BgHidanFirewall_Update(Actor* thisx, PlayState* play) {
|
void BgHidanFirewall_Update(Actor* thisx, PlayState* play) {
|
||||||
|
|
|
@ -195,25 +195,25 @@ void BgHidanFwbig_Move(BgHidanFwbig* this, PlayState* play) {
|
||||||
|
|
||||||
void BgHidanFwbig_MoveCollider(BgHidanFwbig* this, PlayState* play) {
|
void BgHidanFwbig_MoveCollider(BgHidanFwbig* this, PlayState* play) {
|
||||||
Player* player = GET_PLAYER(play);
|
Player* player = GET_PLAYER(play);
|
||||||
Vec3f projPos;
|
Vec3f playerRelativePos;
|
||||||
f32 cs;
|
f32 cs;
|
||||||
f32 sn;
|
f32 sn;
|
||||||
|
|
||||||
func_8002DBD0(&this->actor, &projPos, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &playerRelativePos, &player->actor.world.pos);
|
||||||
projPos.z = ((projPos.z >= 0.0f) ? 1.0f : -1.0f) * 25.0f * -1.0f;
|
playerRelativePos.z = ((playerRelativePos.z >= 0.0f) ? 1.0f : -1.0f) * 25.0f * -1.0f;
|
||||||
if (this->direction == 0) {
|
if (this->direction == 0) {
|
||||||
projPos.x = CLAMP(projPos.x, -360.0f, 360.0f);
|
playerRelativePos.x = CLAMP(playerRelativePos.x, -360.0f, 360.0f);
|
||||||
} else {
|
} else {
|
||||||
projPos.x = CLAMP(projPos.x, -500.0f, 500.0f);
|
playerRelativePos.x = CLAMP(playerRelativePos.x, -500.0f, 500.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
sn = Math_SinS(this->actor.shape.rot.y);
|
sn = Math_SinS(this->actor.shape.rot.y);
|
||||||
cs = Math_CosS(this->actor.shape.rot.y);
|
cs = Math_CosS(this->actor.shape.rot.y);
|
||||||
this->collider.dim.pos.x = this->actor.world.pos.x + (projPos.x * cs) + (projPos.z * sn);
|
this->collider.dim.pos.x = this->actor.world.pos.x + (playerRelativePos.x * cs) + (playerRelativePos.z * sn);
|
||||||
this->collider.dim.pos.z = this->actor.world.pos.z - (projPos.x * sn) + (projPos.z * cs);
|
this->collider.dim.pos.z = this->actor.world.pos.z - (playerRelativePos.x * sn) + (playerRelativePos.z * cs);
|
||||||
this->collider.dim.pos.y = this->actor.world.pos.y;
|
this->collider.dim.pos.y = this->actor.world.pos.y;
|
||||||
|
|
||||||
this->actor.world.rot.y = (projPos.z < 0.0f) ? this->actor.shape.rot.y : this->actor.shape.rot.y + 0x8000;
|
this->actor.world.rot.y = (playerRelativePos.z < 0.0f) ? this->actor.shape.rot.y : this->actor.shape.rot.y + 0x8000;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BgHidanFwbig_Update(Actor* thisx, PlayState* play) {
|
void BgHidanFwbig_Update(Actor* thisx, PlayState* play) {
|
||||||
|
|
|
@ -395,7 +395,7 @@ void BgYdanSp_WallWebIdle(BgYdanSp* this, PlayState* play) {
|
||||||
this->dyna.actor.home.pos.y = this->dyna.actor.world.pos.y + 80.0f;
|
this->dyna.actor.home.pos.y = this->dyna.actor.world.pos.y + 80.0f;
|
||||||
BgYdanSp_BurnWeb(this, play);
|
BgYdanSp_BurnWeb(this, play);
|
||||||
} else if (player->heldItemAction == PLAYER_IA_DEKU_STICK && player->unk_860 != 0) {
|
} else if (player->heldItemAction == PLAYER_IA_DEKU_STICK && player->unk_860 != 0) {
|
||||||
func_8002DBD0(&this->dyna.actor, &sp30, &player->meleeWeaponInfo[0].tip);
|
Actor_WorldToActorCoords(&this->dyna.actor, &sp30, &player->meleeWeaponInfo[0].tip);
|
||||||
if (fabsf(sp30.x) < 100.0f && sp30.z < 1.0f && sp30.y < 200.0f) {
|
if (fabsf(sp30.x) < 100.0f && sp30.z < 1.0f && sp30.y < 200.0f) {
|
||||||
OnePointCutscene_Init(play, 3020, 40, &this->dyna.actor, CAM_ID_MAIN);
|
OnePointCutscene_Init(play, 3020, 40, &this->dyna.actor, CAM_ID_MAIN);
|
||||||
Math_Vec3f_Copy(&this->dyna.actor.home.pos, &player->meleeWeaponInfo[0].tip);
|
Math_Vec3f_Copy(&this->dyna.actor.home.pos, &player->meleeWeaponInfo[0].tip);
|
||||||
|
|
|
@ -1055,8 +1055,8 @@ void BossSst_HeadDeath(BossSst* this, PlayState* play) {
|
||||||
player->actor.world.pos.z = sRoomCenter.z + (400.0f * Math_CosS(this->actor.shape.rot.y)) -
|
player->actor.world.pos.z = sRoomCenter.z + (400.0f * Math_CosS(this->actor.shape.rot.y)) -
|
||||||
(Math_SinS(this->actor.shape.rot.y) * -120.0f);
|
(Math_SinS(this->actor.shape.rot.y) * -120.0f);
|
||||||
player->actor.shape.rot.y = Actor_WorldYawTowardPoint(&player->actor, &sRoomCenter);
|
player->actor.shape.rot.y = Actor_WorldYawTowardPoint(&player->actor, &sRoomCenter);
|
||||||
func_8002DBD0(&this->actor, &sSubCamEye, &GET_ACTIVE_CAM(play)->eye);
|
Actor_WorldToActorCoords(&this->actor, &sSubCamEye, &GET_ACTIVE_CAM(play)->eye);
|
||||||
func_8002DBD0(&this->actor, &sSubCamAt, &GET_ACTIVE_CAM(play)->at);
|
Actor_WorldToActorCoords(&this->actor, &sSubCamAt, &GET_ACTIVE_CAM(play)->at);
|
||||||
this->radius = -350.0f;
|
this->radius = -350.0f;
|
||||||
this->actor.world.pos.x = sRoomCenter.x - (Math_SinS(this->actor.shape.rot.y) * 350.0f);
|
this->actor.world.pos.x = sRoomCenter.x - (Math_SinS(this->actor.shape.rot.y) * 350.0f);
|
||||||
this->actor.world.pos.z = sRoomCenter.z - (Math_CosS(this->actor.shape.rot.y) * 350.0f);
|
this->actor.world.pos.z = sRoomCenter.z - (Math_CosS(this->actor.shape.rot.y) * 350.0f);
|
||||||
|
@ -2640,8 +2640,8 @@ void BossSst_UpdateHead(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
BossSst* this = (BossSst*)thisx;
|
BossSst* this = (BossSst*)thisx;
|
||||||
|
|
||||||
func_8002DBD0(&this->actor, &sHandOffsets[RIGHT], &sHands[RIGHT]->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &sHandOffsets[RIGHT], &sHands[RIGHT]->actor.world.pos);
|
||||||
func_8002DBD0(&this->actor, &sHandOffsets[LEFT], &sHands[LEFT]->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &sHandOffsets[LEFT], &sHands[LEFT]->actor.world.pos);
|
||||||
|
|
||||||
sHandYawOffsets[LEFT] = sHands[LEFT]->actor.shape.rot.y - thisx->shape.rot.y;
|
sHandYawOffsets[LEFT] = sHands[LEFT]->actor.shape.rot.y - thisx->shape.rot.y;
|
||||||
sHandYawOffsets[RIGHT] = sHands[RIGHT]->actor.shape.rot.y - thisx->shape.rot.y;
|
sHandYawOffsets[RIGHT] = sHands[RIGHT]->actor.shape.rot.y - thisx->shape.rot.y;
|
||||||
|
|
|
@ -67,7 +67,7 @@ f32 func_809946BC(PlayState* play, DoorGerudo* this, f32 arg2, f32 arg3, f32 arg
|
||||||
playerPos.x = player->actor.world.pos.x;
|
playerPos.x = player->actor.world.pos.x;
|
||||||
playerPos.y = player->actor.world.pos.y + arg2;
|
playerPos.y = player->actor.world.pos.y + arg2;
|
||||||
playerPos.z = player->actor.world.pos.z;
|
playerPos.z = player->actor.world.pos.z;
|
||||||
func_8002DBD0(&this->dyna.actor, &sp1C, &playerPos);
|
Actor_WorldToActorCoords(&this->dyna.actor, &sp1C, &playerPos);
|
||||||
|
|
||||||
if ((arg3 < fabsf(sp1C.x)) || (arg4 < fabsf(sp1C.y))) {
|
if ((arg3 < fabsf(sp1C.x)) || (arg4 < fabsf(sp1C.y))) {
|
||||||
return MAXFLOAT;
|
return MAXFLOAT;
|
||||||
|
|
|
@ -349,7 +349,7 @@ void DoorKiller_FallOver(DoorKiller* this, PlayState* play) {
|
||||||
if (!(this->hasHitPlayerOrGround & 1)) {
|
if (!(this->hasHitPlayerOrGround & 1)) {
|
||||||
Vec3f playerPosRelToDoor;
|
Vec3f playerPosRelToDoor;
|
||||||
Player* player = GET_PLAYER(play);
|
Player* player = GET_PLAYER(play);
|
||||||
func_8002DBD0(&this->actor, &playerPosRelToDoor, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &playerPosRelToDoor, &player->actor.world.pos);
|
||||||
if ((fabsf(playerPosRelToDoor.y) < 20.0f) && (fabsf(playerPosRelToDoor.x) < 20.0f) &&
|
if ((fabsf(playerPosRelToDoor.y) < 20.0f) && (fabsf(playerPosRelToDoor.x) < 20.0f) &&
|
||||||
(playerPosRelToDoor.z < 100.0f) && (playerPosRelToDoor.z > 0.0f)) {
|
(playerPosRelToDoor.z < 100.0f) && (playerPosRelToDoor.z > 0.0f)) {
|
||||||
this->hasHitPlayerOrGround |= 1;
|
this->hasHitPlayerOrGround |= 1;
|
||||||
|
@ -411,7 +411,7 @@ void DoorKiller_Wait(DoorKiller* this, PlayState* play) {
|
||||||
Vec3f playerPosRelToDoor;
|
Vec3f playerPosRelToDoor;
|
||||||
s16 angleToFacingPlayer;
|
s16 angleToFacingPlayer;
|
||||||
|
|
||||||
func_8002DBD0(&this->actor, &playerPosRelToDoor, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &playerPosRelToDoor, &player->actor.world.pos);
|
||||||
|
|
||||||
// playerIsOpening is set by player
|
// playerIsOpening is set by player
|
||||||
if (this->playerIsOpening) {
|
if (this->playerIsOpening) {
|
||||||
|
|
|
@ -508,7 +508,7 @@ f32 DoorShutter_GetPlayerDistance(PlayState* play, DoorShutter* this, f32 offset
|
||||||
playerPos.y = player->actor.world.pos.y + offsetY;
|
playerPos.y = player->actor.world.pos.y + offsetY;
|
||||||
playerPos.z = player->actor.world.pos.z;
|
playerPos.z = player->actor.world.pos.z;
|
||||||
|
|
||||||
func_8002DBD0(&this->dyna.actor, &relPlayerPos, &playerPos);
|
Actor_WorldToActorCoords(&this->dyna.actor, &relPlayerPos, &playerPos);
|
||||||
|
|
||||||
if (fabsf(relPlayerPos.x) > maxDistSides || fabsf(relPlayerPos.y) > maxDistY) {
|
if (fabsf(relPlayerPos.x) > maxDistSides || fabsf(relPlayerPos.y) > maxDistY) {
|
||||||
return MAXFLOAT;
|
return MAXFLOAT;
|
||||||
|
@ -800,7 +800,7 @@ void DoorShutter_SetupClosed(DoorShutter* this, PlayState* play) {
|
||||||
if (this->dyna.actor.room >= 0) {
|
if (this->dyna.actor.room >= 0) {
|
||||||
Vec3f relPlayerPos;
|
Vec3f relPlayerPos;
|
||||||
|
|
||||||
func_8002DBD0(&this->dyna.actor, &relPlayerPos, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->dyna.actor, &relPlayerPos, &player->actor.world.pos);
|
||||||
this->dyna.actor.room = play->transiActorCtx.list[GET_TRANSITION_ACTOR_INDEX(&this->dyna.actor)]
|
this->dyna.actor.room = play->transiActorCtx.list[GET_TRANSITION_ACTOR_INDEX(&this->dyna.actor)]
|
||||||
.sides[(relPlayerPos.z < 0.0f) ? 0 : 1]
|
.sides[(relPlayerPos.z < 0.0f) ? 0 : 1]
|
||||||
.room;
|
.room;
|
||||||
|
|
|
@ -498,7 +498,7 @@ void func_809BDC08(EnBigokuta* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
phi_v1 = (Actor_WorldDistXZToPoint(&player->actor, &this->actor.home.pos) - 180.0f) * (8.0f / 15);
|
phi_v1 = (Actor_WorldDistXZToPoint(&player->actor, &this->actor.home.pos) - 180.0f) * (8.0f / 15);
|
||||||
func_8002DBD0(&this->actor, &sp28, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &sp28, &player->actor.world.pos);
|
||||||
if (fabsf(sp28.x) > 263.0f || ((sp28.z > 0.0f) && !Actor_IsFacingPlayer(&this->actor, 0x1B00) &&
|
if (fabsf(sp28.x) > 263.0f || ((sp28.z > 0.0f) && !Actor_IsFacingPlayer(&this->actor, 0x1B00) &&
|
||||||
!Player_IsFacingActor(&this->actor, 0x2000, play))) {
|
!Player_IsFacingActor(&this->actor, 0x2000, play))) {
|
||||||
phi_v1 -= 0x80;
|
phi_v1 -= 0x80;
|
||||||
|
|
|
@ -421,7 +421,7 @@ void EnBox_WaitOpen(EnBox* this, PlayState* play) {
|
||||||
Flags_SetTreasure(play, this->dyna.actor.params & 0x1F);
|
Flags_SetTreasure(play, this->dyna.actor.params & 0x1F);
|
||||||
} else {
|
} else {
|
||||||
player = GET_PLAYER(play);
|
player = GET_PLAYER(play);
|
||||||
func_8002DBD0(&this->dyna.actor, &sp4C, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->dyna.actor, &sp4C, &player->actor.world.pos);
|
||||||
if (sp4C.z > -50.0f && sp4C.z < 0.0f && fabsf(sp4C.y) < 10.0f && fabsf(sp4C.x) < 20.0f &&
|
if (sp4C.z > -50.0f && sp4C.z < 0.0f && fabsf(sp4C.y) < 10.0f && fabsf(sp4C.x) < 20.0f &&
|
||||||
Player_IsFacingActor(&this->dyna.actor, 0x3000, play)) {
|
Player_IsFacingActor(&this->dyna.actor, 0x3000, play)) {
|
||||||
Actor_OfferGetItemNearby(&this->dyna.actor, play, 0 - (this->dyna.actor.params >> 5 & 0x7F));
|
Actor_OfferGetItemNearby(&this->dyna.actor, play, 0 - (this->dyna.actor.params >> 5 & 0x7F));
|
||||||
|
|
|
@ -220,7 +220,7 @@ void EnDoor_Idle(EnDoor* this, PlayState* play) {
|
||||||
Vec3f playerPosRelToDoor;
|
Vec3f playerPosRelToDoor;
|
||||||
|
|
||||||
doorType = ENDOOR_GET_TYPE(&this->actor);
|
doorType = ENDOOR_GET_TYPE(&this->actor);
|
||||||
func_8002DBD0(&this->actor, &playerPosRelToDoor, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &playerPosRelToDoor, &player->actor.world.pos);
|
||||||
if (this->playerIsOpening) {
|
if (this->playerIsOpening) {
|
||||||
this->actionFunc = EnDoor_Open;
|
this->actionFunc = EnDoor_Open;
|
||||||
Animation_PlayOnceSetSpeed(&this->skelAnime, sDoorAnims[this->openAnim],
|
Animation_PlayOnceSetSpeed(&this->skelAnime, sDoorAnims[this->openAnim],
|
||||||
|
|
|
@ -186,7 +186,7 @@ void EnHoll_HorizontalVisibleNarrow(EnHoll* this, PlayState* play) {
|
||||||
f32 orthogonalDistToPlayer;
|
f32 orthogonalDistToPlayer;
|
||||||
s32 transitionActorIndex;
|
s32 transitionActorIndex;
|
||||||
|
|
||||||
func_8002DBD0(&this->actor, &relPlayerPos, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &relPlayerPos, &player->actor.world.pos);
|
||||||
this->side = (relPlayerPos.z < 0.0f) ? 0 : 1;
|
this->side = (relPlayerPos.z < 0.0f) ? 0 : 1;
|
||||||
orthogonalDistToPlayer = fabsf(relPlayerPos.z);
|
orthogonalDistToPlayer = fabsf(relPlayerPos.z);
|
||||||
if (relPlayerPos.y > ENHOLL_H_Y_MIN && relPlayerPos.y < ENHOLL_H_Y_MAX &&
|
if (relPlayerPos.y > ENHOLL_H_Y_MIN && relPlayerPos.y < ENHOLL_H_Y_MAX &&
|
||||||
|
@ -227,7 +227,7 @@ void EnHoll_HorizontalInvisible(EnHoll* this, PlayState* play) {
|
||||||
f32 hollHalfWidth;
|
f32 hollHalfWidth;
|
||||||
f32 orthogonalDistToSubject;
|
f32 orthogonalDistToSubject;
|
||||||
|
|
||||||
func_8002DBD0(&this->actor, &relSubjectPos, useViewEye ? &play->view.eye : &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &relSubjectPos, useViewEye ? &play->view.eye : &player->actor.world.pos);
|
||||||
hollHalfWidth =
|
hollHalfWidth =
|
||||||
(ENHOLL_GET_TYPE(&this->actor) == ENHOLL_H_INVISIBLE_NARROW) ? ENHOLL_H_HALFWIDTH_NARROW : ENHOLL_H_HALFWIDTH;
|
(ENHOLL_GET_TYPE(&this->actor) == ENHOLL_H_INVISIBLE_NARROW) ? ENHOLL_H_HALFWIDTH_NARROW : ENHOLL_H_HALFWIDTH;
|
||||||
|
|
||||||
|
@ -355,7 +355,7 @@ void EnHoll_HorizontalBgCoverSwitchFlag(EnHoll* this, PlayState* play) {
|
||||||
Vec3f relPlayerPos;
|
Vec3f relPlayerPos;
|
||||||
f32 orthogonalDistToPlayer;
|
f32 orthogonalDistToPlayer;
|
||||||
|
|
||||||
func_8002DBD0(&this->actor, &relPlayerPos, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->actor, &relPlayerPos, &player->actor.world.pos);
|
||||||
orthogonalDistToPlayer = fabsf(relPlayerPos.z);
|
orthogonalDistToPlayer = fabsf(relPlayerPos.z);
|
||||||
|
|
||||||
if (ENHOLL_H_Y_MIN < relPlayerPos.y && relPlayerPos.y < ENHOLL_H_Y_MAX &&
|
if (ENHOLL_H_Y_MIN < relPlayerPos.y && relPlayerPos.y < ENHOLL_H_Y_MAX &&
|
||||||
|
|
|
@ -226,7 +226,7 @@ void EnRiverSound_Update(Actor* thisx, PlayState* play) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ((thisx->params == RS_GORON_CITY_SARIAS_SONG) || (thisx->params == RS_GREAT_FAIRY)) {
|
} else if ((thisx->params == RS_GORON_CITY_SARIAS_SONG) || (thisx->params == RS_GREAT_FAIRY)) {
|
||||||
func_8002DBD0(&player->actor, &thisx->home.pos, &thisx->world.pos);
|
Actor_WorldToActorCoords(&player->actor, &thisx->home.pos, &thisx->world.pos);
|
||||||
} else if (play->sceneId == SCENE_DODONGOS_CAVERN_BOSS && Flags_GetClear(play, thisx->room)) {
|
} else if (play->sceneId == SCENE_DODONGOS_CAVERN_BOSS && Flags_GetClear(play, thisx->room)) {
|
||||||
Actor_Kill(thisx);
|
Actor_Kill(thisx);
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,13 +152,13 @@ u8 ObjTimeblock_PlayerIsInRange(ObjTimeblock* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->dyna.actor.xzDistToPlayer <= sRanges[(this->dyna.actor.params >> 11) & 7]) {
|
if (this->dyna.actor.xzDistToPlayer <= sRanges[(this->dyna.actor.params >> 11) & 7]) {
|
||||||
Vec3f distance;
|
Vec3f playerRelativePos;
|
||||||
f32 blockSize;
|
f32 blockSize;
|
||||||
|
|
||||||
func_8002DBD0(&this->dyna.actor, &distance, &GET_PLAYER(play)->actor.world.pos);
|
Actor_WorldToActorCoords(&this->dyna.actor, &playerRelativePos, &GET_PLAYER(play)->actor.world.pos);
|
||||||
blockSize = this->dyna.actor.scale.x * 50.0f + 6.0f;
|
blockSize = this->dyna.actor.scale.x * 50.0f + 6.0f;
|
||||||
// Return true if player's xz position is not inside the block
|
// Return true if player's xz position is not inside the block
|
||||||
if (blockSize < fabsf(distance.x) || blockSize < fabsf(distance.z)) {
|
if (blockSize < fabsf(playerRelativePos.x) || blockSize < fabsf(playerRelativePos.z)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,14 +86,14 @@ s32 func_80BA1ECC(ObjWarp2block* this, PlayState* play) {
|
||||||
if ((this->dyna.actor.xzDistToPlayer <= sDistances[(((this->dyna.actor.params >> 0xB) & 7))]) ||
|
if ((this->dyna.actor.xzDistToPlayer <= sDistances[(((this->dyna.actor.params >> 0xB) & 7))]) ||
|
||||||
(temp_a3->xzDistToPlayer <= sDistances[(((temp_a3->params >> 0xB) & 7))])) {
|
(temp_a3->xzDistToPlayer <= sDistances[(((temp_a3->params >> 0xB) & 7))])) {
|
||||||
|
|
||||||
func_8002DBD0(&this->dyna.actor, &sp20, &player->actor.world.pos);
|
Actor_WorldToActorCoords(&this->dyna.actor, &sp20, &player->actor.world.pos);
|
||||||
temp_f2 = (this->dyna.actor.scale.x * 50.0f) + 6.0f;
|
temp_f2 = (this->dyna.actor.scale.x * 50.0f) + 6.0f;
|
||||||
|
|
||||||
if (!(temp_f2 < fabsf(sp20.x)) && !(temp_f2 < fabsf(sp20.z))) {
|
if (!(temp_f2 < fabsf(sp20.x)) && !(temp_f2 < fabsf(sp20.z))) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_8002DBD0(temp_a3, &sp20, &player->actor.world.pos);
|
Actor_WorldToActorCoords(temp_a3, &sp20, &player->actor.world.pos);
|
||||||
temp_f2 = (temp_a3->scale.x * 50.0f) + 6.0f;
|
temp_f2 = (temp_a3->scale.x * 50.0f) + 6.0f;
|
||||||
|
|
||||||
if (!(temp_f2 < fabsf(sp20.x)) && !(temp_f2 < fabsf(sp20.z))) {
|
if (!(temp_f2 < fabsf(sp20.x)) && !(temp_f2 < fabsf(sp20.z))) {
|
||||||
|
|
|
@ -9753,7 +9753,7 @@ void Player_Action_80846120(Player* this, PlayState* play) {
|
||||||
this->heldActor = &heavyBlock->dyna.actor;
|
this->heldActor = &heavyBlock->dyna.actor;
|
||||||
this->actor.child = &heavyBlock->dyna.actor;
|
this->actor.child = &heavyBlock->dyna.actor;
|
||||||
heavyBlock->dyna.actor.parent = &this->actor;
|
heavyBlock->dyna.actor.parent = &this->actor;
|
||||||
func_8002DBD0(&heavyBlock->dyna.actor, &heavyBlock->unk_164, &this->leftHandPos);
|
Actor_WorldToActorCoords(&heavyBlock->dyna.actor, &heavyBlock->unk_164, &this->leftHandPos);
|
||||||
} else if (LinkAnimation_OnFrame(&this->skelAnime, 229.0f)) {
|
} else if (LinkAnimation_OnFrame(&this->skelAnime, 229.0f)) {
|
||||||
Actor* heldActor = this->heldActor;
|
Actor* heldActor = this->heldActor;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue