SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
MultiSceneActor.hpp
1#pragma once
2
3#include "Game/Effect/EffectSystem.hpp"
4#include "Game/NameObj/NameObj.hpp"
5#include "Game/LiveActor/ModelManager.hpp"
6#include "Game/Scene/MultiSceneEffectKeeper.hpp"
7#include <JSystem/JGeometry/TVec.hpp>
8
9class Nerve;
10class Spine;
11
12class MultiSceneActor : public NameObj {
13public:
14 MultiSceneActor(const char *, const char *, bool);
15
16 virtual ~MultiSceneActor() {
17
18 }
19
20 virtual void init(const JMapInfoIter &);
21 virtual void movement();
22 virtual void calcAnim();
23 virtual void calcViewAndEntry();
24 virtual void appear();
25 virtual void kill();
26 virtual void control();
27
28 void initEffect(EffectSystem *, int, const char *);
29 void setNerve(const Nerve *);
30 bool isNerve(const Nerve *) const;
31 void initNerve(const Nerve *);
32
33 TVec3f mTranslation; // _C
34 TVec3f mRotation; // _18
35 TVec3f mScale; // _24
36 bool _30;
37 ModelManager* mModelMgr; // _34
38 EffectSystem* mEffectSystem; // _38
39 MultiSceneEffectKeeper* mEffectKeeper; // _3C
40 Spine* mNerve; // _40
41};
42
44public:
45 static void startBck(MultiSceneActor *, const char *);
46 static void startBtk(MultiSceneActor *, const char *);
47 static void startBtp(MultiSceneActor *, const char *);
48 static void startBva(MultiSceneActor *, const char *);
49 static void setBtpFrameAndStop(MultiSceneActor *, f32);
50 static void setBvaFrameAndStop(MultiSceneActor *, f32);
51 static bool isBckStopped(MultiSceneActor *);
52 static bool isStep(const MultiSceneActor *, s32);
53 static bool isFirstStep(const MultiSceneActor *);
54 static bool isGreaterStep(const MultiSceneActor *, s32);
55 static bool isLessStep(const MultiSceneActor *, s32);
56 static bool isLessEqualStep(const MultiSceneActor *, s32);
57 static void setNerveAtStep(MultiSceneActor *, const Nerve *, s32);
58 static void setNerveAtBckStopped(MultiSceneActor *, const Nerve *);
59 static f32 calcNerveRate(const MultiSceneActor *, s32);
60 static f32 calcNerveRate(const MultiSceneActor *, s32, s32);
61 static f32 calcNerveEaseOutRate(const MultiSceneActor *, s32);
62 static f32 calcNerveValue(const MultiSceneActor *, s32, f32, f32);
63 static void emitEffect(const MultiSceneActor *, const char *);
64 static void deleteEffectAll(const MultiSceneActor *);
65 static void forceDeleteEffectAll(const MultiSceneActor *);
66 static MtxPtr getJointMtx(const MultiSceneActor *, const char *);
67};
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
The most basic form of an object.
Definition NameObj.hpp:11
Used for executing states of a LiveActor.
Definition Nerve.hpp:6
Definition Spine.hpp:9