3#include "JSystem/JGeometry/TVec.hpp"
4#include "Game/Animation/AnmPlayer.hpp"
5#include "Game/Util/JMapInfo.hpp"
26 enum CollisionScaleType {
33 bool isExistIndirectTexture(
const LiveActor *);
35 bool isAnyAnimStopped(
const LiveActor *,
const char *);
39 void setClippingTypeSphere(
LiveActor *, f32);
40 void setClippingTypeSphere(
LiveActor *, f32,
const TVec3f *);
44 void startBtk(
const LiveActor *,
const char *);
46 void setBaseScale(
LiveActor *,
const TVec3f &);
58 bool isValidCalcViewAndEntry(
const LiveActor *);
64 bool isInvalidClipping(
const LiveActor *);
85 bool isNoEntryDrawBuffer(
const LiveActor *);
93 const char* getModelResName(
const LiveActor *);
103 void calcGravity(
LiveActor *,
const TVec3f &);
105 void offCalcShadow(
LiveActor *,
const char *);
112 void initLightCtrlForPlayer(
LiveActor *);
113 void initLightCtrlNoDrawEnemy(
LiveActor *);
114 void initLightCtrlNoDrawMapObj(
LiveActor *);
118 void calcLightPos0(TVec3f *,
const LiveActor *);
119 void calcLightPos1(TVec3f *,
const LiveActor *);
120 const GXColor* getLightAmbientColor(
const LiveActor *);
125 bool isLessEqualStep(
const LiveActor *, s32);
126 bool isGreaterStep(
const LiveActor *, s32);
127 bool isGreaterEqualStep(
const LiveActor *, s32);
128 bool isIntervalStep(
const LiveActor *, s32);
130 f32 calcNerveRate(
const LiveActor *, s32);
131 f32 calcNerveRate(
const LiveActor *, s32, s32);
132 f32 calcNerveEaseInRate(
const LiveActor *, s32);
133 f32 calcNerveEaseOutRate(
const LiveActor *, s32);
134 f32 calcNerveEaseOutRate(
const LiveActor *, s32, s32);
135 f32 calcNerveEaseInOutRate(
const LiveActor *, s32);
136 f32 calcNerveEaseInOutRate(
const LiveActor *, s32, s32);
137 f32 calcNerveValue(
const LiveActor *, s32, f32, f32);
138 f32 calcNerveValue(
const LiveActor *, s32, s32, f32, f32);
139 f32 calcNerveEaseInValue(
const LiveActor *, s32, f32, f32);
140 f32 calcNerveEaseInValue(
const LiveActor *, s32, s32, f32, f32);
141 f32 calcNerveEaseOutValue(
const LiveActor *, s32, f32, f32);
142 f32 calcNerveEaseInOutValue(
const LiveActor *, s32, f32, f32);
143 f32 calcNerveEaseInOutValue(
const LiveActor *, s32, s32, f32, f32);
152 void initCollisionPartsAutoEqualScale(
LiveActor *,
const char *,
HitSensor *, MtxPtr);
155 void setBaseTRMtx(
LiveActor *,
const TPos3f &);
160 void setClippingTypeSphereContainsModelBoundingBox(
LiveActor *, f32);
162 void validateCollisionParts(
LiveActor *);
165 void invalidateCollisionParts(
LiveActor *);
168 void offUpdateCollisionParts(
LiveActor *);
170 void onUpdateCollisionPartsOnetimeImmediately(
LiveActor *);
172 bool isExistCollisionParts(
const LiveActor *);
176 void startAllAnim(
const LiveActor *,
const char *);
177 bool tryStartAllAnim(
const LiveActor *,
const char *);
179 bool isAnyAnimOneTimeAndStopped(
const LiveActor *,
const char *);
181 bool isBrkOneTimeAndStopped(
const LiveActor *);
183 void setAllAnimFrame(
const LiveActor *,
const char *, f32);
184 void setAllAnimFrameAtEnd(
const LiveActor *,
const char *);
186 void startBck(
const LiveActor *,
const char *,
const char *);
187 void startBckNoInterpole(
const LiveActor *,
const char *);
188 void startBckWithInterpole(
const LiveActor *,
const char *, s32);
189 void startBrk(
const LiveActor *,
const char *);
190 void startBva(
const LiveActor *,
const char *);
191 void setBvaFrameAndStop(
const LiveActor *, f32);
193 J3DFrameCtrl* getBrkCtrl(
const LiveActor *);
194 J3DFrameCtrl* getBtkCtrl(
const LiveActor *);
195 J3DFrameCtrl* getBpkCtrl(
const LiveActor *);
196 J3DFrameCtrl* getBtpCtrl(
const LiveActor *);
198 void startBrkAndSetFrameAndStop(
const LiveActor *,
const char *, f32);
199 bool tryStartBck(
const LiveActor *,
const char *,
const char *);
207 void setBckFrameAndStop(
const LiveActor *, f32);
209 s16 getBrkFrameMax(
const LiveActor *,
const char *);
212 void setBtkFrameAndStop(
const LiveActor *, f32);
214 bool isExistBck(
const LiveActor *,
const char *);
215 bool isExistBva(
const LiveActor *,
const char *);
216 bool isExistBtk(
const LiveActor *,
const char *);
217 bool isExistBpk(
const LiveActor *,
const char *);
218 bool isExistBtp(
const LiveActor *,
const char *);
219 bool isExistBrk(
const LiveActor *,
const char *);
221 bool isBckPlaying(
const LiveActor *,
const char *);
229 bool isBckOneTimeAndStopped(
const LiveActor *);
232 void setBrkFrame(
const LiveActor *, f32);
233 void setBrkFrameAndStop(
const LiveActor *, f32);
234 void setBrkFrameEndAndStop(
const LiveActor *);
236 void setBckFrameAtRandom(
const LiveActor *);
238 void setBaseTRMtx(
LiveActor *,
const TPos3f &);
240 void setBpkFrame(
const LiveActor *, f32);
243 void startBtp(
const LiveActor *,
const char *);
244 void setBtpFrame(
const LiveActor *, f32);
245 void setBtpFrameAndStop(
const LiveActor *, f32);
247 void startBpk(
const LiveActor *,
const char *);
253 ModelObj* createModelObjMapObj(
const char *,
const char *, MtxPtr);
254 ModelObj* createModelObjMapObjStrongLight(
const char *,
const char *, MtxPtr);
255 ModelObj* createModelObjIndirectMapObj(
const char *,
const char *, MtxPtr);
256 ModelObj* createModelObjNoSilhouettedMapObj(
const char *,
const char *, MtxPtr);
257 ModelObj* createModelObjNpc(
const char *,
const char *, MtxPtr);
261 void callAppearAllGroupMember(
const LiveActor *);
262 void callMakeActorDeadAllGroupMember(
const LiveActor *);
263 void callRequestMovementOnAllGroupMember(
const LiveActor *);
267 PartsModel* createPartsModelNoSilhouettedMapObj(
LiveActor *,
const char *,
const char *, MtxPtr);
269 void startAction(
const LiveActor *,
const char *);
274 bool changeShowModelFlagSyncNearClipping(
LiveActor *, f32);
276 void hideModelAndOnCalcAnimIfShown(
LiveActor *);
278 bool tryCreateMirrorActor(
LiveActor *,
const char *);
287 bool isBindedGroundIce(
const LiveActor *);
288 bool isBindedGroundWater(
const LiveActor *);
292 void setMirrorReflectionInfoFromModel(
LiveActor *);
297 bool isPressedRoofAndGround(
const LiveActor *);
299 TVec3f* getRoofNormal(
const LiveActor *);
300 TVec3f* getWallNormal(
const LiveActor *);
301 TVec3f* getGroundNormal(
const LiveActor *);
303 void setBinderExceptSensorType(
LiveActor *,
const TVec3f *, f32);
305 void setBinderOffsetVec(
LiveActor *,
const TVec3f *,
bool);
312 f32 getCollisionBoundingSphereRange(
const LiveActor *);
314 bool isExistAnim(
const LiveActor *,
const char *);
316 void setMirrorReflectionInfoFromMtxYUp(
const TPos3f &);
318 const char* createLowModelObjName(
const LiveActor *);
319 const char* createMiddleModelObjName(
const LiveActor *);
321 void addToAttributeGroupSearchTurtle(
const LiveActor *);
323 void stopSceneAtStep(
const LiveActor *, s32, s32);
325 void initJointTransform(
const LiveActor *);
327 void initCollisionPartsAutoEqualScaleOne(
LiveActor *,
const char *,
HitSensor *, MtxPtr);
329 ResTIMG* getTexFromArc(
const char *,
const LiveActor *);
The basis of a drawable actor that can contain states (see: Nerve)
Used for executing states of a LiveActor.