NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
d_wm_actor.hpp
1#pragma once
2
3#include <game/bases/d_base_actor.hpp>
4#include <game/mLib/m_3d.hpp>
5#include <game/mLib/m_sphere.hpp>
6
7/// @brief The minimum required implementation for a world map actor.
8/// @ingroup bases
9class dWmActor_c : public dBaseActor_c {
10 dWmActor_c(); ///< @copydoc dBaseActor_c::dBaseActor_c
11
12 virtual int preCreate();
13 virtual void postCreate(fBase_c::MAIN_STATE_e status);
14
15 virtual int preDelete();
16 virtual void postDelete(fBase_c::MAIN_STATE_e status);
17
18 virtual int preExecute();
19 virtual void postExecute(fBase_c::MAIN_STATE_e status);
20
21 virtual int preDraw();
22 virtual void postDraw(fBase_c::MAIN_STATE_e status);
23
24 virtual ~dWmActor_c(); ///< @copydoc dBaseActor_c::~dBaseActor_c
25
26 virtual int GetActorType();
27
28 /// @brief Creates a world map actor without a parent. See dBaseActor_c::construct.
29 static dWmActor_c *construct(ProfileName profName, unsigned long param, const mVec3_c *position, const mAng3_c *rotation);
30
31 /// @brief Creates a child world map actor with the given parent. See
32 /// @ref dBaseActor_c::construct(ProfileName, dBase_c*, unsigned long, const mVec3_c*, const mAng3_c*)
33 /// "dBaseActor_c::construct".
34 static dWmActor_c *construct(ProfileName profName, dBase_c *base, unsigned long param, const mVec3_c *position, const mAng3_c *rotation);
35
36 static void setSoftLight_Map(m3d::bmdl_c &mdl); ///< @copydoc dGameCom::SetSoftLight_Map
37 static void setSoftLight_MapObj(m3d::bmdl_c &mdl); ///< @copydoc dGameCom::SetSoftLight_MapObj
38 static void setSoftLight_Enemy(m3d::bmdl_c &mdl); ///< @copydoc dGameCom::SetSoftLight_Enemy
39 static void setSoftLight_Boss(m3d::bmdl_c &mdl); ///< @copydoc dGameCom::SetSoftLight_Boss
40
41private:
42 mSphere_c mCullSphere; ///< @brief A sphere representing the actor's visible area.
43};
dBaseActor_c()
Constructs a new actor.
dBase_c()
Constructs a new base.
Definition d_base.cpp:13
static void setSoftLight_Boss(m3d::bmdl_c &mdl)
Sets the soft light effect for bosses.
static void setSoftLight_Map(m3d::bmdl_c &mdl)
Sets the soft light effect for map actors.
virtual int preCreate()
pre method for the create operation.
virtual int preExecute()
pre method for the execute operation.
virtual int preDelete()
pre method for the delete operation.
mSphere_c mCullSphere
A sphere representing the actor's visible area.
virtual void postExecute(fBase_c::MAIN_STATE_e status)
post method for the execute operation.
virtual void postCreate(fBase_c::MAIN_STATE_e status)
post method for the create operation.
static void setSoftLight_MapObj(m3d::bmdl_c &mdl)
Sets the soft light effect for map objects.
virtual void postDraw(fBase_c::MAIN_STATE_e status)
post method for the draw operation.
virtual void postDelete(fBase_c::MAIN_STATE_e status)
post method for the delete operation.
static void setSoftLight_Enemy(m3d::bmdl_c &mdl)
Sets the soft light effect for enemies.
virtual ~dWmActor_c()
Destroys the actor.
Definition d_wm_actor.cpp:8
virtual int preDraw()
pre method for the draw operation.
static dWmActor_c * construct(ProfileName profName, unsigned long param, const mVec3_c *position, const mAng3_c *rotation)
Creates a world map actor without a parent. See dBaseActor_c::construct.
dWmActor_c()
Constructs a new actor.
Definition d_wm_actor.cpp:6
virtual int GetActorType()
Gets the actor kind. See ACTOR_KIND_e.
MAIN_STATE_e
The possible operation results.
Definition f_base.hpp:30
A three-dimensional short angle vector.
Definition m_angle.hpp:60
A three-dimensional floating point vector.
Definition m_vec.hpp:100
u16 ProfileName
The name of a profile. Value is a fProfile::PROFILE_NAME_e.
Definition f_profile.hpp:32