2023-12-13 00:40:16 -05:00
|
|
|
#include "Game/MapObj/CutBushModelObj.hpp"
|
|
|
|
|
#include "Game/Util.hpp"
|
2022-05-18 12:24:06 -04:00
|
|
|
|
|
|
|
|
CutBushModelObj::CutBushModelObj(const char *pName, const char *pObjName, bool useLight, MtxPtr mtx) : LiveActor(pName) {
|
|
|
|
|
mMtx = mtx;
|
2023-02-13 03:33:10 -05:00
|
|
|
initModelManagerWithAnm(pObjName, nullptr, false);
|
2022-05-18 12:24:06 -04:00
|
|
|
MR::connectToSceneNoSilhouettedMapObjWeakLightNoMovement(this);
|
|
|
|
|
|
|
|
|
|
if (useLight) {
|
|
|
|
|
MR::initLightCtrl(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
initSound(8, false);
|
|
|
|
|
|
|
|
|
|
if (mMtx) {
|
|
|
|
|
mPosition.set(mMtx[0][3], mMtx[1][3], mMtx[2][3]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CutBushModelObj::init(const JMapInfoIter &rIter) {
|
|
|
|
|
makeActorAppeared();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CutBushModelObj::initAfterPlacement() {
|
|
|
|
|
if (MR::getLightCtrl(this)) {
|
|
|
|
|
MR::updateLightCtrlDirect(this);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CutBushModelObj::calcAndSetBaseMtx() {
|
|
|
|
|
if (mMtx) {
|
|
|
|
|
mPosition.set(mMtx[0][3], mMtx[1][3], mMtx[2][3]);
|
|
|
|
|
MR::setBaseTRMtx(this, mMtx);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
LiveActor::calcAndSetBaseMtx();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CutBushModelObj::~CutBushModelObj() {
|
|
|
|
|
|
|
|
|
|
}
|