SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
SpaceInner.cpp
1#include "Game/Map/SpaceInner.hpp"
2#include "Game/Util.hpp"
3
4NrvSpaceInner::HostTypeAppear NrvSpaceInner::HostTypeAppear::sInstance;
5NrvSpaceInner::HostTypeDisappear NrvSpaceInner::HostTypeDisappear::sInstance;
6
7SpaceInner::SpaceInner(const char *pName) : LiveActor(pName) {
8
9}
10
11void SpaceInner::init(const JMapInfoIter &rIter) {
12 MR::initDefaultPos(this, rIter);
13 initModelManagerWithAnm("SpaceInner", 0, false);
14 MR::connectToSceneSky(this);
15 initNerve(&NrvSpaceInner::HostTypeAppear::sInstance);
16 MR::invalidateClipping(this);
17 MR::registerDemoSimpleCastAll(this);
18 makeActorDead();
19}
20
21void SpaceInner::calcAnim() {
22 TVec3f pos = MR::getCamPos();
23 mPosition.x = pos.x;
24 mPosition.y = pos.y;
25 mPosition.z = pos.z;
26 LiveActor::calcAnim();
27}
28
29void SpaceInner::appear() {
30 LiveActor::appear();
31 MR::startBrk(this, "Appear");
32 setNerve(&NrvSpaceInner::HostTypeAppear::sInstance);
33}
34
35void SpaceInner::disappear() {
36 MR::startBrk(this, "Disappear");
37 setNerve(&NrvSpaceInner::HostTypeDisappear::sInstance);
38}
39
40bool SpaceInner::isAppeared() const {
41 if (isNerve(&NrvSpaceInner::HostTypeAppear::sInstance)) {
42 return MR::isBrkStopped(this);
43 }
44
45 return false;
46}
47
48SpaceInner::~SpaceInner() {
49
50}
51
52namespace NrvSpaceInner {
53 void HostTypeDisappear::execute(Spine *pSpine) const {
54 SpaceInner* actor = reinterpret_cast<SpaceInner*>(pSpine->mExecutor);
55 if (MR::isBrkStopped(actor)) {
56 actor->kill();
57 }
58 }
59
60 void HostTypeAppear::execute(Spine *pSpine) const {
61
62 }
63};
The basis of a drawable actor that can contain states (see: Nerve)
Definition LiveActor.hpp:24
TVec3f mPosition
3D vector of the actor's position.
Definition LiveActor.hpp:95
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
Definition Spine.hpp:9