]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - vid_agl.c
allow typing characters above 126
[xonotic/darkplaces.git] / vid_agl.c
index 6fa1e75a921b4e0de2998b5325e0909855ef36e3..cbca607a92e575f08592a58333fc23aaede9ab37 100644 (file)
--- a/vid_agl.c
+++ b/vid_agl.c
@@ -319,14 +319,14 @@ int VID_InitMode(int fullscreen, int width, int height, int bpp)
                return false;
        }
 
-       if ((qaglChoosePixelFormat = GL_GetProcAddress("aglChoosePixelFormat")) == NULL
-        || (qaglCreateContext = GL_GetProcAddress("aglCreateContext")) == NULL
-        || (qaglDestroyContext = GL_GetProcAddress("aglDestroyContext")) == NULL
-        || (qaglDestroyPixelFormat = GL_GetProcAddress("aglDestroyPixelFormat")) == NULL
-        || (qaglSetCurrentContext = GL_GetProcAddress("aglSetCurrentContext")) == NULL
-        || (qaglSetDrawable = GL_GetProcAddress("aglSetDrawable")) == NULL
-        || (qaglSetFullScreen = GL_GetProcAddress("aglSetFullScreen")) == NULL
-        || (qaglSwapBuffers = GL_GetProcAddress("aglSwapBuffers")) == NULL
+       if ((qaglChoosePixelFormat = (AGLPixelFormat (*) (const AGLDevice *gdevs, GLint ndev, const GLint *attribList))GL_GetProcAddress("aglChoosePixelFormat")) == NULL
+        || (qaglCreateContext = (AGLContext (*) (AGLPixelFormat pix, AGLContext share))GL_GetProcAddress("aglCreateContext")) == NULL
+        || (qaglDestroyContext = (GLboolean (*) (AGLContext ctx))GL_GetProcAddress("aglDestroyContext")) == NULL
+        || (qaglDestroyPixelFormat = (void (*) (AGLPixelFormat pix))GL_GetProcAddress("aglDestroyPixelFormat")) == NULL
+        || (qaglSetCurrentContext = (GLboolean (*) (AGLContext ctx))GL_GetProcAddress("aglSetCurrentContext")) == NULL
+        || (qaglSetDrawable = (GLboolean (*) (AGLContext ctx, AGLDrawable draw))GL_GetProcAddress("aglSetDrawable")) == NULL
+        || (qaglSetFullScreen = (GLboolean (*) (AGLContext ctx, GLsizei width, GLsizei height, GLsizei freq, GLint device))GL_GetProcAddress("aglSetFullScreen")) == NULL
+        || (qaglSwapBuffers = (void (*) (AGLContext ctx))GL_GetProcAddress("aglSwapBuffers")) == NULL
        )
        {
                Con_Printf("AGL functions not found\n");
@@ -378,27 +378,29 @@ int VID_InitMode(int fullscreen, int width, int height, int bpp)
 
        // Set context and show the window
        context = qaglCreateContext(pixelFormat, NULL);
-       qaglDestroyPixelFormat(pixelFormat);
        if (context == NULL)
-               Sys_Error ("aglCreateContext failed\n");
-       if (!qaglSetDrawable(context, GetWindowPort(window)))
-               Sys_Error ("aglSetDrawable failed\n");
+               Sys_Error ("aglCreateContext failed");
+       if (fullscreen)
+       {
+               if (!qaglSetFullScreen (context, width, height, 0, 0))
+                       Sys_Error("aglSetFullScreen failed");
+               vid_isfullscreen = true;
+       }
+       else
+       {
+               if (!qaglSetDrawable(context, GetWindowPort(window)))
+                       Sys_Error ("aglSetDrawable failed");
+       }
        if (!qaglSetCurrentContext(context))
-               Sys_Error ("aglSetCurrentContext failed\n");
+               Sys_Error ("aglSetCurrentContext failed");
+       qaglDestroyPixelFormat(pixelFormat);
 
        scr_width = width;
        scr_height = height;
 
-       if ((qglGetString = GL_GetProcAddress("glGetString")) == NULL)
+       if ((qglGetString = (const GLubyte* (GLAPIENTRY *)(GLenum name))GL_GetProcAddress("glGetString")) == NULL)
                Sys_Error("glGetString not found in %s", gl_driver);
 
-       if (fullscreen)
-       {
-               if (!qaglSetFullScreen (context, width, height, 0, 0))
-                       Sys_Error("aglSetFullScreen failed\n");
-               vid_isfullscreen = true;
-       }
-
        gl_renderer = (const char *)qglGetString(GL_RENDERER);
        gl_vendor = (const char *)qglGetString(GL_VENDOR);
        gl_version = (const char *)qglGetString(GL_VERSION);
@@ -454,7 +456,7 @@ static void Handle_KeyMod(UInt32 keymod)
        prev_keymod = keymod;
 }
 
-static void Handle_Key(qbyte charcode, qboolean keypressed)
+static void Handle_Key(unsigned char charcode, qboolean keypressed)
 {
        unsigned int keycode = 0;
        char ascii = '\0';
@@ -512,7 +514,7 @@ static void Handle_Key(qbyte charcode, qboolean keypressed)
                                keycode = charcode + ('a' - 'A');  // lowercase it
                                ascii = charcode;
                        }
-                       else if (32 <= charcode && charcode <= 126)
+                       else if (32 <= charcode)
                        {
                                keycode = charcode;
                                ascii = charcode;