From e9db83bd35d57278424eeb40e7ad7819135c75b7 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 25 Jan 2005 16:57:11 +0000 Subject: [PATCH] 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. --- src/video/SDL_video.c | 4 +--- src/video/macdsp/SDL_dspvideo.c | 4 +++- src/video/macrom/SDL_romvideo.c | 5 ----- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index 0b9269576..fd8d56231 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -743,9 +743,7 @@ SDL_Surface * SDL_SetVideoMode (int width, int height, int bpp, Uint32 flags) /* 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 --git a/src/video/macdsp/SDL_dspvideo.c b/src/video/macdsp/SDL_dspvideo.c index bd8c4e618..23e756080 100644 --- a/src/video/macdsp/SDL_dspvideo.c +++ b/src/video/macdsp/SDL_dspvideo.c @@ -298,6 +298,8 @@ static SDL_VideoDevice *DSp_CreateDevice(int devindex) #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 @@ static SDL_Surface *DSp_SetVideoMode(_THIS, 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 --git a/src/video/macrom/SDL_romvideo.c b/src/video/macrom/SDL_romvideo.c index e753a4a0a..3f10c37e5 100644 --- a/src/video/macrom/SDL_romvideo.c +++ b/src/video/macrom/SDL_romvideo.c @@ -163,13 +163,8 @@ static SDL_VideoDevice *ROM_CreateDevice(int devindex) #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;