The patch adds the function wglGetExtensionsStringARB() in the opengl32 dll. The Quake III Arena based game "Star Trek Elite Force II Single Player Demo" uses this function, even if it does not exist, which results in an exception. The patch to opengl32.spec is not really necessary, as it should be rebuilt with make_opengl anyway. Uwe Girlich (Uwe.Girlich@philosys.de) Index: dlls/opengl32/make_opengl =================================================================== RCS file: /home/wine/wine/dlls/opengl32/make_opengl,v retrieving revision 1.15 diff -u -r1.15 make_opengl --- dlls/opengl32/make_opengl 14 Apr 2003 21:34:11 -0000 1.15 +++ dlls/opengl32/make_opengl 6 May 2003 20:00:17 -0000 @@ -518,6 +518,7 @@ @ stdcall wglGetCurrentContext() @ stdcall wglGetCurrentDC() @ stdcall wglGetExtensionsStringEXT() +@ stdcall wglGetExtensionsStringARB(long) @ stdcall wglGetLayerPaletteEntries(long long long long ptr) @ stdcall wglGetProcAddress(str) @ stdcall wglMakeCurrent(long long) Index: dlls/opengl32/opengl32.spec =================================================================== RCS file: /home/wine/wine/dlls/opengl32/opengl32.spec,v retrieving revision 1.19 diff -u -r1.19 opengl32.spec --- dlls/opengl32/opengl32.spec 20 Mar 2003 03:53:13 -0000 1.19 +++ dlls/opengl32/opengl32.spec 6 May 2003 20:00:17 -0000 @@ -6,6 +6,7 @@ @ stdcall wglGetCurrentContext() @ stdcall wglGetCurrentDC() @ stdcall wglGetExtensionsStringEXT() +@ stdcall wglGetExtensionsStringARB(long) @ stdcall wglGetLayerPaletteEntries(long long long long ptr) @ stdcall wglGetProcAddress(str) @ stdcall wglMakeCurrent(long long) Index: dlls/opengl32/wgl.c =================================================================== RCS file: /home/wine/wine/dlls/opengl32/wgl.c,v retrieving revision 1.32 diff -u -r1.32 wgl.c --- dlls/opengl32/wgl.c 22 Apr 2003 04:05:08 -0000 1.32 +++ dlls/opengl32/wgl.c 6 May 2003 20:00:23 -0000 @@ -661,6 +661,12 @@ return WGL_extensions; } +const char * WINAPI wglGetExtensionsStringARB(HDC hdc) { + TRACE("() returning \"%s\"\n", WGL_extensions); + + return WGL_extensions; +} + static void process_detach(void) { glXDestroyContext(default_display, default_cx);