1#include "Game/Scene/MultiSceneActor.hpp"
2#include "Game/LiveActor/Spine.hpp"
3#include "Game/Util/MtxUtil.hpp"
4#include <JSystem/JGeometry/TMatrix.hpp>
5#include <JSystem/J3DGraphAnimator/J3DModel.hpp>
7MultiSceneActor::MultiSceneActor(
const char *pName,
const char *pModelName,
bool a3) :
NameObj(pName) {
10 mTranslation.z = 0.0f;
19 mEffectSystem =
nullptr;
20 mEffectKeeper =
nullptr;
23 mModelMgr->init(pModelName,
nullptr, a3);
30void MultiSceneActor::movement() {
34 if (mNerve !=
nullptr) {
44void MultiSceneActor::calcAnim() {
48 MR::makeMtxTR(mtx.toMtxPtr(), mTranslation, mRotation);
49 PSMTXCopy(mtx.toMtxPtr(), mModelMgr->getJ3DModel()->_24);
50 J3DModel* model = mModelMgr->getJ3DModel();
51 model->_18 = mScale.x;
52 model->_1C = mScale.y;
53 model->_20 = mScale.z;
54 mModelMgr->calcAnim();
58void MultiSceneActor::calcViewAndEntry() {
60 mModelMgr->calcView();
65void MultiSceneActor::appear() {
70void MultiSceneActor::initEffect(
EffectSystem* pSystem,
int unk,
const char *pName) {
71 mEffectSystem = pSystem;
73 mEffectKeeper->init(
this, pSystem);
76void MultiSceneActor::setNerve(
const Nerve *pNerve) {
77 mNerve->setNerve(pNerve);
80bool MultiSceneActor::isNerve(
const Nerve *pNerve)
const {
81 return mNerve->getCurrentNerve() == pNerve;
84void MultiSceneActor::initNerve(
const Nerve *pNerve) {
85 mNerve =
new Spine(
this, pNerve);
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
The most basic form of an object.
const char * mName
A string to identify the NameObj.
Used for executing states of a LiveActor.