NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
g3d_anmscn.h
1#ifndef NW4R_G3D_ANM_SCN_H
2#define NW4R_G3D_ANM_SCN_H
3#include <nw4r/types_nw4r.h>
4
5#include <nw4r/g3d/g3d_anmobj.h>
6#include <nw4r/g3d/g3d_camera.h>
7#include <nw4r/g3d/g3d_fog.h>
8#include <nw4r/g3d/g3d_light.h>
9#include <nw4r/g3d/g3d_obj.h>
10
11namespace nw4r {
12namespace g3d {
13
14// Forward declarations
16class AnmScnRes;
17struct CameraAnmResult;
18struct FogAnmResult;
19struct LightAnmResult;
20class LightSetting;
21
22class AnmScn : public G3dObj {
23public:
24 explicit AnmScn(MEMAllocator* pAllocator);
25 virtual ~AnmScn(); // at 0x10
26
27 virtual void SetFrame(f32 frame) = 0; // at 0x1C
28 virtual f32 GetFrame() const = 0; // at 0x20
29
30 virtual void SetUpdateRate(f32 rate) = 0; // at 0x24
31 virtual f32 GetUpdateRate() const = 0; // at 0x28
32 virtual void UpdateFrame() = 0; // at 0x2C
33
34 virtual AnmScnRes* Attach(int idx, AnmScnRes* pRes); // at 0x30
35 virtual AnmScnRes* Detach(); // at 0x34
36
37 virtual ulong GetNumLightSet() const = 0; // at 0x38
38 virtual ulong GetNumAmbLight() const = 0; // at 0x3C
39 virtual ulong GetNumDiffuseLight() const = 0; // at 0x40
40 virtual ulong GetNumSpecularLight() const = 0; // at 0x44
41 virtual ulong GetNumFog() const = 0; // at 0x48
42 virtual ulong GetNumCamera() const = 0; // at 0x4C
43
44 virtual ulong GetLightSetMaxRefNumber() const = 0; // at 0x50
45 virtual ulong GetAmbLightMaxRefNumber() const = 0; // at 0x54
46 virtual ulong GetDiffuseLightMaxRefNumber() const = 0; // at 0x58
47 virtual ulong GetFogMaxRefNumber() const = 0; // at 0x5C
48 virtual ulong GetCameraMaxRefNumber() const = 0; // at 0x60
49
50 virtual bool GetLightSet(LightSet set, ulong refNumber) = 0; // at 0x64
51 virtual ut::Color GetAmbLightColor(ulong refNumber) = 0; // at 0x68
52 virtual void GetLight(LightObj* pDiff, LightObj* pSpec,
53 ulong refNumber) = 0; // at 0x6C
54 virtual void GetFog(Fog fog, ulong refNumber) = 0; // at 0x70
55 virtual bool GetCamera(Camera camera, ulong refNumber) = 0; // at 0x74
56
57 virtual ulong GetSpecularLightID(ulong refNumber) const = 0; // at 0x78
58 virtual bool HasSpecularLight(ulong refNumber) const = 0; // at 0x7C
59
60 virtual AmbLightAnmResult* GetAmbLightResult(AmbLightAnmResult* pResult,
61 ulong refNumber) = 0; // at 0x80
62 virtual LightAnmResult* GetLightResult(LightAnmResult* pResult,
63 ulong refNumber) = 0; // at 0x84
64 virtual FogAnmResult* GetFogResult(FogAnmResult* pResult,
65 ulong refNumber) = 0; // at 0x88
66 virtual CameraAnmResult* GetCameraResult(CameraAnmResult* pResult,
67 ulong refNumber) = 0; // at 0x8C
68
69 void GetLightSetting(LightSetting* pSetting);
70
71private:
72 NW4R_G3D_RTTI_DECL_DERIVED(AnmScn, G3dObj);
73};
74
75} // namespace g3d
76} // namespace nw4r
77
78#endif
3D graphics drawing library.
Definition g3d_3dsmax.h:10