mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 01:59:43 +01:00
Smoothly interpolate editor notedelay
This makes editor notes fade out smoothly. And even though the notedelay only gets decremented by one every editor-frame (the editor runs at 1000/24 FPS fixed-timestep here), it actually gets multiplied by 4, so a floating-point interpolated value would make a difference here.
This commit is contained in:
parent
68fe5bd72d
commit
ca9f44c3b8
2 changed files with 6 additions and 2 deletions
|
@ -305,6 +305,7 @@ void editorclass::reset()
|
|||
saveandquit=false;
|
||||
note="";
|
||||
notedelay=0;
|
||||
oldnotedelay=0;
|
||||
roomnamemod=false;
|
||||
textentry=false;
|
||||
savemod=false;
|
||||
|
@ -3574,11 +3575,12 @@ void editorrender()
|
|||
}
|
||||
}
|
||||
|
||||
if(ed.notedelay>0)
|
||||
if(ed.notedelay>0 || ed.oldnotedelay>0)
|
||||
{
|
||||
float alpha = graphics.lerp(ed.oldnotedelay, ed.notedelay);
|
||||
FillRect(graphics.backBuffer, 0,115,320,18, graphics.getRGB(92,92,92));
|
||||
FillRect(graphics.backBuffer, 0,116,320,16, graphics.getRGB(0,0,0));
|
||||
graphics.Print(0,121, ed.note,196-((45-ed.notedelay)*4), 196-((45-ed.notedelay)*4), 196-((45-ed.notedelay)*4), true);
|
||||
graphics.Print(0,121, ed.note,196-((45.0f-alpha)*4), 196-((45.0f-alpha)*4), 196-((45.0f-alpha)*4), true);
|
||||
}
|
||||
|
||||
graphics.drawfade();
|
||||
|
@ -3601,6 +3603,7 @@ void editorlogic()
|
|||
ed.entframedelay=8;
|
||||
}
|
||||
|
||||
ed.oldnotedelay = ed.notedelay;
|
||||
if(ed.notedelay>0)
|
||||
{
|
||||
ed.notedelay--;
|
||||
|
|
|
@ -164,6 +164,7 @@ class editorclass{
|
|||
|
||||
int temp;
|
||||
int notedelay;
|
||||
int oldnotedelay;
|
||||
std::string note;
|
||||
std::string keybuffer;
|
||||
std::string filename;
|
||||
|
|
Loading…
Reference in a new issue