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{
119 // sInstance Address: 0x101E7C54
121
122public:
124
125 f32 getZoom() const { return mZoom; }
126
127 const sead::BoundBox2f& getScrollBound() const { return mScroll; }
128 const sead::BoundBox2f& getScreenRect() const { return mScreen; }
129 const sead::BoundBox2f& getScreenRectPrev() const { return mScreenPrev; }
130 const sead::BoundBox2f& getScreenRectDefault() const { return mScreenDefault; }
131
132 f32 getScreenWidth() const { return mScreenWidth; }
133 f32 getScreenHeight() const { return mScreenHeight; }
134 f32 getScreenLeft() const { return mScreenLeft; }
135 f32 getScreenCenterX() const { return mScreenCenterX; }
136 f32 getScreenRight() const { return mScreenRight; }
137 f32 getScreenTop() const { return mScreenTop; }
138 f32 getScreenCenterY() const { return mScreenCenterY; }
139 f32 getScreenBottom() const { return mScreenBottom; }
140
141 ScrollEffectMgr& getScrollEffectMgr() { return mScrollEffectMgr; }
142 const ScrollEffectMgr& getScrollEffectMgr() const { return mScrollEffectMgr; }
143
144 // Address: 0x029A6400
146
147 // Address: 0x029A6D40
149
150 // Address: 0x029A6DC4
152
153 // Address: 0x029A6DE0
155
156 // Address: 0x029A6E24
158
159 // Address: 0x029A6E40
161
162private:
168 sead::BoundBox2f mScreenZoom; // Same center as mScreen, but size is determined by mZoom
169 sead::BoundBox2f mScreenDefault; // Same center as mScreen, but size is (796.44, 448)
170 f32 mScreenWidth; // In world space
178 sead::BoundBox2f mScreenBg; // Same as mScreen, but Y is inverted
185 void* _bc;
186 void* _c0;
189 u32 mScrollLimitInfo[0x2c / sizeof(u32)];
191};
192static_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:164
void postDemoIn()
f32 mScreenCenterY
Definition BgScrollMgr.h:176
sead::BoundBox2f mScreenZoom
Definition BgScrollMgr.h:168
void * mKyokaiVelMgr
Definition BgScrollMgr.h:183
DirType getAreaScrollDirSub() const
f32 getScreenWidth() const
Definition BgScrollMgr.h:132
f32 mScreenRight
Definition BgScrollMgr.h:174
f32 mScreenCenterX
Definition BgScrollMgr.h:173
u32 mScrollLimitInfo[0x2c/sizeof(u32)]
Definition BgScrollMgr.h:189
f32 getScreenLeft() const
Definition BgScrollMgr.h:134
const sead::BoundBox2f & getScreenRectPrev() const
Definition BgScrollMgr.h:129
const ScrollEffectMgr & getScrollEffectMgr() const
Definition BgScrollMgr.h:142
f32 getScreenBottom() const
Definition BgScrollMgr.h:139
const sead::BoundBox2f & getScrollBound() const
Definition BgScrollMgr.h:127
ScrollEffectMgr & getScrollEffectMgr()
Definition BgScrollMgr.h:141
const sead::BoundBox2f & getScreenRectDefault() const
Definition BgScrollMgr.h:130
void * mScrollInfo
Definition BgScrollMgr.h:180
void * mMaxStopMgr
Definition BgScrollMgr.h:181
const sead::BoundBox2f & getScreenRect() const
Definition BgScrollMgr.h:128
f32 getScreenHeight() const
Definition BgScrollMgr.h:133
f32 mScreenLeft
Definition BgScrollMgr.h:172
f32 getBgCenterYPos() const
f32 getScreenCenterY() const
Definition BgScrollMgr.h:138
sead::BoundBox2f mScreenBgPrev
Definition BgScrollMgr.h:179
bool isScrollMeterEnable() const
sead::BoundBox2f mScreen
Definition BgScrollMgr.h:166
f32 getScreenCenterX() const
Definition BgScrollMgr.h:135
void * mConfigMgr
Definition BgScrollMgr.h:188
ZoomType getZoomType() const
sead::BoundBox2f mScroll
Definition BgScrollMgr.h:165
f32 mScreenBottom
Definition BgScrollMgr.h:177
f32 getScreenRight() const
Definition BgScrollMgr.h:136
f32 getZoom() const
Definition BgScrollMgr.h:125
sead::BoundBox2f mScreenBg
Definition BgScrollMgr.h:178
f32 getScreenTop() const
Definition BgScrollMgr.h:137
void * _bc
Definition BgScrollMgr.h:185
f32 mScreenHeight
Definition BgScrollMgr.h:171
void * _c0
Definition BgScrollMgr.h:186
void * mAutoScrollMgr
Definition BgScrollMgr.h:187
TrackingMgr * mTrackingMgr
Definition BgScrollMgr.h:184
f32 mZoom
Definition BgScrollMgr.h:163
DirType getAreaScrollDir() const
void * mZoomAreaMgr
Definition BgScrollMgr.h:182
f32 mScreenTop
Definition BgScrollMgr.h:175
sead::BoundBox2f mScreenDefault
Definition BgScrollMgr.h:169
f32 mScreenWidth
Definition BgScrollMgr.h:170
ScrollEffectMgr mScrollEffectMgr
Definition BgScrollMgr.h:190
sead::BoundBox2f mScreenPrev
Definition BgScrollMgr.h:167
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