Fix delta rendering glitch when going to options from new Esc menu

Well this is a bit annoying. I can call graphics.updatetowerbackground()
just fine, but I have to get at the title color update routine inside
titlelogic(), which is hard-baked in. So I have to pull that code
outside of the function, export it in the header, and then call it when
I transition to TITLEMODE.
This commit is contained in:
Misa
2020-06-22 16:41:07 -07:00
committed by Ethan Lee
parent 06102e2db3
commit 4c5b018f6c
3 changed files with 25 additions and 9 deletions

View File

@@ -1,4 +1,5 @@
#include "Input.h" #include "Input.h"
#include "Logic.h"
#include "Script.h" #include "Script.h"
#include "MakeAndPlay.h" #include "MakeAndPlay.h"
@@ -2094,6 +2095,10 @@ void mapmenuactionpress()
game.gamestate = TITLEMODE; game.gamestate = TITLEMODE;
game.createmenu(Menu::graphicoptions); game.createmenu(Menu::graphicoptions);
map.nexttowercolour(); map.nexttowercolour();
// Fix delta rendering glitch
graphics.updatetowerbackground();
titleupdatetextcol();
break; break;
case 33: case 33:
// Game options // Game options
@@ -2101,6 +2106,10 @@ void mapmenuactionpress()
game.gamestate = TITLEMODE; game.gamestate = TITLEMODE;
game.createmenu(Menu::options); game.createmenu(Menu::options);
map.nexttowercolour(); map.nexttowercolour();
// Fix delta rendering glitch
graphics.updatetowerbackground();
titleupdatetextcol();
break; break;
} }
} }

View File

@@ -3,6 +3,19 @@
#include "Network.h" #include "Network.h"
#include "FileSystemUtils.h" #include "FileSystemUtils.h"
void titleupdatetextcol()
{
graphics.col_tr = map.r - (help.glow / 4) - int(fRandom() * 4);
graphics.col_tg = map.g - (help.glow / 4) - int(fRandom() * 4);
graphics.col_tb = map.b - (help.glow / 4) - int(fRandom() * 4);
if (graphics.col_tr < 0) graphics.col_tr = 0;
if(graphics.col_tr>255) graphics.col_tr=255;
if (graphics.col_tg < 0) graphics.col_tg = 0;
if(graphics.col_tg>255) graphics.col_tg=255;
if (graphics.col_tb < 0) graphics.col_tb = 0;
if(graphics.col_tb>255) graphics.col_tb=255;
}
void titlelogic() void titlelogic()
{ {
//Misc //Misc
@@ -25,15 +38,7 @@ void titlelogic()
} }
else else
{ {
graphics.col_tr = map.r - (help.glow / 4) - int(fRandom() * 4); titleupdatetextcol();
graphics.col_tg = map.g - (help.glow / 4) - int(fRandom() * 4);
graphics.col_tb = map.b - (help.glow / 4) - int(fRandom() * 4);
if (graphics.col_tr < 0) graphics.col_tr = 0;
if(graphics.col_tr>255) graphics.col_tr=255;
if (graphics.col_tg < 0) graphics.col_tg = 0;
if(graphics.col_tg>255) graphics.col_tg=255;
if (graphics.col_tb < 0) graphics.col_tb = 0;
if(graphics.col_tb>255) graphics.col_tb=255;
graphics.updatetitlecolours(); graphics.updatetitlecolours();
} }

View File

@@ -8,6 +8,8 @@
#include "Music.h" #include "Music.h"
#include "Map.h" #include "Map.h"
void titleupdatetextcol();
void titlelogic(); void titlelogic();
void maplogic(); void maplogic();