1#include "Game/LiveActor/ClippingActorHolder.hpp"
2#include "Game/LiveActor/LiveActor.hpp"
3#include "Game/Util.hpp"
5ClippingActorHolder::ClippingActorHolder() :
NameObj(
"クリッピングアクター保持") {
20void ClippingActorHolder::movement() {
21 mViewGroupCtrl->update();
23 for (s32 i = 0; i < _10->_4; i++) {
24 _10->mClippingActorList[i]->judgeClipping();
28void ClippingActorHolder::registerActor(
LiveActor *pActor) {
36 bool res = MR::getJMapInfoViewGroupID(rIter, &viewGroupID);
39 mViewGroupCtrl->initActorInfo(find(pActor), viewGroupID);
43void ClippingActorHolder::initViewGroupTable() {
44 mViewGroupCtrl->startInitViewGroupTable();
45 mViewGroupCtrl->initViewGroup(_10);
46 mViewGroupCtrl->initViewGroup(_18);
47 mViewGroupCtrl->initViewGroup(_1C);
48 mViewGroupCtrl->initViewGroup(_14);
49 mViewGroupCtrl->endInitViewGroupTable();
53 mViewGroupCtrl->entryLodCtrl(pLod, rIter);
56void ClippingActorHolder::validateClipping(
LiveActor *pActor) {
57 pActor->
mFlags.mIsInvalidClipping =
false;
60 if (MR::isDead(pActor)) {
64 if (inf->isGroupClipping()) {
73void ClippingActorHolder::invalidateClipping(
LiveActor *pActor) {
74 pActor->
mFlags.mIsInvalidClipping =
true;
77 if (MR::isDead(pActor)) {
78 inf = _18->remove(pActor);
81 if (_10->isInList(pActor)) {
82 inf = _10->remove(pActor);
85 inf = _1C->remove(pActor);
90 if (MR::isClipped(pActor)) {
95void ClippingActorHolder::setTypeToSphere(
LiveActor *pActor, f32 range,
const TVec3f *a3) {
96 find(pActor)->setTypeToSphere(range, a3);
101void ClippingActorHolder::setFarClipLevel(
LiveActor *pActor, s32 level) {
102 find(pActor)->mFarClipLevel = level;
The basis of a drawable actor that can contain states (see: Nerve)
LiveActorFlag mFlags
Flags relating to drawing, animation calculation, etc.
The most basic form of an object.