SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
ObjUtil.hpp
1#pragma once
2
3#include "Game/Util/Functor.hpp"
4#include <JSystem/JGeometry/TVec.hpp>
5
6class NameObj;
7class LayoutActor;
8class LiveActor;
9class JMapInfo;
10class ResourceHolder;
11class StageSwitchCtrl;
12
13class ResTIMG;
14
15namespace MR {
16 void connectToScene(NameObj *, int, int, int, int);
17 void connectToSceneCollisionMapObj(LiveActor *);
18 void connectToSceneCollisionMapObjMovementCalcAnim(LiveActor *);
19 void connectToSceneCollisionMapObjWeakLight(LiveActor *);
20 void connectToSceneCollisionMapObjStrongLight(LiveActor *);
21 void connectToSceneCollisionEnemy(LiveActor *);
22 void connectToSceneCollisionEnemyMovement(NameObj *);
23 void connectToSceneCollisionEnemyStrongLight(LiveActor *);
24 void connectToSceneCollisionEnemyNoShadowedMapObjStrongLight(LiveActor *);
25 void connectToSceneNpc(LiveActor *);
26 void connectToSceneNpcMovement(LiveActor *);
27 void connectToSceneRide(LiveActor *);
28 void connectToSceneEnemy(LiveActor *);
29 void connectToSceneEnemyMovement(NameObj *);
30 void connectToSceneMapObj(LiveActor *);
31 void connectToSceneMapObjMovement(NameObj *);
32 void connectToSceneMapObjMovementCalcAnim(NameObj *);
33 void connectToSceneMapObjNoMovement(LiveActor *);
34 void connectToSceneMapObjNoCalcAnim(LiveActor *);
35 void connectToSceneMapObjNoCalcAnimStrongLight(LiveActor *);
36 void connectToSceneMapObjDecoration(LiveActor *);
37 void connectToSceneMapObjDecorationStrongLight(LiveActor *);
38 void connectToSceneMapObjDecorationMovement(NameObj *);
39 void connectToSceneMapObjStrongLight(LiveActor *);
40 void connectToSceneMapParts(LiveActor *);
41 void connectToScenePlanet(LiveActor *);
42 void connectToSceneEnvironment(LiveActor *);
43 void connectToSceneEnvironmentStrongLight(LiveActor *);
44 void connectToClippedMapParts(LiveActor *);
45 void connectToSceneEnemyDecoration(LiveActor *);
46 void connectToSceneItem(LiveActor *);
47 void connectToSceneItemStrongLight(LiveActor *);
48 void connectToSceneIndirectEnemy(LiveActor *);
49 void connectToSceneIndirectNpc(LiveActor *);
50 void connectToSceneIndirectMapObj(LiveActor *);
51 void connectToSceneIndirectMapObjStrongLight(LiveActor *);
52 void connectToSceneAreaObj(NameObj *);
53
54 void connectToSceneSun(LiveActor *);
55
56 void connectToSceneNoSilhouettedMapObjStrongLight(LiveActor *);
57
58 void connectToSceneLayout(NameObj *);
59 void connectToSceneLayoutOnPause(NameObj *);
60
61 void connectToSceneTalkLayout(NameObj *);
62
63 void connectToSceneCamera(NameObj *);
64
65 void connectToSceneAir(LiveActor *);
66
67 void connectToSceneAreaObj(NameObj *);
68
69 void connectToSceneMirrorMapObj(LiveActor *);
70
71 void connectToSceneSky(LiveActor *);
72
73 void connectToSceneNoSilhouettedMapObj(LiveActor *);
74
75 void connectToSceneNoSilhouettedMapObjWeakLightNoMovement(LiveActor *);
76
77 void connectToSceneCrystal(LiveActor *);
78
79 void connectToSceneMirrorMapObjNoMovement(LiveActor *);
80
81 void connectToSceneMirrorMapObjDecoration(LiveActor *);
82
83 void connectToSceneNoShadowedMapObjStrongLight(LiveActor *);
84
85 bool isName(const NameObj *, const char *);
86 bool isSame(const NameObj *, const NameObj *);
87
88 bool isStageStateScenarioOpeningCamera();
89
90 void requestMovementOn(NameObj *);
91 void requestMovementOff(NameObj *);
92
93 const JMapInfo* createCsvParser(const char *, const char *, ...);
94 const JMapInfo* tryCreateCsvParser(const ResourceHolder *, const char *, ...);
95 const JMapInfo* tryCreateCsvParser(const LiveActor *, const char *, ...);
96 s32 getCsvDataElementNum(const JMapInfo *);
97
98 void getCsvDataStr(const char **, const JMapInfo *, const char *, s32) NO_INLINE;
99 void getCsvDataStrOrNULL(const char **, const JMapInfo *, const char *, s32);
100 void getCsvDataS32(s32 *, const JMapInfo *, const char *, s32);
101 void getCsvDataU8(u8 *, const JMapInfo *, const char *, s32);
102 void getCsvDataF32(f32 *, const JMapInfo *, const char *, s32);
103 void getCsvDataBool(bool *, const JMapInfo *, const char *, s32);
104 void getCsvDataVec(Vec *, const JMapInfo *, const char *, s32);
105 void getCsvDataColor(GXColor *, const JMapInfo *, const char *, s32);
106
107 ResourceHolder* createAndAddResourceHolder(const char *);
108
109 void listenNameObjStageSwitchOnAppear(const NameObj *, const StageSwitchCtrl *, const MR::FunctorBase &);
110 void listenNameObjStageSwitchOnOffAppear(const NameObj *, const StageSwitchCtrl *, const MR::FunctorBase &, const MR::FunctorBase &);
111
112 void listenNameObjStageSwitchOnOffA(const NameObj *, const StageSwitchCtrl *, const MR::FunctorBase &, const MR::FunctorBase &);
113
114 void listenNameObjStageSwitchOnB(const NameObj *, const StageSwitchCtrl *, const MR::FunctorBase &);
115
116 void requestMovementOn(LiveActor *);
117
118 void requestMovementOn(LayoutActor *);
119
120 void registerPreDrawFunction(const MR::FunctorBase &, int);
121
122 bool isJudgedToClipFrustum(const TVec3f &, f32);
123 bool isJudgedToClipFrustum100m(const TVec3f &, f32);
124 bool isJudgedToClipFrustum300m(const TVec3f &, f32);
125
126 bool tryRumblePad(const void *, const char *, s32);
127 bool tryRumblePadVeryStrongLong(const void *, s32);
128 bool tryRumblePadWeak(const void *, s32);
129 bool tryRumblePadVeryWeak(const void *, s32);
130 bool tryRumblePadMiddle(const void *, s32);
131 bool tryRumblePadStrong(const void *, s32);
132 bool tryRumblePadVeryStrong(const void *, s32);
133
134 bool tryRumbleDefaultHit(const void *, s32);
135
136 void declareCoin(const NameObj *, s32);
137 s32 getDeclareRemnantCoinCount(const NameObj *);
138 void hopCoin(const NameObj *, const TVec3f &, const TVec3f &);
139 void appearCoinFix(const NameObj *, const TVec3f &, s32);
140
141 void appearCoinPop(const NameObj *, const TVec3f &, s32);
142 void appearCoinPopToDirection(const NameObj *, const TVec3f &, const TVec3f &, s32);
143
144 void appearCoinToVelocity(const NameObj *, const TVec3f &, const TVec3f &, s32);
145
146 void appearCoinCircle(const NameObj *, const TVec3f &, s32);
147
148 void declareStarPiece(const NameObj *, s32);
149 s32 getDeclareRemnantStarPieceCount(const NameObj *);
150 s32 getDeclareRemnantStarPieceCountNotExist(const NameObj *);
151 void declareStarPieceReceiver(const NameObj *, s32);
152 void clearGotCountStarPieceReceiver(const NameObj *);
153 void hopStarPiece(const NameObj *, const TVec3f &, const TVec3f &);
154 bool appearStarPiece(const NameObj *, const TVec3f &, s32, f32, f32, bool);
155 void appearStarPieceToDirection(const NameObj *, const TVec3f &, const TVec3f &, s32, f32, f32, bool);
156
157 void declarePowerStar(const NameObj *);
158 void declarePowerStar(const NameObj *, s32);
159 void declarePowerStarCoin100();
160 void appearPowerStarContinueCurrentDemo(const NameObj *, const TVec3f &);
161 void appearPowerStarWithoutDemo(const NameObj *);
162 void requestAppearPowerStar(const NameObj *);
163 void requestAppearPowerStar(const NameObj *, const TVec3f &);
164 void requestAppearPowerStar(const NameObj *, s32, const TVec3f &);
165 void requestAppearPowerStar(const NameObj *, const LiveActor *, f32);
166
167 void shakeCameraWeak();
168 void shakeCameraNormal();
169 void shakeCameraStrong();
170 void shakeCameraVeryStrong();
171 void shakeCameraInfinity(NameObj *, f32, f32);
172
173 void stopShakingCamera(NameObj *);
174
175 void findNamePos(const char *, TVec3f *, TVec3f *);
176
177 bool isInWater(const TVec3f &);
178 bool isInDeath(const TVec3f &);
179 bool isInDarkMatter(const TVec3f &);
180
181 void stopScene(s32);
182 void stopSceneForDefaultHit(s32);
183
184 const ResTIMG* loadTexFromArc(const char *, const char *);
185
186 void joinToNameObjGroup(NameObj *, const char *);
187
188 bool isEndPowerStarAppearDemo(const NameObj *);
189
190 bool tryRegisterNamePosLinkObj(const NameObj *, const JMapInfoIter &);
191
192 bool tryFindNamePos(const char *, TVec3f *, TVec3f *);
193 bool tryFindLinkNamePos(const NameObj *, const char *, MtxPtr);
194};
The basis of a drawable actor that can contain states (see: Nerve)
Definition LiveActor.hpp:24
The most basic form of an object.
Definition NameObj.hpp:11