SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
LodCtrl.hpp
1#pragma once
2
3#include "Game/LiveActor/ModelObj.hpp"
4#include "Game/Util.hpp"
5#include <revolution.h>
6
7class LiveActor;
9
10class LodCtrl {
11public:
12 LodCtrl(LiveActor *, const JMapInfoIter &);
13
14 void offSyncShadowHost();
15 void appear();
16 void kill();
17 void validate();
18 void invalidate();
19 void update();
20 bool isShowLowModel() const;
21 void setDistanceToMiddle(f32);
22 f32 calcDistanceToCamera() const;
23 void setDistanceToLow(f32);
24 void setDistanceToMiddleAndLow(f32, f32);
25
26 void setClippingTypeSphereContainsModelBoundingBox(f32);
27 void setFarClipping(f32);
28 void invalidateClipping();
29 void showHighModel();
30 void showMiddleModel();
31 void showLowModel();
32 void hideAllModel();
33 void setViewCtrlPtr(const bool *, const bool *, const bool *, const bool *);
34 void createLodModel(int, int, int);
35 void syncMaterialAnimation();
36 void syncJointAnimation();
37 void initLightCtrl();
38 ModelObj* initLodModel(int, int, int, bool) const;
39
40 f32 _0;
41 f32 _4;
42 LiveActor* _8;
43 LiveActor* mActor; // _C
44 ModelObj* _10;
45 ModelObj* _14;
46 u8 _18;
47 u8 _19;
48 u8 _1A;
49 u8 _1B;
50 const bool* _1C;
51 const bool* _20;
52 const bool* _24;
53 const bool* _28;
54 s16 mViewGroupID; // _2C
55 ActorLightCtrl* mActorLightCtrl; // _30
56};
57
59 static bool isExistLodLowModel(const char *);
60};
61
62namespace {
63 void LodFuntionCall(LodCtrl *, void (*)(LiveActor *)) NO_INLINE;
64
65 template<typename T>
66 void LodFuntionCall(LodCtrl *, void (*)(LiveActor *, T), T) NO_INLINE;
67};
The basis of a drawable actor that can contain states (see: Nerve)
Definition LiveActor.hpp:24