mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-30 01:48:15 +03: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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user