summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/renderer/tr_cmds.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/renderer/tr_cmds.c b/src/renderer/tr_cmds.c
index 6eba4162..30088429 100644
--- a/src/renderer/tr_cmds.c
+++ b/src/renderer/tr_cmds.c
@@ -383,7 +383,8 @@ void RE_StretchPic ( float x, float y, float w, float h,
#define MODE_RED_CYAN 1
#define MODE_RED_BLUE 2
#define MODE_RED_GREEN 3
-#define MODE_MAX MODE_RED_GREEN
+#define MODE_GREEN_MAGENTA 4
+#define MODE_MAX MODE_GREEN_MAGENTA
void R_SetColorMode(GLboolean *rgba, stereoFrame_t stereoFrame, int colormode)
{
@@ -399,16 +400,26 @@ void R_SetColorMode(GLboolean *rgba, stereoFrame_t stereoFrame, int colormode)
colormode -= MODE_MAX;
}
- if(stereoFrame == STEREO_LEFT)
- rgba[1] = rgba[2] = GL_FALSE;
- else if(stereoFrame == STEREO_RIGHT)
+ if(colormode == MODE_GREEN_MAGENTA)
{
- rgba[0] = GL_FALSE;
-
- if(colormode == MODE_RED_BLUE)
+ if(stereoFrame == STEREO_LEFT)
+ rgba[0] = rgba[2] = GL_FALSE;
+ else if(stereoFrame == STEREO_RIGHT)
rgba[1] = GL_FALSE;
- else if(colormode == MODE_RED_GREEN)
- rgba[2] = GL_FALSE;
+ }
+ else
+ {
+ if(stereoFrame == STEREO_LEFT)
+ rgba[1] = rgba[2] = GL_FALSE;
+ else if(stereoFrame == STEREO_RIGHT)
+ {
+ rgba[0] = GL_FALSE;
+
+ if(colormode == MODE_RED_BLUE)
+ rgba[1] = GL_FALSE;
+ else if(colormode == MODE_RED_GREEN)
+ rgba[2] = GL_FALSE;
+ }
}
}