1#include "Game/MapObj/DashRing.hpp"
7void DashRing::initCommon(
const JMapInfoIter &rIter,
const char *pName) {
8 MR::initDefaultPos(
this, rIter);
14 initModelManagerWithAnm(pName,
nullptr,
false);
15 MR::connectToSceneMapObj(
this);
19 MR::connectToScene(
this, 34, -1, -1, 56);
23 MR::addHitSensorMapObj(
this,
"body", 4, 1000.0f, TVec3f(0.0f, 0.0f, 0.0f));
24 MR::validateClipping(
this);
32 if (MR::checkJMapDataEntries(rIter)) {
37 MR::getJMapInfoArg0NoInit(rIter, &arg0);
38 MR::getJMapInfoArg1NoInit(rIter, &arg1);
48 if (MR::getJMapInfoArg2NoInit(rIter, &arg2) && arg2 != -1) {
53 MR::getJMapInfoArg3NoInit(rIter, &arg3);
61 initEffectKeeper(3,
nullptr,
false);
65 const char* animName =
"Loop";
66 MR::startBck(
this, animName, 0);
67 MR::startBrk(
this, animName);
79 MR::makeMtxFrontSidePos(&pos, mAxis, mSubAxis,
mPosition);
84void DashRing::calcAxis() {
85 TVec3f stack_8(0.0f, 1.0f, 0.0f);
88 PSMTXMultVec(mtx, stack_8.toCVec(), stack_8.toVec());
93void DashRing::calcSubAxis() {
94 TVec3f stack_14(mAxis);
97 if (MR::isNearZero(stack_14.y, 0.001f)) {
98 stack_8.x = stack_14.y;
99 stack_8.y = -stack_14.x;
103 stack_8.x = stack_14.x;
105 stack_8.z = -stack_14.y;
108 MR::normalizeOrZero(&stack_8);
115 initCommon(rIter,
"DashRing");
virtual void calcAndSetBaseMtx()
Calculates and sets the base matrix of the actor.
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
TVec3f mRotation
3D vector of the actor's rotation.
TVec3f mPosition
3D vector of the actor's position.
virtual MtxPtr getBaseMtx() const
Gets the base matrix of the model used for the actor.