SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
CameraManGame.hpp
1#pragma once
2
3#include "Game/AreaObj/CubeCamera.hpp"
4#include "Game/Camera/CameraMan.hpp"
5
6class Camera;
7class CameraHolder;
12class CamHeliEffector;
13
14class CameraManGame : public CameraMan {
15public:
17 virtual ~CameraManGame();
18
19 virtual void init(const JMapInfoIter &);
20
21 virtual void calc();
22 virtual void notifyActivate();
23 virtual void notifyDeactivate();
24 virtual bool isInterpolationOff() const;
25 virtual bool isCollisionOff() const;
26 virtual bool isZeroFrameMoveOff() const;
27 virtual bool isSubjectiveCameraOff() const;
28 virtual bool isCorrectingErpPositionOff() const;
29 virtual bool isEnableToReset() const;
30 virtual bool isEnableToRoundLeft() const;
31 virtual bool isEnableToRoundRight() const;
32
33 void closeCreatingCameraChunk();
34 void startStartPosCamera(bool);
35 void endStartPosCamera();
36 void zoomIn();
37 void zoomOut();
38 void selectCameraChunk();
39 void setChunk(const CameraParamChunkID &);
40 void setNullCamera();
41 CameraParamChunk *tryToReplaceChunkToDefault(CameraParamChunk *);
42 void requestResetIfNecessary(CameraParamChunk *);
43 bool isNecessaryToReset(CameraParamChunk *) const;
44 bool isCurrentChunkEnableEndInterp() const;
45 void replaceCurrentChunkAndCamera(CameraParamChunk *);
46 void applyParameter();
47 void checkReset();
48 void setSafePose();
49 void keepAwayWatchPos(TVec3f *, const TVec3f &);
50 void calcSafeUpVec(TVec3f *, const TVec3f &, const TVec3f &); // TODO
51 void createDefaultCamera();
52 void createDefaultWaterCamera();
53 void createDefaultWaterSurfaceCamera();
54 void createDefaultFooFighterCamera();
55 void createStartAnimCamera();
56 void createZoomCamera();
57 void checkStateShift();
58 bool tryShiftToGCapture();
59 bool tryShiftToSwimOrWaterSurface();
60 bool tryShiftToFooFighter();
61 void updateNormal(); // TODO
62 void updateSwim();
63 void updateWaterSurface();
64 void updateGCapture();
65 void updateFooFighter();
66 bool setCubeChunk(CubeCameraArea::ECategory);
67 bool tryStartPosCamera();
68 bool tryZoomCamera();
69 bool isZoomCamera() const;
70
71 CameraHolder *mHolder; // _48
72 CameraParamChunkHolder *mChunkHolder; // _4C
73 Camera *mCamera; // _50
74 CameraParamChunk *mChunk; // _54
75 u8 _58;
76 u8 _59[3];
77 u32 _5C;
78 CamKarikariEffector *mKarikari; // _60
79 CamHeliEffector *mHeli; // _64
80 u32 mTypeState; // _68
81 u8 _6C;
82 u8 _6D[3];
83 s32 _70;
84 bool mZoomedIn; // _74
85 u8 _75[3];
86};
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.