mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 01:59:43 +01:00
Ensure oldfadeamount is updated when fadeamount is
Like cutscene bars, I've added Graphics::setfade(), to ensure that no deltaframe rendering glitches happen due to oldfadeamount not being updated properly. And indeed, this fixes a deltaframe rendering glitch that happens if you return to the editor from playtesting on a faded-out screen, then fade out again (by either re-entering playtesting and then cause a fadeout to happen again, or by quitting from the editor afterwards). The same glitch also happens outside of in-editor playtesting if you exit to the menu while the screen is faded out.
This commit is contained in:
parent
f22756dd99
commit
f6ecf83190
3 changed files with 11 additions and 5 deletions
|
@ -95,8 +95,7 @@ void Graphics::init(void)
|
|||
//Fading stuff
|
||||
SDL_memset(fadebars, 0, sizeof(fadebars));
|
||||
|
||||
fadeamount = 0;
|
||||
oldfadeamount = 0;
|
||||
setfade(0);
|
||||
fademode = 0;
|
||||
|
||||
// initialize everything else to zero
|
||||
|
@ -1354,7 +1353,7 @@ void Graphics::processfade(void)
|
|||
{
|
||||
fadebars[i] = -int(fRandom() * 12) * 8;
|
||||
}
|
||||
fadeamount = 0;
|
||||
setfade(0);
|
||||
fademode = 3;
|
||||
}
|
||||
else if (fademode == 3)
|
||||
|
@ -1372,7 +1371,7 @@ void Graphics::processfade(void)
|
|||
{
|
||||
fadebars[i] = 320 + int(fRandom() * 12) * 8;
|
||||
}
|
||||
fadeamount = 416;
|
||||
setfade(416);
|
||||
fademode = 5;
|
||||
}
|
||||
else if (fademode == 5)
|
||||
|
@ -1386,6 +1385,12 @@ void Graphics::processfade(void)
|
|||
}
|
||||
}
|
||||
|
||||
void Graphics::setfade(const int amount)
|
||||
{
|
||||
fadeamount = amount;
|
||||
oldfadeamount = amount;
|
||||
}
|
||||
|
||||
void Graphics::drawmenu( int cr, int cg, int cb, bool levelmenu /*= false*/ )
|
||||
{
|
||||
for (size_t i = 0; i < game.menuoptions.size(); i++)
|
||||
|
|
|
@ -45,6 +45,7 @@ public:
|
|||
void drawmenu(int cr, int cg, int cb, bool levelmenu = false);
|
||||
|
||||
void processfade(void);
|
||||
void setfade(const int amount);
|
||||
|
||||
void drawfade(void);
|
||||
|
||||
|
|
|
@ -1498,7 +1498,7 @@ void scriptclass::run(void)
|
|||
}
|
||||
else if (words[0] == "befadein")
|
||||
{
|
||||
graphics.fadeamount = 0;
|
||||
graphics.setfade(0);
|
||||
graphics.fademode= 0;
|
||||
}
|
||||
else if (words[0] == "fadein")
|
||||
|
|
Loading…
Reference in a new issue