SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
ClippingDirector.cpp
1#include "Game/LiveActor/ClippingDirector.hpp"
2#include "Game/Scene/SceneObjHolder.hpp"
3
4ClippingDirector::ClippingDirector() : NameObj("クリッピング指揮") {
5 mJudge = 0;
6 mActorHolder = 0;
7 mGroupHolder = 0;
8 mJudge = new ClippingJudge("クリッピング判定");
9 mJudge->initWithoutIter();
10 mActorHolder = new ClippingActorHolder();
11 mActorHolder->initWithoutIter();
12 mGroupHolder = new ClippingGroupHolder();
13 mGroupHolder->initWithoutIter();
14 MR::connectToScene(this, 4, -1, -1, -1);
15}
16
17void ClippingDirector::endInitActorSystemInfo() {
18 mActorHolder->initViewGroupTable();
19}
20
21void ClippingDirector::movement() {
22 mJudge->movement();
23 mActorHolder->movement();
24 mGroupHolder->movement();
25}
26
27void ClippingDirector::registerActor(LiveActor *pActor) {
28 mActorHolder->registerActor(pActor);
29}
30
31void ClippingDirector::initActorSystemInfo(LiveActor *pActor, const JMapInfoIter &rIter) {
32 mActorHolder->initSystemInfo(pActor, rIter);
33}
34
35void ClippingDirector::joinToGroupClipping(LiveActor *pActor, const JMapInfoIter &rIter, int a3) {
36 s32 clippingID = -1;
37 MR::getJMapInfoClippingGroupID(rIter, &clippingID);
38
39 if (clippingID >= 0) {
40 ClippingActorInfo* inf = mActorHolder->startGroupClipping(pActor, rIter);
41 mGroupHolder->createAndAdd(inf, rIter, a3);
42 }
43}
44
45void ClippingDirector::entryLodCtrl(LodCtrl *pLod, const JMapInfoIter &rIter) {
46 mActorHolder->entryLodCtrl(pLod, rIter);
47}
48
49namespace MR {
50 ClippingDirector* getClippingDirector() {
51 return reinterpret_cast<ClippingDirector*>(MR::getSceneObjHolder()->getObj(SceneObj_ClippingDirector));
52 }
53
54 void addToClippingTarget(LiveActor *pActor) {
55 ClippingDirector* dir = reinterpret_cast<ClippingDirector*>(MR::getSceneObjHolder()->getObj(SceneObj_ClippingDirector));
56 dir->mActorHolder->addToClippingTarget(pActor);
57 }
58
59 void removeFromClippingTarget(LiveActor *pActor) {
60 ClippingDirector* dir = reinterpret_cast<ClippingDirector*>(MR::getSceneObjHolder()->getObj(SceneObj_ClippingDirector));
61 dir->mActorHolder->removeFromClippingTarget(pActor);
62 }
63};
64
65ClippingDirector::~ClippingDirector() {
66
67}
The basis of a drawable actor that can contain states (see: Nerve)
Definition LiveActor.hpp:24
The most basic form of an object.
Definition NameObj.hpp:11