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/// @ingroup bases
7class dWmDemoActor_c : public dWmActor_c {
8public:
9 dWmDemoActor_c();
10
11 ~dWmDemoActor_c() {}
12
13 static dBaseActor_c *GetChildDemoActor(dBaseActor_c *prev, dWmDemoActor_c *&next); ///< @unofficial
14
15 virtual int create() { return SUCCEEDED; }
16 virtual int draw() { return SUCCEEDED; }
17 virtual int doDelete() { return SUCCEEDED; }
18 virtual int execute() = 0;
19 virtual int GetActorType() { return ACTOR_MAP_DEMO; }
20
21 virtual void setCutEndSpecific(int cutsceneId, bool param2); ///< @unofficial
22 virtual bool checkCutEnd() { return mIsCutEnd; }
23 virtual void setCutEnd() { mIsCutEnd = true; }
24 virtual void clearCutEnd() { mIsCutEnd = false; }
25
26 bool isStaff();
27
28 void InitJumpParam(const mVec3_c &startPos, const mVec3_c &targetPos, int numFrames, float jumpSpeed, float maxYSpeed);
29 void __initJumpParam1(const mVec3_c &startPos, const mVec3_c &targetPos, int numFrames, float jumpSpeed, float maxYSpeed);
30 void __initJumpParam2(const mVec3_c &startPos, const mVec3_c &targetPos, int numFrames, float jumpSpeed, float maxYSpeed);
31 void initJumpBase(mVec3_c pos, int numFrames, float jumpSpeed);
32 bool procJumpBase();
33 void _initDemoJumpBaseCore(const mVec3_c &pos, int delay, int frames, float jumpSpeed, float startScale, float targetScale, const short &angY);
34 void _initDemoJumpBase(const mVec3_c &pos, int delay, int frames, float jumpSpeed, float startScale, float targetScale, const mVec3_c &dir);
35 bool _procDemoJumpBase();
36
37 void setDirection(const mVec3_c &dir);
38 void rotDirectionY(short angle, bool is3D);
39 void rotDirectionX(short angle, bool is3D);
40 bool checkArriveTargetXYZ(const mVec3_c &startPos, const mVec3_c &targetPos);
41 bool checkArriveTargetXZ(const mVec3_c &startPos, const mVec3_c &targetPos);
42
43 void CreateShadowModel(const char *arc, const char *path, const char *mdlName, bool param4);
44 void CalcShadow(float yOffs, float scaleX, float scaleY, float scaleZ);
45 void CalcShadow(float yOffs, float scale);
46 void DrawShadow(bool param1);
47
48 float GetBgPosY(const mVec3_c &startPos, const mVec3_c &targetPos, int directionType);
49 void CsSPosSimple(int directionType, float yTarget);
50 void clearSpeedAll();
51 void adjustHeightBase(const mVec3_c &startPos, const mVec3_c &targetPos, int directionType);
52 bool isCutscenePlaying(const int *csList, int csCount); ///< @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
bool isCutscenePlaying(const int *csList, int csCount)
virtual void setCutEndSpecific(int cutsceneId, bool param2)
virtual int execute()=0
do method for the execute operation.
virtual int draw()
do method for the draw operation.
virtual int doDelete()
do method for the delete operation.
virtual int GetActorType()
Gets the actor kind. See ACTOR_KIND_e.
virtual int create()
do method for the create operation.
static dBaseActor_c * GetChildDemoActor(dBaseActor_c *prev, dWmDemoActor_c *&next)
@ SUCCEEDED
The step was completed successfully.
Definition f_base.hpp:43