SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
ActorSensorUtil.hpp
1#pragma once
2
3#include "JSystem/JGeometry/TVec.hpp"
4#include <revolution.h>
5
6class LiveActor;
7class HitSensor;
8
9namespace MR {
10 HitSensor* addHitSensor(LiveActor *, const char *, u32, u16, f32, const TVec3f &);
11 HitSensor* addHitSensorBinder(LiveActor *, const char *, u16, f32, const TVec3f &);
12 HitSensor* addHitSensorTransferableBinder(LiveActor *, const char *, u16, f32, const TVec3f &);
13 HitSensor* addHitSensorPriorBinder(LiveActor *, const char *, u16, f32, const TVec3f &);
14 HitSensor* addHitSensorRide(LiveActor *, const char *, u16, f32, const TVec3f &);
15 HitSensor* addHitSensorMapObj(LiveActor *, const char *, u16, f32, const TVec3f &);
16 HitSensor* addHitSensorMapObjPress(LiveActor *, const char *, u16, f32, const TVec3f &);
17 HitSensor* addHitSensorMapObjSimple(LiveActor *, const char *, u16, f32, const TVec3f &);
18 HitSensor* addHitSensorMapObjMoveCollision(LiveActor *, const char *, u16, f32, const TVec3f &);
19 HitSensor* addHitSensorEnemy(LiveActor *, const char *, u16, f32, const TVec3f &);
20 HitSensor* addHitSensorEnemySimple(LiveActor *, const char *, u16, f32, const TVec3f &);
21 HitSensor* addHitSensorEnemyAttack(LiveActor *, const char *, u16, f32, const TVec3f &);
22 HitSensor* addHitSensorNpc(LiveActor *, const char *, u16, f32, const TVec3f &);
23 HitSensor* addHitSensorEye(LiveActor *, const char *, u16, f32, const TVec3f &);
24 HitSensor* addHitSensorPush(LiveActor *, const char *, u16, f32, const TVec3f &);
25 HitSensor* addHitSensorPosBinder(LiveActor *, const char *, u16, f32, const TVec3f *, const TVec3f &);
26 HitSensor* addHitSensorPosRide(LiveActor *, const char *, u16, f32, const TVec3f *, const TVec3f &);
27 HitSensor* addHitSensorPosMapObj(LiveActor *, const char *, u16, f32, const TVec3f *, const TVec3f &);
28 HitSensor* addHitSensorPosEye(LiveActor *, const char *, u16, f32, const TVec3f *, const TVec3f &);
29 HitSensor* addHitSensorMtx(LiveActor *, const char *, u32, u16, f32, MtxPtr, const TVec3f &);
30 HitSensor* addHitSensorMtxRide(LiveActor *, const char *, u16, f32, MtxPtr, const TVec3f &);
31 HitSensor* addHitSensorMtxMapObj(LiveActor *, const char *, u16, f32, MtxPtr, const TVec3f &);
32 HitSensor* addHitSensorMtxEnemy(LiveActor *, const char *, u16, f32, MtxPtr, const TVec3f &);
33 HitSensor* addHitSensorMtxEnemyAttack(LiveActor *, const char *, u16, f32, MtxPtr, const TVec3f &);
34 HitSensor* addHitSensorMtxNpc(LiveActor *, const char *, u16, f32, MtxPtr, const TVec3f &);
35 HitSensor* addHitSensorMtxAnimal(LiveActor *, const char *, u16, f32, MtxPtr, const TVec3f &);
36 HitSensor* addHitSensorAtJoint(LiveActor *, const char *, const char *, u32, u16, f32, const TVec3f &);
37 HitSensor* addHitSensorAtJointRide(LiveActor *, const char *, const char *, u16, f32, const TVec3f &);
38 HitSensor* addHitSensorAtJointMapObj(LiveActor *, const char *, const char *, u16, f32, const TVec3f &);
39 HitSensor* addHitSensorAtJointMapObjSimple(LiveActor *, const char *, const char *, u16, f32, const TVec3f &);
40 HitSensor* addHitSensorAtJointEnemy(LiveActor *, const char *, const char *, u16, f32, const TVec3f &);
41 HitSensor* addHitSensorAtJointEnemySimple(LiveActor *, const char *, const char *, u16, f32, const TVec3f &);
42 HitSensor* addHitSensorAtJointEnemyAttack(LiveActor *, const char *, const char *, u16, f32, const TVec3f &);
43 HitSensor* addHitSensorAtJointNpc(LiveActor *, const char *, const char *, u16, f32, const TVec3f &);
44 HitSensor* addHitSensorAtJointEye(LiveActor *, const char *, const char *, u16, f32, const TVec3f &);
45 HitSensor* addHitSensorCallback(LiveActor *, const char *, u32, u16, f32);
46 HitSensor* addHitSensorCallbackBinder(LiveActor *, const char *, u16, f32);
47 HitSensor* addHitSensorCallbackPriorBinder(LiveActor *, const char *, u16, f32);
48 HitSensor* addHitSensorCallbackRide(LiveActor *, const char *, u16, f32);
49 HitSensor* addHitSensorCallbackMapObj(LiveActor *, const char *, u16, f32);
50 HitSensor* addHitSensorCallbackMapObjSimple(LiveActor *, const char *, u16, f32);
51 HitSensor* addHitSensorCallbackEnemy(LiveActor *, const char *, u16, f32);
52 HitSensor* addHitSensorCallbackEnemyAttack(LiveActor *, const char *, u16, f32);
53 HitSensor* addHitSensorCallbackEye(LiveActor *, const char *, u16, f32);
54
55 void addBodyMessageSensorMapObj(LiveActor *);
56 void addBodyMessageSensor(LiveActor *, u32);
57 HitSensor* addBodyMessageSensorMapObjMoveCollision(LiveActor *);
58 HitSensor* addBodyMessageSensorReceiver(LiveActor *);
59
60 HitSensor* addMessageSensorMapObjMoveCollision(LiveActor *, const char *);
61
62 LiveActor* getSensorHost(const HitSensor *);
63 bool isSensor(const HitSensor *, const char *);
64 bool isSensorPlayer(const HitSensor *);
65 bool isSensorBinder(const HitSensor *);
66 bool isSensorRide(const HitSensor *);
67
68 bool isSensorPlayerOrRide(const HitSensor *);
69
70 bool isSensorEnemyAttack(const HitSensor *);
71
72 bool isMsgLockOnStarPieceShoot(u32);
73
74 bool isMsgHitmarkEmit(u32);
75 bool isMsgStarPieceAttack(u32);
76 bool isMsgStarPieceReflect(u32);
77
78 bool isMsgEnemyAttackFire(u32);
79 bool isMsgEnemyAttackFireStrong(u32);
80
81 bool isMsgToEnemyAttackBlow(u32);
82 bool isMsgToEnemyAttackTrample(u32);
83
84 bool isMsgFloorTouch(u32);
85
86 bool isSensorEnemy(const HitSensor *);
87
88 bool isSensorMapObj(const HitSensor *);
89 bool isSensorAutoRush(const HitSensor *);
90 bool isSensorRush(const HitSensor *);
91 bool isSensorPressObj(const HitSensor *);
92 bool isSensorEye(const HitSensor *);
93 bool isSensorPush(const HitSensor *);
94 bool isSensorItem(const HitSensor *);
95 bool tryGetItem(HitSensor *, HitSensor *);
96 TVec3f* getSensorPos(const HitSensor *);
97
98 void validateHitSensors(LiveActor *);
99 void invalidateHitSensors(LiveActor *);
100
101 void calcSensorDirection(TVec3f *, const HitSensor *, const HitSensor *);
102
103 void calcSensorDirectionNormalize(TVec3f *, const HitSensor *, const HitSensor *);
104 void calcSensorHorizonNormalize(TVec3f *, const TVec3f &, const HitSensor *, const HitSensor *);
105
106 bool sendArbitraryMsg(u32, HitSensor *, HitSensor *);
107 bool sendMsgPush(HitSensor *, HitSensor *);
108 bool sendMsgPlayerTrample(HitSensor *, HitSensor *);
109 bool sendMsgPlayerPunch(HitSensor *, HitSensor *);
110 bool sendMsgJump(HitSensor *, HitSensor *);
111 bool sendMsgTouchJump(HitSensor *, HitSensor *);
112 bool sendMsgTaken(HitSensor *, HitSensor *);
113 bool sendMsgKick(HitSensor *, HitSensor *);
114 bool sendMsgAwayJump(HitSensor *, HitSensor *);
115 bool sendMsgEnemyAttackMsgToDir(u32, HitSensor *, HitSensor *, const TVec3f &);
116 bool sendMsgEnemyAttackFlipWeak(HitSensor *, HitSensor *);
117 bool sendMsgEnemyAttackFlipWeakJump(HitSensor *, HitSensor *);
118 bool sendMsgEnemyAttackFlip(HitSensor *, HitSensor *);
119 bool sendMsgEnemyAttackFlipToDir(HitSensor *, HitSensor *, const TVec3f &);
120 bool sendMsgEnemyAttackFlipJump(HitSensor *, HitSensor *);
121 bool sendMsgEnemyAttackFlipRot(HitSensor *, HitSensor *);
122 bool sendMsgEnemyAttackFlipMaximum(HitSensor *, HitSensor *);
123 bool sendMsgEnemyAttackFlipMaximumToDir(HitSensor *, HitSensor *, const TVec3f &);
124 bool sendMsgEnemyAttack(HitSensor *, HitSensor *);
125 bool sendMsgEnemyAttackStrong(HitSensor *, HitSensor *);
126 bool sendMsgEnemyAttackStringToDir(HitSensor *, HitSensor *, const TVec3f &);
127 bool sendMsgEnemyAttackFire(HitSensor *, HitSensor *);
128 bool sendMsgEnemyAttackFireStrong(HitSensor *, HitSensor *);
129 bool sendMsgEnemyAttackElectric(HitSensor *, HitSensor *);
130 bool sendMsgEnemyAttackFreeze(HitSensor *, HitSensor *);
131 bool sendMsgEnemyAttackHeatBeam(HitSensor *, HitSensor *);
132 bool sendMsgEnemyAttackExplosion(HitSensor *, HitSensor *);
133 bool sendMsgEnemyAttackCounterSpin(HitSensor *, HitSensor *);
134 bool sendMsgEnemyAttackCounterHipDrop(HitSensor *, HitSensor *);
135 bool sendMsgLockOnStarPieceShoot(HitSensor *, HitSensor *);
136 bool sendMsgStarPieceAttack(HitSensor *, HitSensor *);
137 bool sendMsgStarPieceGift(HitSensor *, HitSensor *, u32);
138 bool sendMsgEnemyAttackMaximum(HitSensor *, HitSensor *);
139 bool sendMsgEnemyAttackMaximumToDir(HitSensor *, HitSensor *, const TVec3f &);
140
141 bool sendMsgEnemyAttackExplosionToBindedSensor(LiveActor *, HitSensor *);
142
143 bool sendMsgEnemyAttackToBindedSensor(LiveActor *, HitSensor *);
144
145 bool sendMsgToEnemyAttackBlow(HitSensor *, HitSensor *);
146
147 void sendMsgToGroupMember(u32, LiveActor *, HitSensor *, const char *);
148
149 bool isMsgPlayerHitAll(u32);
150 bool isMsgPlayerSpinAttack(u32);
151 bool isMsgPlayerTrample(u32);
152 bool isMsgPlayerHipDrop(u32);
153 bool isMsgPlayerHipDropFloor(u32);
154 bool isMsgPlayerUpperPunch(u32);
155 bool isMsgPlayerKick(u32);
156 bool isMsgJetTurtleAttack(u32);
157
158 bool isMsgItemGet(u32);
159 bool isMsgItemPull(u32);
160 bool isMsgItemShow(u32);
161 bool isMsgItemHide(u32);
162 bool isMsgItemStartMove(u32);
163 bool isMsgItemEndMove(u32);
164 bool isMsgInhaleBlackHole(u32);
165
166 bool isMsgInvincibleAttack(u32);
167
168 bool isMsgFireBallAttack(u32);
169
170 bool isMsgSpinStormRange(u32);
171
172 bool isMsgAutoRushBegin(u32);
173
174 bool isMsgExplosionAttack(u32);
175
176 bool isMsgUpdateBaseMtx(u32);
177
178 bool receiveItemShowMsg(u32, HitSensor *, HitSensor *);
179 bool receiveItemHideMsg(u32, HitSensor *, HitSensor *);
180
181 void updateHitSensorsAll(LiveActor *);
182
183 void setHitSensorApart(HitSensor *, HitSensor *);
184
185 bool tryUpdateHitSensorsAll(LiveActor *);
186
187 void clearHitSensors(LiveActor *);
188
189 HitSensor* getGroundSensor(const LiveActor *);
190 HitSensor* getRoofSensor(const LiveActor *);
191 HitSensor* getWallSensor(const LiveActor *);
192
193 void setSensorRadius(LiveActor *, const char *, f32);
194
195 void setSensorOffset(LiveActor *, const char *, const TVec3f &);
196
197 void validateHitSensor(LiveActor *, const char *);
198 void invalidateHitSensor(LiveActor *, const char *);
199};
The basis of a drawable actor that can contain states (see: Nerve)
Definition LiveActor.hpp:24