]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - gl_backend.c
GL_Color no longer interacts with GL_ColorPointer (so be sure to set GL_ColorPointer...
[xonotic/darkplaces.git] / gl_backend.c
index c4d6228498d1bbdcc0a71ecc8cfc8440c8efed67..d562789da5b3fcd00003e8b9382d9c191ee48a8a 100644 (file)
@@ -155,7 +155,7 @@ void GL_Backend_FreeArrays(void)
 
 static void gl_backend_start(void)
 {
-       Con_DPrintf("OpenGL Backend started\n");
+       Con_DPrint("OpenGL Backend started\n");
        if (qglDrawRangeElements != NULL)
        {
                CHECKGLERROR
@@ -178,7 +178,7 @@ static void gl_backend_shutdown(void)
        backendunits = 0;
        backendactive = false;
 
-       Con_DPrintf("OpenGL Backend shutting down\n");
+       Con_DPrint("OpenGL Backend shutting down\n");
 
        GL_Backend_FreeArrays();
 }
@@ -451,6 +451,7 @@ void GL_Backend_ResetState(void)
        qglColorPointer(4, GL_FLOAT, sizeof(float[4]), NULL);CHECKGLERROR
        qglDisableClientState(GL_COLOR_ARRAY);CHECKGLERROR
 
+       GL_ColorPointer(NULL);
        GL_Color(0, 0, 0, 0);
        GL_Color(1, 1, 1, 1);
 
@@ -556,7 +557,7 @@ void GL_ColorMask(int r, int g, int b, int a)
                if (r_showtrispass)
                        return;
                gl_state.colormask = state;
-               qglColorMask(r, g, b, a);CHECKGLERROR
+               qglColorMask((GLboolean)r, (GLboolean)g, (GLboolean)b, (GLboolean)a);CHECKGLERROR
        }
 }
 
@@ -587,6 +588,9 @@ void GL_ColorPointer(const float *p)
                {
                        qglDisableClientState(GL_COLOR_ARRAY);
                        CHECKGLERROR
+                       // when color array is on the glColor gets trashed, set it again
+                       qglColor4f(gl_state.color4f[0], gl_state.color4f[1], gl_state.color4f[2], gl_state.color4f[3]);
+                       CHECKGLERROR
                }
                gl_state.pointer_color = p;
                qglColorPointer(4, GL_FLOAT, sizeof(float[4]), gl_state.pointer_color);
@@ -600,13 +604,12 @@ void GL_Color(float cr, float cg, float cb, float ca)
        {
                if (r_showtrispass)
                        return;
-               GL_ColorPointer(NULL);
                gl_state.color4f[0] = cr;
                gl_state.color4f[1] = cg;
                gl_state.color4f[2] = cb;
                gl_state.color4f[3] = ca;
                CHECKGLERROR
-               qglColor4f(cr, cg, cb, ca);
+               qglColor4f(gl_state.color4f[0], gl_state.color4f[1], gl_state.color4f[2], gl_state.color4f[3]);
                CHECKGLERROR
        }
 }
@@ -729,13 +732,13 @@ void R_Mesh_Draw(int numverts, int numtriangles, const int *elements)
                        int i, j, size;
                        const int *p;
                        if (!qglIsEnabled(GL_VERTEX_ARRAY))
-                               Con_Printf("R_Mesh_Draw: vertex array not enabled\n");
+                               Con_Print("R_Mesh_Draw: vertex array not enabled\n");
                        for (j = 0, size = numverts * (int)sizeof(float[3]), p = gl_state.pointer_vertex;j < size;j += sizeof(int), p++)
                                paranoidblah += *p;
                        if (gl_state.pointer_color)
                        {
                                if (!qglIsEnabled(GL_COLOR_ARRAY))
-                                       Con_Printf("R_Mesh_Draw: color array set but not enabled\n");
+                                       Con_Print("R_Mesh_Draw: color array set but not enabled\n");
                                for (j = 0, size = numverts * (int)sizeof(float[4]), p = gl_state.pointer_color;j < size;j += sizeof(int), p++)
                                        paranoidblah += *p;
                        }
@@ -744,10 +747,10 @@ void R_Mesh_Draw(int numverts, int numtriangles, const int *elements)
                                if (gl_state.units[i].t1d || gl_state.units[i].t2d || gl_state.units[i].t3d || gl_state.units[i].tcubemap || gl_state.units[i].arrayenabled)
                                {
                                        if (gl_state.units[i].arrayenabled && !(gl_state.units[i].t1d || gl_state.units[i].t2d || gl_state.units[i].t3d || gl_state.units[i].tcubemap))
-                                               Con_Printf("R_Mesh_Draw: array enabled but no texture bound\n");
+                                               Con_Print("R_Mesh_Draw: array enabled but no texture bound\n");
                                        GL_ActiveTexture(i);
                                        if (!qglIsEnabled(GL_TEXTURE_COORD_ARRAY))
-                                               Con_Printf("R_Mesh_Draw: texcoord array set but not enabled\n");
+                                               Con_Print("R_Mesh_Draw: texcoord array set but not enabled\n");
                                        for (j = 0, size = numverts * ((gl_state.units[i].t3d || gl_state.units[i].tcubemap) ? (int)sizeof(float[3]) : (int)sizeof(float[2])), p = gl_state.units[i].pointer_texcoord;j < size;j += sizeof(int), p++)
                                                paranoidblah += *p;
                                }
@@ -1509,13 +1512,13 @@ int R_Mesh_CacheArray(rcachearrayrequest_t *r)
        l->prev = l->next->prev;
        while (l->next->data && l->data && l->next->data->offset <= d->offset)
        {
-               //Con_Printf(">\n");
+               //Con_Print(">\n");
                l->next = l->next->next;
                l->prev = l->prev->next;
        }
        while (l->prev->data && l->data && l->prev->data->offset >= d->offset)
        {
-               //Con_Printf("<\n");
+               //Con_Print("<\n");
                l->prev = l->prev->prev;
                l->next = l->next->prev;
        }