From 28db7038fce44ec9ec4162c317ffc3b80faa6fe6 Mon Sep 17 00:00:00 2001 From: Misa Date: Wed, 29 Apr 2020 14:28:11 -0700 Subject: [PATCH] Merge drawtowerbackgroundsolo() into drawtowerbackground() It's less code being copied and pasted, especially since for my over-30-FPS patch I would have to make a separate function for each if both of them were still there, but if they're unified into one then I will only have to make one more function. And since map.scrolldir is now used outside of GAMEMODE, we'll need to reset it in hardreset() and when exiting playtesting. --- desktop_version/src/Graphics.cpp | 48 +++++--------------------------- desktop_version/src/Graphics.h | 2 -- desktop_version/src/Input.cpp | 1 + desktop_version/src/Render.cpp | 4 +-- desktop_version/src/Script.cpp | 1 + desktop_version/src/editor.cpp | 2 +- 6 files changed, 12 insertions(+), 46 deletions(-) diff --git a/desktop_version/src/Graphics.cpp b/desktop_version/src/Graphics.cpp index 36fdee84..f33fc231 100644 --- a/desktop_version/src/Graphics.cpp +++ b/desktop_version/src/Graphics.cpp @@ -2201,43 +2201,6 @@ void Graphics::drawtowerspikes() } } -void Graphics::drawtowerbackgroundsolo() -{ - if (map.bypos < 0) - { - map.bypos += 120 * 8; - } - - int temp = 0; - - if (map.tdrawback) - { - //Draw the whole thing; needed for every colour cycle! - for (int j = 0; j < 31; j++) - { - for (int i = 0; i < 40; i++) - { - temp = map.tower.backat(i, j, map.bypos); - drawtowertile3(i * 8, (j * 8) - (map.bypos % 8), temp, map.colstate); - } - } - SDL_BlitSurface(towerbuffer,NULL, backBuffer,NULL); - map.tdrawback = false; - } - else - { - //just update the bottom - ScrollSurface(towerbuffer,0, -map.bscroll); - for (int i = 0; i < 40; i++) - { - temp = map.tower.backat(i, 0, map.bypos); - drawtowertile3(i * 8, -(map.bypos % 8), temp, map.colstate); - } - - SDL_BlitSurface(towerbuffer, NULL, backBuffer,NULL); - } -} - void Graphics::drawtowerbackground() { int temp; @@ -2248,7 +2211,7 @@ void Graphics::drawtowerbackground() { int off = map.scrolldir == 0 ? 0 : map.bscroll; //Draw the whole thing; needed for every colour cycle! - for (j = 0; j < 30; j++) + for (int j = 0; j < 31; j++) { for (int i = 0; i < 40; i++) { @@ -2265,14 +2228,17 @@ void Graphics::drawtowerbackground() { //just update the bottom ScrollSurface(towerbuffer, 0, -map.bscroll); - for (int i = 0; i < 40; i++) + if (map.scrolldir == 0) { - if (map.scrolldir == 0) + for (int i = 0; i < 40; i++) { temp = map.tower.backat(i, 0, map.bypos); drawtowertile3(i * 8, -(map.bypos % 8), temp, map.colstate); } - else + } + else + { + for (int i = 0; i < 40; i++) { temp = map.tower.backat(i, 29, map.bypos); drawtowertile3(i * 8, 29*8 - (map.bypos % 8) - map.bscroll, temp, map.colstate); diff --git a/desktop_version/src/Graphics.h b/desktop_version/src/Graphics.h index 6c4e224a..025bb21d 100644 --- a/desktop_version/src/Graphics.h +++ b/desktop_version/src/Graphics.h @@ -185,8 +185,6 @@ public: bool onscreen(int t); - void drawtowerbackgroundsolo(); - void menuoffrender(); diff --git a/desktop_version/src/Input.cpp b/desktop_version/src/Input.cpp index faea3c8c..e49d75e5 100644 --- a/desktop_version/src/Input.cpp +++ b/desktop_version/src/Input.cpp @@ -1556,6 +1556,7 @@ void gameinput() ed.level[i+(j*ed.maxwidth)].warpdir=ed.kludgewarpdir[i+(j*ed.maxwidth)]; } } + map.scrolldir = 0; } } } diff --git a/desktop_version/src/Render.cpp b/desktop_version/src/Render.cpp index e54a16b5..584e06e7 100644 --- a/desktop_version/src/Render.cpp +++ b/desktop_version/src/Render.cpp @@ -1069,7 +1069,7 @@ void titlerender() } else { - if(!game.colourblindmode) graphics.drawtowerbackgroundsolo(); + if(!game.colourblindmode) graphics.drawtowerbackground(); tr = map.r - (help.glow / 4) - int(fRandom() * 4); tg = map.g - (help.glow / 4) - int(fRandom() * 4); @@ -1131,7 +1131,7 @@ void gamecompleterender() { FillRect(graphics.backBuffer, 0x000000); - if(!game.colourblindmode) graphics.drawtowerbackgroundsolo(); + if(!game.colourblindmode) graphics.drawtowerbackground(); tr = map.r - (help.glow / 4) - fRandom() * 4; tg = map.g - (help.glow / 4) - fRandom() * 4; diff --git a/desktop_version/src/Script.cpp b/desktop_version/src/Script.cpp index dfa05f50..ab5ff5fa 100644 --- a/desktop_version/src/Script.cpp +++ b/desktop_version/src/Script.cpp @@ -3532,6 +3532,7 @@ void scriptclass::hardreset() map.towermode=false; map.cameraseekframe = 0; map.resumedelay = 0; + map.scrolldir = 0; map.customshowmm=true; for (j = 0; j < 20; j++) diff --git a/desktop_version/src/editor.cpp b/desktop_version/src/editor.cpp index 2cf52145..440617a5 100644 --- a/desktop_version/src/editor.cpp +++ b/desktop_version/src/editor.cpp @@ -3010,7 +3010,7 @@ void editorrender() { if(!game.colourblindmode) { - graphics.drawtowerbackgroundsolo(); + graphics.drawtowerbackground(); } else {