2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 21:07:42 +00:00

Work on CSamusDoll

This commit is contained in:
Jack Andersen
2017-05-04 08:56:20 -10:00
parent 394cbf36e0
commit 4ff1475f0e
14 changed files with 715 additions and 46 deletions

View File

@@ -177,7 +177,7 @@ void CPauseScreen::ProcessControllerInput(const CStateManager& mgr, const CFinal
bool bExits = false;
if (std::unique_ptr<CPauseScreenBase>& curScreen = x7c_screens[x78_activeIdx])
{
if (curScreen->GetMode() == CPauseScreenBase::EMode::Zero)
if (curScreen->GetMode() == CPauseScreenBase::EMode::LeftTable)
bExits = true;
curScreen->ProcessControllerInput(input);
}
@@ -233,12 +233,12 @@ void CPauseScreen::Update(float dt, const CStateManager& mgr, CRandom16& rand, C
if (x8_curSubscreen != xc_nextSubscreen)
{
x10_interp = std::max(0.f, x10_interp - dt);
x10_alphaInterp = std::max(0.f, x10_alphaInterp - dt);
if (!curScreen || !curScreen->InputDisabled())
{
if (!otherScreen || otherScreen->IsReady())
{
if (x10_interp == 0.f)
if (x10_alphaInterp == 0.f)
TransitionComplete();
}
}
@@ -248,7 +248,7 @@ void CPauseScreen::Update(float dt, const CStateManager& mgr, CRandom16& rand, C
{
curScreen->Update(dt, rand, archQueue);
zeus::CColor color = zeus::CColor::skWhite;
color.a = std::min(curScreen->GetAlpha(), x8_curSubscreen != xc_nextSubscreen ? x10_interp / 0.5f : 1.f);
color.a = std::min(curScreen->GetAlpha(), x8_curSubscreen != xc_nextSubscreen ? x10_alphaInterp / 0.5f : 1.f);
x40_textpane_a->SetColor(color);
x44_textpane_b->SetColor(color);
}
@@ -273,7 +273,7 @@ void CPauseScreen::Draw()
std::unique_ptr<CPauseScreenBase>& curScreen = x7c_screens[x78_activeIdx];
if (curScreen && curScreen->CanDraw())
{
float useInterp = x10_interp == 0.f ? 1.f : x10_interp / 0.5f;
float useInterp = x10_alphaInterp == 0.f ? 1.f : x10_alphaInterp / 0.5f;
float initInterp = std::min(curScreen->GetAlpha(), useInterp);
if (xc_nextSubscreen == ESubScreen::Invalid)
totalAlpha = useInterp;