NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
m_fader_base.cpp
1#include <dol/mLib/m_fader_base.hpp>
2#include <dol/mLib/m_color.hpp>
3
5mFlag(0),
6mFrameCount(20),
7mCurrFrame(0),
8mFaderColor()
9{
10 setColor(color);
11 mFlag |= FADE_OUT_COMPLETE;
12 switch(status) {
13 case OPAQUE: mStatus = OPAQUE; break;
14 case HIDDEN: mStatus = HIDDEN; break;
15 }
16}
17
19}
20
21void mFaderBase_c::setFrame(u16 duration) {
22 mFrameCount = duration;
23}
24
25void mFaderBase_c::setColor(const mColor &color) {
26 mFaderColor.r = color.r;
27 mFaderColor.g = color.g;
28 mFaderColor.b = color.b;
29}
30
32 return mStatus;
33}
34
36 bool doFadeIn = mStatus == OPAQUE;
37 if (doFadeIn) {
39 mCurrFrame = 0;
40 }
41
42 return doFadeIn;
43}
44
46 bool doFadeIn = mStatus == HIDDEN;
47 if (doFadeIn) {
49 mCurrFrame = 0;
50 }
51
52 return doFadeIn;
53}
54
56 int result = 0;
57
58 if (mStatus == FADE_IN) {
59 if (mCurrFrame++ > mFrameCount) {
61 result = (mFlag & FADE_IN_COMPLETE) != 0;
62 }
63
64 } else if (mStatus == FADE_OUT) {
65 mCurrFrame++;
66 if (mCurrFrame > mFrameCount + 1) {
68 result = (mFlag & FADE_OUT_COMPLETE) != 0;
69 }
70 }
71
72 return result;
73}
virtual ~mFaderBase_c()
Destroys the fader.
u16 mCurrFrame
The fader's current frame.
EStatus mStatus
The fader's status.
virtual EStatus getStatus() const
Gets the fader's status.
u8 mFlag
The fader's flags.
virtual bool fadeIn()
Initiates a fade in from pure blacked-out.
void setFrame(u16 duration)
Sets the duration of the fade. Duration must not be zero.
u16 mFrameCount
The fader's duration.
mColor mFaderColor
The fader's color.
mFaderBase_c(const mColor &color, EStatus status)
Constructs a new fader.
EStatus
The fader's status.
@ FADE_IN
Transition from OPAQUE to HIDDEN.
@ FADE_OUT
Transition from HIDDEN to OPAQUE.
@ HIDDEN
The screen is completely unblocked.
@ OPAQUE
The screen is completely blacked out.
virtual int calc()
Calculates the fader at the current frame.
virtual bool fadeOut()
Initiates a fade out from no-obstruction.
void setColor(const mColor &color)
Sets the fader's color. Alpha is not modified.
A 32-bit RGBA color.
Definition m_color.hpp:6