Files
tww/src/d/d_a_leaflift_static.cpp
T
2026-03-20 16:02:41 -04:00

50 lines
1.5 KiB
C++

//
// Generated by dtk
// Translation Unit: d_a_leaflift_static.cpp
//
#include "d/dolzel.h" // IWYU pragma: keep
#include "d/actor/d_a_leaflift.h"
#include "d/d_com_inf_game.h"
#include "dolphin/types.h"
const f32 daLlift_c::m_height = 560.0f;
const f32 daLlift_c::m_max_speed = 10.0f;
const f32 daLlift_c::m_min_speed = 5.0f;
/* 800690E4-80069100 .text checkEndDownLift__9daLlift_cFv */
BOOL daLlift_c::checkEndDownLift() {
return (current.pos.y <= home.pos.y);
}
/* 80069100-800692C4 .text MoveUpLift__9daLlift_cFv */
BOOL daLlift_c::MoveUpLift() {
f32 max_speed = m_max_speed;
f32 min_speed = m_min_speed;
cXyz upLiftPos;
bool res = FALSE;
mEmitterTimer++;
if (current.pos.y != home.pos.y + m_height) {
m43D = TRUE;
}
f32 upVel = cLib_addCalc(&current.pos.y, home.pos.y + m_height, 0.1f, max_speed, min_speed);
if (upVel == 0.0f) {
mbIsAscending = FALSE;
res = TRUE;
}
else if ((upVel != 0.0f) && (mbIsAscending == FALSE)) {
fopAcM_seStart(this, JA_SE_OBJ_LOTUS_LIFT_UP, 0);
mbIsAscending = TRUE;
mEmitter1 = dComIfGp_particle_set(dPa_name::ID_IT_SN_DEKLIFT_MIZUPOTA00, &current.pos, &current.angle);
mEmitter2 = NULL;
upLiftPos = current.pos;
upLiftPos.y = mWaterY;
mEmitter4 = dComIfGp_particle_set(dPa_name::ID_IT_SN_DEKLIFT_HAMONB00, &upLiftPos, &current.angle);
mEmitterTimer = 0;
if (mEmitter3) {
mEmitter3->stopCreateParticle();
}
}
return res;
}