From db01fa04f29c9e1a2f1fa5ca0da8cca8cd11a2df Mon Sep 17 00:00:00 2001 From: Lephenixnoir Date: Wed, 4 Aug 2021 15:11:03 +0200 Subject: [PATCH] Set a black frame when not using direct-DD access --- cgdoom/cgdoom.c | 7 ++++++- cgdoom/i_video.c | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cgdoom/cgdoom.c b/cgdoom/cgdoom.c index 6793980..c5cc2c7 100644 --- a/cgdoom/cgdoom.c +++ b/cgdoom/cgdoom.c @@ -609,6 +609,8 @@ int main(void){ #else EnableColor(1); EnableStatusArea(3); + Bdisp_FrameAndColor(3, 16); + Bdisp_FrameAndColor(1, 0); WADFileInfo wads[16]; int wad_count = FindWADs(wads, 16); @@ -689,9 +691,12 @@ int main(void){ } } - memset(VRAM,0,WIDTH*HEIGHT*2); + memset(VRAM, 0, WIDTH*HEIGHT*2); D_DoomMain(); + Bdisp_FrameAndColor(3, 16); + Bdisp_FrameAndColor(1, 0); + if(gWADfd >= 0) Bfile_CloseFile_OS(gWADfd); diff --git a/cgdoom/i_video.c b/cgdoom/i_video.c index 4f2f49f..b636bae 100644 --- a/cgdoom/i_video.c +++ b/cgdoom/i_video.c @@ -159,6 +159,13 @@ void I_ShutdownGraphics(void) void I_Flip (void) { + /* Set a black frame if the current one is white */ + if ((Bdisp_FrameAndColor(0, 0) & 1) == 0) + { + Bdisp_FrameAndColor(3, 17); + Bdisp_FrameAndColor(1, 0); + } + int x,y; for(y=0;y