# HG changeset patch # User Sam Lantinga # Date 1106672231 0 # Node ID c1c2efca4548f08b2e554e48a893d2eb0cd869d8 # Parent 3cf036d8861f4c671916cc9808ad5608760095ab Date: Mon, 24 Jan 2005 21:37:56 +0800 From: Chris Taylor Subject: Patch to put back dynamic OpenGL loading for MPW I sent a patch a while ago that removes dynamic OpenGL loading for Macintosh Programmer's Workshop. Dynamic loading DOES actually work when an SDL program is built with MPW, it just has to be set up for it. (Whoops!!) This is the ideal way to get OpenGL extensions to work, which D2X uses quite a few of. This patch puts dynamic loading back in SDL for Mac OS 9. It applies to current CVS. I noticed that two members need to be set when DrawSprocket is used. diff -r 3cf036d8861f -r c1c2efca4548 src/video/SDL_video.c --- a/src/video/SDL_video.c Tue Jan 18 18:40:48 2005 +0000 +++ b/src/video/SDL_video.c Tue Jan 25 16:57:11 2005 +0000 @@ -743,9 +743,7 @@ /* Load GL symbols (before MakeCurrent, where we need glGetString). */ if ( flags & (SDL_OPENGL | SDL_OPENGLBLIT) ) { -#if (defined(macintosh) && !defined(__MWERKS__)) -#define __SDL_NOGETPROCADDR__ -#elif defined(__QNXNTO__) && (_NTO_VERSION < 630) +#if defined(__QNXNTO__) && (_NTO_VERSION < 630) #define __SDL_NOGETPROCADDR__ #elif defined(__MINT__) #define __SDL_NOGETPROCADDR__ diff -r 3cf036d8861f -r c1c2efca4548 src/video/macdsp/SDL_dspvideo.c --- a/src/video/macdsp/SDL_dspvideo.c Tue Jan 18 18:40:48 2005 +0000 +++ b/src/video/macdsp/SDL_dspvideo.c Tue Jan 25 16:57:11 2005 +0000 @@ -298,6 +298,8 @@ #ifdef HAVE_OPENGL device->GL_MakeCurrent = Mac_GL_MakeCurrent; device->GL_SwapBuffers = DSp_GL_SwapBuffers; + device->GL_LoadLibrary = Mac_GL_LoadLibrary; + device->GL_GetProcAddress = Mac_GL_GetProcAddress; #endif device->SetCaption = NULL; device->SetIcon = NULL; @@ -790,7 +792,7 @@ SDL_SetError ("Display Manager couldn't associate GDevice with display_id"); return NULL; } - if ( DSpFindBestContextOnDisplayID (&attrib, &dsp_context, display_id) != noErr ) { + if ( DSpFindBestContextOnDisplayID(&attrib, &dsp_context, display_id) != noErr ) { SDL_SetError ("DrawSprocket couldn't find a suitable context on given display"); return NULL; } diff -r 3cf036d8861f -r c1c2efca4548 src/video/macrom/SDL_romvideo.c --- a/src/video/macrom/SDL_romvideo.c Tue Jan 18 18:40:48 2005 +0000 +++ b/src/video/macrom/SDL_romvideo.c Tue Jan 25 16:57:11 2005 +0000 @@ -163,13 +163,8 @@ #ifdef HAVE_OPENGL device->GL_MakeCurrent = Mac_GL_MakeCurrent; device->GL_SwapBuffers = Mac_GL_SwapBuffers; -#ifdef __MWERKS__ device->GL_LoadLibrary = Mac_GL_LoadLibrary; device->GL_GetProcAddress = Mac_GL_GetProcAddress; -#else - device->GL_LoadLibrary = NULL; - device->GL_GetProcAddress = NULL; -#endif // CodeWarrior #endif // Have OpenGL device->SetCaption = Mac_SetCaption; device->SetIcon = NULL;