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(int *csList, int csCount); ///< @unofficial
53
54private:
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 void setCutEndSpecific(int cutsceneId, bool param2)
virtual int execute()=0
do method for the execute operation.
bool isCutscenePlaying(int *csList, int csCount)
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:40