SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
CubeCamera.cpp
1#include "Game/AreaObj/CubeCamera.hpp"
2
3#include <cstring>
4
5CubeCameraArea::CubeCameraArea(int a1, const char *pName) : AreaObj(a1, pName) {
6 _3C = 0;
7 mZoneID = 0;
8}
9
10/*
11void CubeCameraArea::init(const JMapInfoIter &rIter) {
12 AreaObj::init(rIter);
13
14 JMapInfo* info = rIter.mInfo;
15
16 s32 inf = info->searchItemInfo("Validity");
17 bool retVal;
18 const char* valid;
19
20 if (inf >= 0) {
21 retVal = info->getValueFast(rIter._4, inf, &valid);
22 }
23 else {
24 retVal = false;
25 }
26
27 if (retVal) {
28 if (!strcmp(valid, "Invalid")) {
29 mValid = false;
30 }
31 }
32
33 if (isValidSwitchA()) {
34 mValid = false;
35 }
36
37 int r4 = 0;
38 bool r3 = false;
39
40 if (rIter.mInfo) {
41 if (rIter._4 >= 0) {
42 r3 = true;
43 }
44 }
45
46 if (r3) {
47
48 }
49}
50*/
51
52void CubeCameraArea::movement() {
53 bool val = false;
54
55 if (mValid && _15 && mAwake) {
56 val = true;
57 }
58
59 if (!val) {
60 if (isValidSwitchA()) {
61 if (isOnSwitchA()) {
62 mValid = true;
63 }
64 }
65 }
66 else {
67 if (isValidSwitchB()) {
68 if (isOnSwitchB()) {
69 mValid = false;
70 }
71 }
72 }
73}
74
75bool CubeCameraArea::isValidCameraID() const {
76 return mObjArg0 >= 0;
77}
78
79u16 CubeCameraArea::getCameraID() const {
80 return mObjArg0;
81}
82
83bool CubeCameraArea::isInVolume(const TVec3f &rVec) const {
84 bool ret = false;
85
86 if ((_3C & sCubeCategory)) {
87 if (AreaObj::isInVolume(rVec)) {
88 ret = true;
89 }
90 }
91
92 return ret;
93}
94
95void CubeCameraArea::setCurrentCategory(s32 category) {
96 sCubeCategory = 1 << category;
97}
98
99s32 CubeCameraArea::getCategoryArg() const {
100 return mObjArg3;
101}
102
103CubeCameraMgr::CubeCameraMgr(s32 type, const char *pName) : AreaObjMgr(type, pName) {
104 CubeCameraArea::sCubeCategory = 1;
105}
106
107void CubeCameraMgr::initAfterLoad() {
108 sort();
109}
110
111// CubeCameraMgr::sort
112
113CubeCameraMgr::~CubeCameraMgr() {
114
115}