ClippingDirector::entryLodCtrl()

This commit is contained in:
shibbo 2019-07-31 14:36:34 -04:00
parent 2b57ac6c90
commit 5c77de0dd7
4 changed files with 46 additions and 0 deletions

View File

@ -3,6 +3,7 @@
#include "Actor/Clipping/ClippingActorInfo.h"
#include "Actor/LiveActor/LiveActor.h"
#include "Actor/LOD/LodCtrl.h"
#include "Actor/NameObj/NameObj.h"
class ClippingActorHolder : public NameObj
@ -14,6 +15,7 @@ public:
virtual void movement();
void initViewGroupTable();
void entryLodCtrl(LodCtrl *, const JMapInfoIter &);
void registerActor(LiveActor *);
void initSystemInfo(LiveActor *, const JMapInfoIter &);

View File

@ -4,6 +4,7 @@
#include "Actor/Clipping/ClippingActorHolder.h"
#include "Actor/Clipping/ClippingGroupHolder.h"
#include "Actor/Clipping/ClippingJudge.h"
#include "Actor/LOD/LodCtrl.h"
#include "Actor/NameObj/NameObj.h"
class ClippingDirector : public NameObj
@ -17,6 +18,7 @@ public:
void registerActor(LiveActor *);
void initActorSystemInfo(LiveActor *, const JMapInfoIter &);
void joinToGroupClipping(LiveActor *, const JMapInfoIter &, s32);
void entryLodCtrl(LodCtrl *, const JMapInfoIter &);
ClippingJudge* mJudge; // _C
ClippingActorHolder* mActorHolder; // _10

View File

@ -0,0 +1,37 @@
#ifndef LODCTRL_H
#define LODCTRL_H
#include "Actor/LiveActor/LiveActor.h"
#include "JMap/JMapInfoIter.h"
class LodCtrl
{
public:
LodCtrl(LiveActor *, const JMapInfoIter &);
void offSyncShadowHost();
void appear();
void kill();
void validate();
void invalidate();
void update();
bool isShowLowModel() const;
void setDistanceToMiddle(f32);
void calcDistanceToCamera() const;
void setDistanceToLow(f32);
void setDistanceToMiddleAndLow(f32, f32);
f32 mDistToMiddle; // _0
f32 mDistToLow; // _4
u32 _8;
const LiveActor* mActor; // _C
u32 _10;
u32 _14;
bool mIsValid; // _18
u8 _19;
u8 _1A;
u8 _1B;
u8 _1C[0x34-0x1C];
};
#endif // LODCTRL_H

View File

@ -59,4 +59,9 @@ void ClippingDirector::joinToGroupClipping(LiveActor *actor, const JMapInfoIter
ClippingActorInfo* info = this->mActorHolder->startGroupClipping(actor, iter);
this->mGroupHolder->createAndAdd(info, iter, unk1);
}
void ClippingDirector::entryLodCtrl(LodCtrl* lodCtrl, const JMapInfoIter &iter)
{
this->mActorHolder->entryLodCtrl(lodCtrl, iter);
}