New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
Renderer.h
Go to the documentation of this file.
1#pragma once
2
3#include <graphics/RenderObjLayer.h>
4
5#include <gfx/seadCamera.h>
6#include <gfx/seadProjection.h>
7#include <layer/aglLayer.h>
8#include <layer/aglRenderer.h>
9#include <math/seadBoundBox.h>
10
11class Angle;
12class AnimModel;
13class Model;
14class ModelFFL;
15enum UnitID : int;
16
18{
19 // createInstance() Address: 0x024FA650
20 // deleteInstance() Address: Deleted
21 // sInstance Address: 0x101D2D88
22 // SingletonDisposer_::~SingletonDisposer_() Address: 0x024FAE28
23 // SingletonDisposer_::sStaticDisposer Address: 0x101D2D8C
24 // SingletonDisposer_::vtbl Address: 0x100BDA98
26
27public:
29 {
30 cGatherType_0 = 0, // AreaTask
31 cGatherType_1, // CourseSelectTask, DarkCloudDemoScene, GameSetupScene, MultiPlayCourseSelectScene, ResultScene
32 cGatherType_2, // DemoTestScene
33 cGatherType_3 // CourseTask, ChallengeResultScene, WithMiiPackSelectScene
34 };
35
36public:
38 {
39 public:
40 LayerSetter(s32 layer_id, GatherType type)
41 {
42 Renderer::instance()->setLayer(agl::lyr::Renderer::instance()->getLayer<RenderObjLayerBase>(layer_id), type);
43 }
44
45 LayerSetter(RenderObjLayerBase* layer, GatherType type)
46 {
47 Renderer::instance()->setLayer(layer, type);
48 }
49
51 {
52 Renderer::instance()->resetLayer();
53 }
54 };
55
56public:
57 // Address: 0x024FA5A0
59 // Address: 0x024FA6D0
61
62 // Address: 0x024FA748
63 void setViewBoundBox(const sead::BoundBox2f& box);
64
65 // Address: 0x024FA76C
67
68 // Address: 0x024FAA50
69 void setLayer(agl::lyr::Layer* layer, GatherType type);
70 // Address: 0x024FAB4C
71 void resetLayer();
72
73 // Address: 0x024FAB58
74 void drawModel(Model* model);
75 // Address: 0x024FAC98
76 void drawModel(const AnimModel* model);
77 // Address: 0x024FACA0
78 void drawModel(ModelFFL* model);
79
80 // Address: 0x024FAD28
81 void drawActorBgUnit(UnitID unit, const sead::Vector3f& pos, Angle angle, const sead::Vector3f& scale);
82 // Address: 0x024FADD8
83 void drawActorBgUnitLayer0(UnitID unit, const sead::Vector3f& pos, Angle angle, const sead::Vector3f& scale);
84
85private:
94};
95static_assert(sizeof(Renderer) == 0x234);
UnitID
Definition UnitID.h:6
Definition Angle.h:6
Definition AnimModel.h:19
Definition ModelFFL.h:14
Definition Model.h:15
Definition Renderer.h:38
LayerSetter(RenderObjLayerBase *layer, GatherType type)
Definition Renderer.h:45
~LayerSetter()
Definition Renderer.h:50
LayerSetter(s32 layer_id, GatherType type)
Definition Renderer.h:40
Definition Renderer.h:18
s32 mDefaultXluBufferIdx
Definition Renderer.h:91
void calcForAreaTask()
void drawModel(ModelFFL *model)
s32 mDefaultOpaBufferIdx
Definition Renderer.h:90
sead::OrthoCamera mCamera3D
Definition Renderer.h:88
void drawModel(Model *model)
sead::OrthoProjection mProjection3D
Definition Renderer.h:87
RenderObjLayerBase * mLayer
Definition Renderer.h:89
void drawActorBgUnit(UnitID unit, const sead::Vector3f &pos, Angle angle, const sead::Vector3f &scale)
sead::OrthoCamera mCameraFinalKoopa
Definition Renderer.h:93
void drawModel(const AnimModel *model)
void setViewBoundBox(const sead::BoundBox2f &box)
sead::BoundBox2f mViewBoundBox
Definition Renderer.h:86
void setLayer(agl::lyr::Layer *layer, GatherType type)
void resetLayer()
sead::OrthoProjection mProjectionFinalKoopa
Definition Renderer.h:92
void drawActorBgUnitLayer0(UnitID unit, const sead::Vector3f &pos, Angle angle, const sead::Vector3f &scale)