From abb54958e176603f97ed6bfe11838d4089aa28a9 Mon Sep 17 00:00:00 2001 From: helixhorned Date: Mon, 10 Dec 2012 18:17:44 +0000 Subject: [PATCH] Factor dup. code in SDL/Windows layers into baselayer.c:fullscreen_tint_gl(). git-svn-id: https://svn.eduke32.com/eduke32@3263 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/build/include/baselayer.h | 1 + polymer/eduke32/build/src/baselayer.c | 29 +++++++++++++++++++++++ polymer/eduke32/build/src/sdlayer.c | 28 +--------------------- polymer/eduke32/build/src/winlayer.c | 28 +--------------------- 4 files changed, 32 insertions(+), 54 deletions(-) diff --git a/polymer/eduke32/build/include/baselayer.h b/polymer/eduke32/build/include/baselayer.h index bf85dc877..ebf057372 100644 --- a/polymer/eduke32/build/include/baselayer.h +++ b/polymer/eduke32/build/include/baselayer.h @@ -41,6 +41,7 @@ extern char offscreenrendering; extern void (*baselayer_onvideomodechange)(int32_t); #ifdef USE_OPENGL +void fullscreen_tint_gl(uint8_t r, uint8_t g, uint8_t b, uint8_t f); extern int32_t osdcmd_glinfo(const osdfuncparm_t *parm); struct glinfo_t { diff --git a/polymer/eduke32/build/src/baselayer.c b/polymer/eduke32/build/src/baselayer.c index 4e335dbfb..5479ef1d9 100644 --- a/polymer/eduke32/build/src/baselayer.c +++ b/polymer/eduke32/build/src/baselayer.c @@ -127,6 +127,35 @@ void readjoybstatus(int32_t *b) } #ifdef USE_OPENGL +void fullscreen_tint_gl(uint8_t r, uint8_t g, uint8_t b, uint8_t f) +{ + bglMatrixMode(GL_PROJECTION); + bglPushMatrix(); + bglLoadIdentity(); + bglMatrixMode(GL_MODELVIEW); + bglPushMatrix(); + bglLoadIdentity(); + + bglDisable(GL_DEPTH_TEST); + bglDisable(GL_ALPHA_TEST); + bglDisable(GL_TEXTURE_2D); + + bglEnable(GL_BLEND); + bglColor4ub(r, g, b, f); + + bglBegin(GL_TRIANGLES); + bglVertex2f(-2.5f, 1.f); + bglVertex2f(2.5f, 1.f); + bglVertex2f(.0f, -2.5f); + bglEnd(); + + bglDisable(GL_BLEND); + + bglPopMatrix(); + bglMatrixMode(GL_PROJECTION); + bglPopMatrix(); +} + struct glinfo_t glinfo = { "Unknown", // vendor diff --git a/polymer/eduke32/build/src/sdlayer.c b/polymer/eduke32/build/src/sdlayer.c index 4590c3006..8eed3caf0 100644 --- a/polymer/eduke32/build/src/sdlayer.c +++ b/polymer/eduke32/build/src/sdlayer.c @@ -1728,33 +1728,7 @@ void showframe(int32_t w) if (bpp > 8) { if (palfadedelta) - { - bglMatrixMode(GL_PROJECTION); - bglPushMatrix(); - bglLoadIdentity(); - bglMatrixMode(GL_MODELVIEW); - bglPushMatrix(); - bglLoadIdentity(); - - bglDisable(GL_DEPTH_TEST); - bglDisable(GL_ALPHA_TEST); - bglDisable(GL_TEXTURE_2D); - - bglEnable(GL_BLEND); - bglColor4ub(palfadergb.r, palfadergb.g, palfadergb.b, palfadedelta); - - bglBegin(GL_TRIANGLES); - bglVertex2f(-2.5f, 1.f); - bglVertex2f(2.5f, 1.f); - bglVertex2f(.0f, -2.5f); - bglEnd(); - - bglDisable(GL_BLEND); - - bglPopMatrix(); - bglMatrixMode(GL_PROJECTION); - bglPopMatrix(); - } + fullscreen_tint_gl(palfadergb.r, palfadergb.g, palfadergb.b, palfadedelta); # if SDL_MAJOR_VERSION==1 SDL_GL_SwapBuffers(); diff --git a/polymer/eduke32/build/src/winlayer.c b/polymer/eduke32/build/src/winlayer.c index 44cfbe083..60bc6374e 100644 --- a/polymer/eduke32/build/src/winlayer.c +++ b/polymer/eduke32/build/src/winlayer.c @@ -1950,33 +1950,7 @@ void showframe(int32_t w) if (bpp > 8) { if (palfadedelta) - { - bglMatrixMode(GL_PROJECTION); - bglPushMatrix(); - bglLoadIdentity(); - bglMatrixMode(GL_MODELVIEW); - bglPushMatrix(); - bglLoadIdentity(); - - bglDisable(GL_DEPTH_TEST); - bglDisable(GL_ALPHA_TEST); - bglDisable(GL_TEXTURE_2D); - - bglEnable(GL_BLEND); - bglColor4ub(palfadergb.r, palfadergb.g, palfadergb.b, palfadedelta); - - bglBegin(GL_TRIANGLES); - bglVertex2f(-2.5f, 1.f); - bglVertex2f(2.5f, 1.f); - bglVertex2f(.0f, -2.5f); - bglEnd(); - - bglDisable(GL_BLEND); - - bglPopMatrix(); - bglMatrixMode(GL_PROJECTION); - bglPopMatrix(); - } + fullscreen_tint_gl(palfadergb.r, palfadergb.g, palfadergb.b, palfadedelta); bwglSwapBuffers(hDC); return;