New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
BgScrollMgr.h
Go to the documentation of this file.
1#pragma once
2
3#include <utility/Direction.h>
4
5#include <heap/seadDisposer.h>
6#include <math/seadBoundBox.h>
7
8class BgScrollMgr;
9
10// This is actually in a different file
12{
13public:
15
16public:
17 u32 _0[0x3c / sizeof(u32)];
18 struct // This should be a separate class
19 {
20 u32 _0;
26 } _3c;
27};
28static_assert(sizeof(ScrollEffectMgr) == 0x54);
29
41static_assert(sizeof(ZoomType) == 4, "ZoomType size mismatch");
42
44{
45public:
46 // Address: 0x029B0EBC
48 // Address: 0x029B0FF8
50 // Address: 0x029B113C
52
53 // Address: 0x029B1288
55 // Address: 0x029B13D8
57 // Address: 0x029B1528
59 // Address: 0x029B1678
61
62private:
65};
66static_assert(sizeof(ZoomHioData) == 8);
67
69{
70public:
71 // Address: 0x029B00D4
73};
74
75class TrackingMgr : public ZoomHio
76{
77public:
78 // Address: 0x029AEB28
79 f32 adjustZoomTarget(f32 zoom) const;
80
81 f32 getZoomTargetMin(bool param_1 = false) const
82 {
83 return adjustZoomTarget(getZoomHioData()->getZoomTargetMin_Common(param_1));
84 }
85
86 f32 getZoomTargetMid(bool param_1 = false) const
87 {
88 return adjustZoomTarget(getZoomHioData()->getZoomTargetMid_Common(param_1));
89 }
90
91 f32 getZoomTargetMax(bool param_1 = false) const
92 {
93 return adjustZoomTarget(getZoomHioData()->getZoomTargetMax_Common(param_1));
94 }
95
96 f32 getZoomSpreadLine(bool param_1 = false) const
97 {
98 return getZoomHioData()->getZoomSpreadLine(param_1);
99 }
100
101 f32 getZoomSpreadLine2(bool param_1 = false) const
102 {
103 return getZoomHioData()->getZoomSpreadLine2(param_1);
104 }
105
106 f32 getZoomShrinkLine2(bool param_1 = false) const
107 {
108 return getZoomHioData()->getZoomShrinkLine2(param_1);
109 }
110
111 f32 getZoomShrinkLine(bool param_1 = false) const
112 {
113 return getZoomHioData()->getZoomShrinkLine(param_1);
114 }
115};
116
118{
120
121public:
123
124 f32 getZoom() const { return mZoom; }
125
126 const sead::BoundBox2f& getScrollBound() const { return mScroll; }
127 const sead::BoundBox2f& getScreenRect() const { return mScreen; }
128 const sead::BoundBox2f& getScreenRectPrev() const { return mScreenPrev; }
129 const sead::BoundBox2f& getScreenRectDefault() const { return mScreenDefault; }
130
131 f32 getScreenWidth() const { return mScreenWidth; }
132 f32 getScreenHeight() const { return mScreenHeight; }
133 f32 getScreenLeft() const { return mScreenLeft; }
134 f32 getScreenCenterX() const { return mScreenCenterX; }
135 f32 getScreenRight() const { return mScreenRight; }
136 f32 getScreenTop() const { return mScreenTop; }
137 f32 getScreenCenterY() const { return mScreenCenterY; }
138 f32 getScreenBottom() const { return mScreenBottom; }
139
140 ScrollEffectMgr& getScrollEffectMgr() { return mScrollEffectMgr; }
141 const ScrollEffectMgr& getScrollEffectMgr() const { return mScrollEffectMgr; }
142
143 // Address: 0x029A6400
145
146 // Address: 0x029A6D40
148
149 // Address: 0x029A6DC4
151
152 // Address: 0x029A6DE0
154
155 // Address: 0x029A6E24
157
158 // Address: 0x029A6E40
160
161private:
167 sead::BoundBox2f mScreenZoom; // Same center as mScreen, but size is determined by mZoom
168 sead::BoundBox2f mScreenDefault; // Same center as mScreen, but size is (796.44, 448)
169 f32 mScreenWidth; // In world space
177 sead::BoundBox2f mScreenBg; // Same as mScreen, but Y is inverted
184 void* _bc;
185 void* _c0;
188 u32 mScrollLimitInfo[0x2c / sizeof(u32)];
190};
191static_assert(sizeof(BgScrollMgr) == 0x14C);
ZoomType
Definition BgScrollMgr.h:31
@ cZoomType_Static
Definition BgScrollMgr.h:35
@ cZoomType_Normal
Definition BgScrollMgr.h:32
@ cZoomType_TrackX
Definition BgScrollMgr.h:38
@ cZoomType_5
Definition BgScrollMgr.h:37
@ cZoomType_Static_TrackY
Definition BgScrollMgr.h:36
@ cZoomType_ExpandY
Definition BgScrollMgr.h:34
@ cZoomType_ExpandX
Definition BgScrollMgr.h:39
@ cZoomType_TrackY
Definition BgScrollMgr.h:33
Definition BgScrollMgr.h:118
f32 mZoomPrev
Definition BgScrollMgr.h:163
void postDemoIn()
f32 mScreenCenterY
Definition BgScrollMgr.h:175
sead::BoundBox2f mScreenZoom
Definition BgScrollMgr.h:167
void * mKyokaiVelMgr
Definition BgScrollMgr.h:182
DirType getAreaScrollDirSub() const
f32 getScreenWidth() const
Definition BgScrollMgr.h:131
f32 mScreenRight
Definition BgScrollMgr.h:173
f32 mScreenCenterX
Definition BgScrollMgr.h:172
u32 mScrollLimitInfo[0x2c/sizeof(u32)]
Definition BgScrollMgr.h:188
f32 getScreenLeft() const
Definition BgScrollMgr.h:133
const sead::BoundBox2f & getScreenRectPrev() const
Definition BgScrollMgr.h:128
const ScrollEffectMgr & getScrollEffectMgr() const
Definition BgScrollMgr.h:141
f32 getScreenBottom() const
Definition BgScrollMgr.h:138
const sead::BoundBox2f & getScrollBound() const
Definition BgScrollMgr.h:126
ScrollEffectMgr & getScrollEffectMgr()
Definition BgScrollMgr.h:140
const sead::BoundBox2f & getScreenRectDefault() const
Definition BgScrollMgr.h:129
void * mScrollInfo
Definition BgScrollMgr.h:179
void * mMaxStopMgr
Definition BgScrollMgr.h:180
const sead::BoundBox2f & getScreenRect() const
Definition BgScrollMgr.h:127
f32 getScreenHeight() const
Definition BgScrollMgr.h:132
f32 mScreenLeft
Definition BgScrollMgr.h:171
f32 getBgCenterYPos() const
f32 getScreenCenterY() const
Definition BgScrollMgr.h:137
sead::BoundBox2f mScreenBgPrev
Definition BgScrollMgr.h:178
bool isScrollMeterEnable() const
sead::BoundBox2f mScreen
Definition BgScrollMgr.h:165
f32 getScreenCenterX() const
Definition BgScrollMgr.h:134
void * mConfigMgr
Definition BgScrollMgr.h:187
ZoomType getZoomType() const
sead::BoundBox2f mScroll
Definition BgScrollMgr.h:164
f32 mScreenBottom
Definition BgScrollMgr.h:176
f32 getScreenRight() const
Definition BgScrollMgr.h:135
f32 getZoom() const
Definition BgScrollMgr.h:124
sead::BoundBox2f mScreenBg
Definition BgScrollMgr.h:177
f32 getScreenTop() const
Definition BgScrollMgr.h:136
void * _bc
Definition BgScrollMgr.h:184
f32 mScreenHeight
Definition BgScrollMgr.h:170
void * _c0
Definition BgScrollMgr.h:185
void * mAutoScrollMgr
Definition BgScrollMgr.h:186
TrackingMgr * mTrackingMgr
Definition BgScrollMgr.h:183
f32 mZoom
Definition BgScrollMgr.h:162
DirType getAreaScrollDir() const
void * mZoomAreaMgr
Definition BgScrollMgr.h:181
f32 mScreenTop
Definition BgScrollMgr.h:174
sead::BoundBox2f mScreenDefault
Definition BgScrollMgr.h:168
f32 mScreenWidth
Definition BgScrollMgr.h:169
ScrollEffectMgr mScrollEffectMgr
Definition BgScrollMgr.h:189
sead::BoundBox2f mScreenPrev
Definition BgScrollMgr.h:166
Definition BgScrollMgr.h:12
f32 _4
Definition BgScrollMgr.h:21
f32 _8
Definition BgScrollMgr.h:22
u32 _c
Definition BgScrollMgr.h:23
u32 _0[0x3c/sizeof(u32)]
Definition BgScrollMgr.h:17
f32 _10
Definition BgScrollMgr.h:24
f32 _14
Definition BgScrollMgr.h:25
ScrollEffectMgr(BgScrollMgr *scroll_mgr)
Definition BgScrollMgr.h:76
f32 getZoomSpreadLine2(bool param_1=false) const
Definition BgScrollMgr.h:101
f32 getZoomTargetMin(bool param_1=false) const
Definition BgScrollMgr.h:81
f32 getZoomSpreadLine(bool param_1=false) const
Definition BgScrollMgr.h:96
f32 getZoomTargetMax(bool param_1=false) const
Definition BgScrollMgr.h:91
f32 getZoomShrinkLine(bool param_1=false) const
Definition BgScrollMgr.h:111
f32 getZoomShrinkLine2(bool param_1=false) const
Definition BgScrollMgr.h:106
f32 getZoomTargetMid(bool param_1=false) const
Definition BgScrollMgr.h:86
f32 adjustZoomTarget(f32 zoom) const
Definition BgScrollMgr.h:44
ZoomType mZoomType
Definition BgScrollMgr.h:63
f32 getZoomShrinkLine(bool) const
f32 getZoomTargetMax_Common(bool) const
f32 getZoomSpreadLine(bool) const
f32 getZoomTargetMin_Common(bool) const
f32 getZoomTargetMid_Common(bool) const
f32 getZoomShrinkLine2(bool) const
u8 mZoomID
Definition BgScrollMgr.h:64
f32 getZoomSpreadLine2(bool) const
Definition BgScrollMgr.h:69
ZoomHioData * getZoomHioData() const