SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
NameObj.cpp
1#include "Game/NameObj/NameObj.hpp"
2#include "Game/NameObj/NameObjRegister.hpp"
3#include "Game/SingletonHolder.hpp"
4#include "Game/Util.hpp"
5
6NameObj::NameObj(const char *pName) {
7 mName = pName;
8 mFlags = 0;
9 mExecutorIdx = -1;
11}
12
13NameObj::~NameObj() {
14
15}
16
18
19}
20
21void NameObj::initAfterPlacement() {
22
23}
24
25void NameObj::movement() {
26
27}
28
29void NameObj::draw() const {
30
31}
32
33void NameObj::calcAnim() {
34
35}
36
37void NameObj::calcViewAndEntry() {
38
39}
40
42 JMapInfoIter iter;
43 iter.mInfo = 0;
44 iter._4 = -1;
45 init(iter);
46}
47
48void NameObj::setName(const char *pName) {
49 mName = pName;
50}
51
52void NameObj::executeMovement() {
53 if ((mFlags & 0x1) != 1) {
54 movement();
55 }
56}
57
58void NameObj::requestSuspend() {
59 u16 flag = (mFlags & 0x4);
60 if (flag == 0x4) {
61 mFlags &= ~0x4;
62 }
63 mFlags |= 2;
64}
65
66void NameObj::requestResume() {
67 u16 flag = (mFlags & 0x2);
68 if (flag == 0x2) {
69 mFlags &= ~0x2;
70 }
71 mFlags |= 4;
72}
73
74void NameObj::syncWithFlags() {
75 u16 flag = (mFlags & 0x2);
76 if (flag == 0x2) {
77 flag = mFlags;
78 flag &= ~0x2;
79 flag |= 0x1;
80 mFlags = flag;
81 }
82
83 flag = (mFlags & 0x4);
84 if (flag == 0x4) {
85 flag = mFlags & ~0x4;
86 mFlags = flag & ~0x1;
87 }
88}
89
90void NameObjFunction::requestMovementOn(NameObj *pObj) {
91 pObj->requestResume();
92 MR::notifyRequestNameObjMovementOnOff();
93}
94
95void NameObjFunction::requestMovementOff(NameObj *pObj) {
96 pObj->requestSuspend();
97 MR::notifyRequestNameObjMovementOnOff();
98}
The most basic form of an object.
Definition NameObj.hpp:11
volatile u16 mFlags
Flags in relation to movement.
Definition NameObj.hpp:39
void setName(const char *pName)
Sets the NameObj's mName.
Definition NameObj.cpp:48
void initWithoutIter()
Initializes a NameObj without a JMapInfoIter instance.
Definition NameObj.cpp:41
virtual void draw() const
Draws the object. Does nothing until overridden.
Definition NameObj.cpp:29
s16 mExecutorIdx
The index into the NameObjExecuteInfo array.
Definition NameObj.hpp:40
const char * mName
A string to identify the NameObj.
Definition NameObj.hpp:38
virtual void init(const JMapInfoIter &rIter)
Intializes the NameObj and can set various settings and construct necessary classes.
Definition NameObj.cpp:17
NameObj(const char *pName)
Constructs a new NameObj instance.
Definition NameObj.cpp:6