2#include <game/bases/d_heap_allocator.hpp>
3#include <game/mLib/m_3d/anm_chr.hpp>
4#include <game/mLib/m_3d/anm_tex_srt.hpp>
5#include <game/mLib/m_3d/mdl.hpp>
6#include <game/bases/d_wm_obj_actor.hpp>
17 static const int NODE_COUNT = 6;
93 u8 GetNodeNum()
const {
return ACTOR_PARAM(Node); }
dWmObjActor_c()
Constructs a new object.
The actor for World Map pipes used in course unlock paths.
virtual int execute()
do method for the execute operation.
virtual int doDelete()
do method for the delete operation.
mVec3_c mInitialPos
The initial position of the pipe.
void init_exec()
Process initialization function for the exec process type.
void createModel()
Initializes the resources for the actor.
nw4r::g3d::ResFile mResFile
The resource file.
m3d::anmTexSrt_c mSrtAnim[ANIM_COUNT]
The texture animations.
STATE_e mState
The current cutscene state. See STATE_e.
ACTOR_PARAM_CONFIG(Node, 0, 8)
The index into the hardcoded node configuration table.
void calcAnim()
Updates the currently playing animation.
m3d::mdl_c mModel
The model.
PROC_TYPE_e mCurrProc
The current process type. See dWmObjActor_c::PROC_TYPE_e.
dHeapAllocator_c mAllocator
The allocator.
virtual int draw()
do method for the draw operation.
virtual int create()
do method for the create operation.
void initState()
Sets up the actor's initial state.
void calcModel(m3d::mdl_c &model)
Updates the model's transformation matrix.
~daWmDokanRoute_c()
Destroys the object.
float getEndFrame()
Computes the animation frame for a fully completed pipe animation.
static const u8 sExitTypes[NODE_COUNT]
The exit type associated with each node. Values are EXIT_TYPE_e.
void initPosRot()
Initializes the pipe position and rotation (and the associated texture animation).
void onCourseUnlock()
Updates the course unlock cutscene animation.
m3d::anmChr_c mChrAnim[ANIM_COUNT]
The model animations.
void mode_exec()
Process function for the exec process type.
ANIM_e
The available animations for this actor.
void onCourseUnlockInit()
Initializes the course unlock cutscene animation.
STATE_e
The possible animation states.
@ STATE_ANIM_PLAY
The movement animation is playing.
@ STATE_ANIM_START
The sound effect is played and the pipe begins moving.
@ STATE_IDLE
No animation plays.
@ STATE_ANIM_END
The movement animation is completed.
@ STATE_WAIT_DELAY
Initial delay before the pipe begins moving.
EXIT_TYPE_e
The possible level exit types associated with the pipe.
@ EXIT_TYPE_SECRET
The pipe is part of a secret exit unlock animation.
@ EXIT_TYPE_NORMAL
The pipe is part of a regular exit unlock animation.
virtual void processCutsceneCommand(int cutsceneCommandId, bool isFirstFrame)
Contains the actor-specific logic for processing the current world map cutscene.
void initAnim()
Initializes the pipe's model animation, based on the associated level's completion status.
daWmDokanRoute_c()
Constructs a new object.
int mStateTimer
The timer for the current state.
static const char * sPointNames[NODE_COUNT]
The point name associated with each node.
A three-dimensional floating point vector.
The global configuration for the actor.
s16 mDecelDuration
The duration of the animation's deceleration phase, in frames.
s16 mInitialDelay
The initial delay before the pipe begins moving, in frames.
s16 mAnimDuration
The total duration of the animation, in frames. This also controls the pipe's length.
s16 mDirection
The direction of the pipe. Value is a DIR_e.
struct daWmDokanRoute_c::GlobalData_t::@244041272362370322224364177340327141346100031017 mNodeConfigs[NODE_COUNT]
The configuration for each hardcoded pipe instance.
mVec3_c mPosOffset
The offset from the pipe's bone position.
float mScaleMultiplier
The scale multiplier to be applied to all pipes.
float mAnmRate
The animation speed multiplier.