SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
RailMoveObj.hpp
1#pragma once
2
3#include "Game/MapObj/MapObjActor.hpp"
4#include "Game/Demo/DemoCtrlBase.hpp"
5
6namespace {
7 const char* cMoveBckName = "Move";
8};
9
10class RailMoveObj : public MapObjActor {
11public:
12 RailMoveObj(const char *);
13
14 virtual ~RailMoveObj() {
15
16 }
17
18 virtual void init(const JMapInfoIter &);
19 virtual void startClipped();
20 virtual void endClipped();
21 virtual bool receiveOtherMsg(u32, HitSensor *, HitSensor *);
22 virtual void initCaseUseSwitchB(const MapObjActorInitInfo &);
23 virtual void initCaseNoUseSwitchB(const MapObjActorInitInfo &);
24 virtual void setupInitInfo(const JMapInfoIter &, MapObjActorInitInfo *);
25 virtual bool tryStartMove();
26 virtual void startMoveInner();
27 virtual void move();
28 virtual void doAtEndPoint();
29 virtual bool endMove();
30 virtual TVec3f* getSoundCalcPos();
31
32 bool isMoving() const;
33 void exeWait();
34 void exeMove();
35
36 TVec3f _C4;
37 u8 _D0;
38};
39
41public:
42 RailMoveObjPress(const char *);
43
44 virtual ~RailMoveObjPress();
45 virtual void init(const JMapInfoIter &);
46};
47
49public:
50 RailMoveObjBreakAtEnd(const char *);
51
52 virtual ~RailMoveObjBreakAtEnd();
53 virtual void doAtEndPoint();
54};
55
57public:
58 virtual ~RailMoveIndirectObj();
59
60 virtual void connectToScene(const MapObjActorInitInfo &);
61};
62
64public:
65 inline RailMoveObjSwitchShadow(const char *pName) : RailMoveObj(pName) {
66
67 }
68
70 virtual void init(const JMapInfoIter &);
71 virtual void initCaseUseSwitchA(const MapObjActorInitInfo &);
72
73 void startOnShadow();
74};
75
77public:
78 RailDemoMoveObj(const char *);
79
80 virtual ~RailDemoMoveObj();
81 virtual void init(const JMapInfoIter &);
82 virtual bool tryStartMove();
83 virtual void startMoveInner();
84 virtual void move();
85 virtual bool endMove();
86
87 DemoCtrlBase* mDemoControl; // _D4
88};
89
91public:
92 RailRotateMoveObj(const char *);
93
94 virtual ~RailRotateMoveObj();
95 virtual bool receiveOtherMsg(u32, HitSensor *, HitSensor *);
96 virtual void initCaseUseSwitchB(const MapObjActorInitInfo &);
97 virtual void setupInitInfo(const JMapInfoIter &, MapObjActorInitInfo *);
98
99 bool tryStartRotateAtPoint();
100 bool tryStartRotateBetweenPoints();
101};
102
103namespace NrvRailMoveObj {
104 NERVE(HostTypeWait);
105 NERVE(HostTypeWaitForPlayerOn);
106 NERVE(HostTypeMove);
107 NERVE(HostTypeDone);
108};
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.