NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
d_wm_demo_actor.hpp
1#pragma once
2
3#include <game/bases/d_wm_actor.hpp>
4#include <game/bases/d_wm_sv_mdl.hpp>
5
6/// @brief The minimum required implementation for world map event-driven actors.
7/// @ingroup bases
8class dWmDemoActor_c : public dWmActor_c {
9public:
10 dWmDemoActor_c(); ///< @copydoc dWmActor_c::dWmActor_c
11
12 virtual ~dWmDemoActor_c() {} ///< @copydoc dWmActor_c::~dWmActor_c
13 virtual int create() { return SUCCEEDED; }
14 virtual int draw() { return SUCCEEDED; }
15 virtual int doDelete() { return SUCCEEDED; }
16 virtual int execute() = 0;
17 virtual int GetActorType() { return ACTOR_MAP_DEMO; }
18
19 virtual void setCutEndSpecific(int cutsceneCommandId, bool param2); ///< @unofficial
20 virtual bool checkCutEnd() { return mIsCutEnd; }
21 virtual void setCutEnd() { mIsCutEnd = true; }
22 virtual void clearCutEnd() { mIsCutEnd = false; }
23
24 bool isStaff();
25
26 void InitJumpParam(const mVec3_c &startPos, const mVec3_c &targetPos, int numFrames, float jumpSpeed, float maxYSpeed);
27 void __initJumpParam1(const mVec3_c &startPos, const mVec3_c &targetPos, int numFrames, float jumpSpeed, float maxYSpeed);
28 void __initJumpParam2(const mVec3_c &startPos, const mVec3_c &targetPos, int numFrames, float jumpSpeed, float maxYSpeed);
29 void initJumpBase(mVec3_c pos, int numFrames, float jumpSpeed);
30 bool procJumpBase();
31 void _initDemoJumpBaseCore(const mVec3_c &pos, int delay, int frames, float jumpSpeed, float startScale, float targetScale, const short &angY);
32 void _initDemoJumpBase(const mVec3_c &pos, int delay, int frames, float jumpSpeed, float startScale, float targetScale, const mVec3_c &dir);
33 bool _procDemoJumpBase();
34
35 void setDirection(const mVec3_c &dir);
36 void rotDirectionY(short angle, bool is3D);
37 void rotDirectionX(short angle, bool is3D);
38 bool checkArriveTargetXYZ(const mVec3_c &startPos, const mVec3_c &targetPos);
39 bool checkArriveTargetXZ(const mVec3_c &startPos, const mVec3_c &targetPos);
40
41 void CreateShadowModel(const char *arc, const char *path, const char *mdlName, bool param4);
42 void CalcShadow(float yOffs, float scaleX, float scaleY, float scaleZ);
43 void CalcShadow(float yOffs, float scale);
44 void DrawShadow(bool param1);
45
46 float GetBgPosY(const mVec3_c &startPos, const mVec3_c &targetPos, int directionType);
47 void CsSPosSimple(int directionType, float yTarget);
48 void clearSpeedAll();
49 void adjustHeightBase(const mVec3_c &startPos, const mVec3_c &targetPos, int directionType);
50 bool isCutsceneCommandPlaying(const int *cmdList, int cmdCount); ///< @unofficial
51
52 static dWmDemoActor_c *GetChildDemoActor(dBaseActor_c *prev, dWmDemoActor_c *&next); ///< @unofficial
53
54protected:
55 bool m_00;
56 bool mIsCutEnd;
57 mHeapAllocator_c mHeapAllocator;
58 m3d::smdl_c mModel;
59 dWmSVMdl_c *mSvMdl;
60 mVec3_c mTargetPos;
61 float mScaleCurr;
62 float mScaleDelta;
63 float mScaleTarget;
64 int mScaleDelay;
65};
@ ACTOR_MAP_DEMO
A map actor affected by cutscenes (dWmDemoActor_c).
dBaseActor_c()
Constructs a new actor.
dWmActor_c()
Constructs a new actor.
Definition d_wm_actor.cpp:6
virtual int execute()=0
do method for the execute operation.
virtual int draw()
do method for the draw operation.
dWmDemoActor_c()
Constructs a new actor.
virtual int doDelete()
do method for the delete operation.
virtual int GetActorType()
Gets the actor kind. See ACTOR_KIND_e.
static dWmDemoActor_c * GetChildDemoActor(dBaseActor_c *prev, dWmDemoActor_c *&next)
bool isCutsceneCommandPlaying(const int *cmdList, int cmdCount)
virtual int create()
do method for the create operation.
virtual void setCutEndSpecific(int cutsceneCommandId, bool param2)
virtual ~dWmDemoActor_c()
Destroys the actor.
@ SUCCEEDED
The step was completed successfully.
Definition f_base.hpp:45