New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
AttentionScreen.h
Go to the documentation of this file.
1#pragma once
2
3#include <layout_sys/AnimLayout.h>
4#include <state/FStateMgr.h>
5
6#include <layer/aglRenderInfo.h>
7
8// vtbl Address: 0x100C52A0
10{
11public:
12 enum Type
13 {
14 cType_DRC = 0, // Appears on DRC, attention towards TV
15 cType_TV // Appears on TV, attention towards DRC
16 };
17 static_assert(sizeof(Type) == 4);
18
19public:
20 // Address: 0x02532B04
22 // Address: 0x02532C74
23 virtual ~AttentionScreen();
24
25 // Address: 0x02532D14
26 void create();
27
28 // Address: 0x02532FB0
29 void execute();
30
31 // Address: 0x02532FFC
32 void draw(const agl::lyr::RenderInfo& render_info) const;
33
34 // Address: 0x02533050
35 void drawDRC(const agl::lyr::RenderInfo& render_info) const;
36
37 // Address: 0x025330A4
38 void open(Type type);
39
40 void forceOpen(Type type)
41 {
42 open(type);
43 mIsVisible = true;
44 }
45
46 bool isVisible() const
47 {
48 return mIsVisible;
49 }
50
52 {
53 mRequestClose = true;
54 }
55
56 // Address: 0x02533104
57 void requestCloseNow(); // Skips "In" animation
58
59 // Address: 0x025331A0
60 void forceClose();
61
62 // StateID_In Address: 0x1020B588
63 // initializeState_In Address: 0x02533228
64 // executeState_In Address: 0x025332D4
65 // finalizeState_In Address: 0x02533A34
66 DECLARE_STATE_ID(AttentionScreen, In)
67
68 bool isFadein() const
69 {
70 return *mStateMgr.getStateID() == StateID_In;
71 }
72
73protected:
78 bool mIsOpen;
82};
83static_assert(sizeof(AttentionScreen) == 0xEF8);
Definition AttentionScreen.h:10
sead::SafeArray< nw::lyt::Picture *, 3 > mPPane
Definition AttentionScreen.h:77
void drawDRC(const agl::lyr::RenderInfo &render_info) const
void forceOpen(Type type)
Definition AttentionScreen.h:40
void open(Type type)
sead::SafeArray< nw::lyt::Pane *, 2 > mNPane
Definition AttentionScreen.h:76
AnimLayout< 2 > mLayout
Definition AttentionScreen.h:75
virtual ~AttentionScreen()
void requestClose()
Definition AttentionScreen.h:51
Type
Definition AttentionScreen.h:13
@ cType_TV
Definition AttentionScreen.h:15
@ cType_DRC
Definition AttentionScreen.h:14
Type mType
Definition AttentionScreen.h:81
bool isVisible() const
Definition AttentionScreen.h:46
void draw(const agl::lyr::RenderInfo &render_info) const
bool mRequestClose
Definition AttentionScreen.h:79
void requestCloseNow()
bool mIsVisible
Definition AttentionScreen.h:80
bool mIsOpen
Definition AttentionScreen.h:78