Files
ss/src/m/m_fader.cpp
T
robojumper 1180e1f486 m3d (#13)
* Initial M3d Pass
* `m_bmdl` and `m_bline` left

---------

Co-authored-by: elijah-thomas774 <elijahthomas774@gmail.com>
Co-authored-by: Elijah Thomas <42302100+elijah-thomas774@users.noreply.github.com>
2024-09-12 16:36:34 -04:00

34 lines
806 B
C++

#include <m/m_fader.h>
#include <m/m3d/m3d.h>
#include <nw4r/g3d/g3d_state.h>
void mFader_c::draw() {
nw4r::g3d::G3DState::Invalidate(0x7ff);
m3d::resetMaterial();
mpFader->draw();
}
bool mFader_c::setFader(mFaderBase_c *fader) {
if (mpFader != nullptr) {
bool isFading = isStatus(mFaderBase_c::FADING_IN) || isStatus(mFaderBase_c::FADING_OUT);
if (isFading) {
return false;
}
}
mFaderBase_c::EStatus status = mpFader != nullptr ? mpFader->getStatus() : fader->getStatus();
mpFader = fader;
switch (status) {
case mFaderBase_c::FADED_OUT:
fader->setStatus(mFaderBase_c::FADED_OUT);
break;
case mFaderBase_c::FADED_IN:
fader->setStatus(mFaderBase_c::FADED_IN);
break;
}
return true;
}