1#include "Game/MapObj/CoinRotater.hpp"
2#include "Game/Scene/SceneObjHolder.hpp"
3#include "Game/Util/MathUtil.hpp"
4#include "Game/Util/MtxUtil.hpp"
5#include "Game/Util/ObjUtil.hpp"
7CoinRotater::CoinRotater(
const char *pName) :
NameObj(pName) {
11 mRotateYMtx.identity();
12 mHiSpeedRotateYMtx.identity();
13 mWaterRotateMtx.identity();
14 MR::connectToSceneMapObjMovement(
this);
19void CoinRotater::movement() {
20 f32 v2 = MR::subtractFromSum(8.0f, _C, 0.0f);
22 f32 v3 = MR::modAndAdd(0.0f, v2, 360.0f);
23 f32 v4 = MR::subtractFromSum(0.0f, 4.0f, _10);
26 f32 v5 = MR::modAndAdd(0.0f, v4, 360.0f);
27 f32 v6 = MR::subtractFromSum(_14, 16.0f, 0.0f);
30 f32 v7 = fmod(360.0f + v6, 360.0f);
31 _14 = MR::add(0.0f, v7);
32 MR::makeMtxRotateY(mRotateYMtx.mMtx, _C);
33 MR::makeMtxRotateY(mHiSpeedRotateYMtx.mMtx, _14);
34 MR::makeMtxRotateY(mWaterRotateMtx.mMtx, _10);
39 void createCoinRotater() {
40 MR::createSceneObj(SceneObj_CoinRotater);
43 TMtx34f& getCoinRotateYMatrix() {
44 return MR::getSceneObj<CoinRotater*>(SceneObj_CoinRotater)->mRotateYMtx;
47 TMtx34f& getCoinHiSpeedRotateYMatrix() {
48 return MR::getSceneObj<CoinRotater*>(SceneObj_CoinRotater)->mHiSpeedRotateYMtx;
51 TMtx34f& getCoinInWaterRotateYMatrix() {
52 return MR::getSceneObj<CoinRotater*>(SceneObj_CoinRotater)->mWaterRotateMtx;
56CoinRotater::~CoinRotater() {
The most basic form of an object.