Mon, 22 Mar 2004 09:38:20 +0000 (Said Max Horn on the SDL mailing list...)
Ryan C. Gordon <icculus@icculus.org> [Mon, 22 Mar 2004 09:38:20 +0000] rev 876
(Said Max Horn on the SDL mailing list...) Hi folks, based on Eric Wing's patch, I created the attached patch which fixes the OpenGL coordinate inversion bug in SDL. It works fine over here on 10.3 with Ryan's test program (which I also attached). There is another change in it: I removed the "- 1" in the two lines using CGDisplayPixelsHigh()... while I understand from a logical point of view why they *should* be correct, I checked the actual values computed that way, and they were off-by-one. After removing the " - 1", the returned mouse coordinates are correct. I checked this by moving the mouse to the screen top/bottom in fullscreen mode, BTW. With the change, the proper values 0 and 479 are returned (in 640x480 mode). Sam, you may still want to test on 10.1, it's very simple using Ryan's minimal test code :-) Cheers, Max (Here is the reproduction case for revision history's sake...) /* * To compile: * gcc -o test test.c `sdl-config --cflags` `sdl-config --libs` -framework OpenGL * * --ryan. */ #include <stdio.h> #include "SDL.h" #include "SDL_opengl.h" int main(int argc, char **argv) { Uint32 flags = SDL_OPENGL /* | SDL_FULLSCREEN */; SDL_Surface *screen; SDL_Event event; int done = 0; GLfloat ratio; SDL_Init(SDL_INIT_VIDEO); SDL_ShowCursor(0); if ((argv[1]) && (strcmp(argv[1], "--grab") == 0)) SDL_WM_GrabInput(SDL_GRAB_ON); screen = SDL_SetVideoMode(640, 480, 0, flags); if (!screen) return(42); ratio = ((GLfloat) screen->w) / ((GLfloat) screen->h); glClearColor( 0.0f, 0.0f, 0.0f, 0.0f ); glClearDepth( 1.0f ); glEnable( GL_DEPTH_TEST ); glDepthFunc( GL_LEQUAL ); glViewport( 0, 0, screen->w, screen->h); glMatrixMode( GL_PROJECTION ); glLoadIdentity(); gluPerspective( 45.0f, ratio, 0.1f, 100.0f ); glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); SDL_GL_SwapBuffers(); // eh, close enough. #define MAX_X 6.12 #define MAX_Y 4.50 while (!done) { int x, y; GLfloat glx, gly; if (!SDL_WaitEvent(&event)) break; switch (event.type) { case SDL_KEYUP: if (event.key.keysym.sym == SDLK_ESCAPE) done = 1; break; } SDL_GetMouseState(&x, &y); glx = ((((GLfloat) x) / ((GLfloat) screen->w)) - 0.5f) * MAX_X; gly = ((((GLfloat) y) / ((GLfloat) screen->h)) - 0.5f) * MAX_Y; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glTranslatef(glx,-gly,-6.0f); glBegin(GL_TRIANGLES); glColor3f(1,0,0); glVertex3f( 0.00f, 0.25f, 0.00f); glColor3f(0,1,0); glVertex3f(-0.25f, -0.25f, 0.00f); glColor3f(0,0,1); glVertex3f( 0.25f, -0.25f, 0.00f); glEnd(); SDL_GL_SwapBuffers(); } SDL_Quit(); return(0); } /* end of test.c ... */
Thu, 11 Mar 2004 13:38:51 +0000 Fixed the postinstall script
Sam Lantinga <slouken@libsdl.org> [Thu, 11 Mar 2004 13:38:51 +0000] rev 875
Fixed the postinstall script
Thu, 11 Mar 2004 12:59:41 +0000 Date: Thu, 11 Mar 2004 18:45:17 +0900
Sam Lantinga <slouken@libsdl.org> [Thu, 11 Mar 2004 12:59:41 +0000] rev 874
Date: Thu, 11 Mar 2004 18:45:17 +0900 From: Hayashi Naoyuki Subject: Re: Tru64 cdrom and pthread option fix I wrote /* Some CD-ROM drives cannot play the first 150 frames. */ in src/cdrom/osf/SDL_syscdrom.c and Some CD-ROM drives(ex. TEAC CD-532E) cannot play first 150 frames(aka gap). but this is not right. It is written in MMC that LBA = 4500*M + 75*S + F - 150.
Sun, 07 Mar 2004 16:40:15 +0000 Date: Sun, 07 Mar 2004 22:54:11 +0900
Sam Lantinga <slouken@libsdl.org> [Sun, 07 Mar 2004 16:40:15 +0000] rev 873
Date: Sun, 07 Mar 2004 22:54:11 +0900 From: Hayashi Naoyuki Subject: Tru64 cdrom and pthread option fix SDL-1.2.7/src/cdrom/osf/SDL_syscdrom.c Fixes Some CD-ROM drives(ex. TEAC CD-532E) cannot play first 150 frames(aka gap). CheckDrive() fix. The end of comment is "* /" in AddDrive(). SDL-1.2.7/configure.in Fixes Add *-*-osf pthread option and delete line SDL_LIBS="$SDL_LIBS -lrt".
Sat, 06 Mar 2004 02:58:06 +0000 Date: Fri, 05 Mar 2004 16:08:01 +0000
Sam Lantinga <slouken@libsdl.org> [Sat, 06 Mar 2004 02:58:06 +0000] rev 872
Date: Fri, 05 Mar 2004 16:08:01 +0000 From: Alan Swanson Subject: Re: [SDL] Fatal signal when initiaize with USB joystick on 2.6.2 kern On Fri, 2004-03-05 at 15:09, Sam Lantinga wrote: > > Fred, how does the attached patch work for you? Do all your axes work? > > I think you meant the two lines to be reversed. > I checked a more robust version of this into CVS. Fred, can you see if > it works? You've misread the code. :-/ For coef[0] and coef[1], it is (values[2]+values[1]) / 2 and then add or subtract values[4] to the answer.
Fri, 05 Mar 2004 15:09:18 +0000 Avoid FPE with Linux 2.6
Sam Lantinga <slouken@libsdl.org> [Fri, 05 Mar 2004 15:09:18 +0000] rev 871
Avoid FPE with Linux 2.6
Thu, 04 Mar 2004 05:41:57 +0000 Date: Wed, 3 Mar 2004 12:44:21 +0200
Sam Lantinga <slouken@libsdl.org> [Thu, 04 Mar 2004 05:41:57 +0000] rev 870
Date: Wed, 3 Mar 2004 12:44:21 +0200 From: "Mike Gorchak" Subject: Misc fixes again I've added custom WM info for the QNX (same as generic for now), which allows to compile all applications, which included SDL_syswm.h directly, otherwise DISABLE_X11 appearing to be not defined and X11 info was used instead, which is wrong.
Thu, 04 Mar 2004 05:39:17 +0000 Instructive comments from Max Horn
Sam Lantinga <slouken@libsdl.org> [Thu, 04 Mar 2004 05:39:17 +0000] rev 869
Instructive comments from Max Horn
Wed, 03 Mar 2004 06:56:04 +0000 sed, it's two, two commands in one!
Sam Lantinga <slouken@libsdl.org> [Wed, 03 Mar 2004 06:56:04 +0000] rev 868
sed, it's two, two commands in one!
Tue, 02 Mar 2004 19:38:55 +0000 Force recreation of X11 window if going to or from a SDL_NOFRAME vidmode.
Ryan C. Gordon <icculus@icculus.org> [Tue, 02 Mar 2004 19:38:55 +0000] rev 867
Force recreation of X11 window if going to or from a SDL_NOFRAME vidmode.
Tue, 02 Mar 2004 13:01:02 +0000 Date: Tue, 2 Mar 2004 11:34:54 +0100
Sam Lantinga <slouken@libsdl.org> [Tue, 02 Mar 2004 13:01:02 +0000] rev 866
Date: Tue, 2 Mar 2004 11:34:54 +0100 From: Bartosz Fenski aka fEnIo Subject: outdated entry in INSTALL file I've just found in INSTALL file: If you are cross-compiling from Linux to Win32, you should read the file README.Win32 But you don't shipped this file with SDL. I've found in CVS logs that this file has been deleted and this information is now in FAQ.
Tue, 02 Mar 2004 12:49:16 +0000 Date: Sun, 29 Feb 2004 15:14:22 +0200
Sam Lantinga <slouken@libsdl.org> [Tue, 02 Mar 2004 12:49:16 +0000] rev 865
Date: Sun, 29 Feb 2004 15:14:22 +0200 From: Martin_Storsj Subject: Dynamic loading of ALSA I recently discovered that SDL can dynamically load ESD and aRts, and made a patch which adds this same functionality to ALSA. The update for configure.in isn't too good (it should e.g. look for libasound.so in other directories than /usr/lib), because I'm not too good at shellscripting and autoconf. The reason for using dlfcn.h and dlopen instead of SDL_LoadLibrary and SDL_LoadFunction is that libasound uses versioned symbols, and it is necessary to load the correct version using dlvsym. This isn't probably any real portability issue, because ALSA is linux-only.
Tue, 02 Mar 2004 12:45:22 +0000 Date: Sun, 29 Feb 2004 20:28:27 +0200
Sam Lantinga <slouken@libsdl.org> [Tue, 02 Mar 2004 12:45:22 +0000] rev 864
Date: Sun, 29 Feb 2004 20:28:27 +0200 From: Martin_Storsj Subject: Slight bug in ESD and aRts When I experimented with the ALSA-patch, I found a slight bug in the Load{ESD,ARTS}Library-functions. The check of whether a function pointer was correctly loaded looks like this right now: *esd_functions[i].func = SDL_LoadFunction(esd_handle, esd_functions[i].name); if ( ! esd_functions[i].func ) Isn't that supposed to be ( ! *esd_functions[i].func )?
Tue, 02 Mar 2004 12:38:27 +0000 Date: Tue, 2 Mar 2004 08:52:20 +0200
Sam Lantinga <slouken@libsdl.org> [Tue, 02 Mar 2004 12:38:27 +0000] rev 863
Date: Tue, 2 Mar 2004 08:52:20 +0200 From: "Mike Gorchak" Subject: Just a misc. fixes 1) I've added a small fix to the .qpg file - SDLqpg.diff. Added autoconf variables like the @SDL_BINARY_AGE@ instead of directly using "...so.7".
Thu, 26 Feb 2004 20:49:45 +0000 IRIX doesn't have a GL library versioning system
Sam Lantinga <slouken@libsdl.org> [Thu, 26 Feb 2004 20:49:45 +0000] rev 862
IRIX doesn't have a GL library versioning system
Thu, 26 Feb 2004 19:57:37 +0000 Oops, ignore SIGALRM, not 0
Sam Lantinga <slouken@libsdl.org> [Thu, 26 Feb 2004 19:57:37 +0000] rev 861
Oops, ignore SIGALRM, not 0
Thu, 26 Feb 2004 15:12:51 +0000 Create a 2D window and then manually focus a different window on your desktop,
Ryan C. Gordon <icculus@icculus.org> [Thu, 26 Feb 2004 15:12:51 +0000] rev 860
Create a 2D window and then manually focus a different window on your desktop, call SDL_PumpEvents() so the X11 driver sets its this->hidden->switch_waiting, then set a fullscreen OpenGL window (which makes the X11 driver tear down and create a new window instead of just resizing the existing one), poll for events, and the newly-created window will think it needs to pop back to a window. Fixed by resetting switch_waiting to zero if X11_CreateWindow() had to tear down a previous window.
Thu, 26 Feb 2004 14:26:07 +0000 This works on MacOS X too. :)
Sam Lantinga <slouken@libsdl.org> [Thu, 26 Feb 2004 14:26:07 +0000] rev 859
This works on MacOS X too. :)
Thu, 26 Feb 2004 13:45:22 +0000 Date: Wed, 25 Feb 2004 06:41:17 -0500
Sam Lantinga <slouken@libsdl.org> [Thu, 26 Feb 2004 13:45:22 +0000] rev 858
Date: Wed, 25 Feb 2004 06:41:17 -0500 From: "Ryan C. Gordon" Subject: Re: MacOS X bugs... This isn't an ideal patch (trying to open a joystick that has previously been unplugged will report success, but it'll just never give any input, etc), but it handles the worst case of deadlock in the event subsystem.
Thu, 26 Feb 2004 08:57:32 +0000 Attempt to get FSAA compiling on all versions of MacOS X.
Ryan C. Gordon <icculus@icculus.org> [Thu, 26 Feb 2004 08:57:32 +0000] rev 857
Attempt to get FSAA compiling on all versions of MacOS X.
Tue, 24 Feb 2004 19:22:22 +0000 Date: Mon, 23 Feb 2004 19:00:23 +0100
Sam Lantinga <slouken@libsdl.org> [Tue, 24 Feb 2004 19:22:22 +0000] rev 856
Date: Mon, 23 Feb 2004 19:00:23 +0100 From: "Juergen \"George\" Sawinski" Subject: Problems compiling libsdl with gcc 3.3 I attached another patch (configure.in.patch) that might resolv issues for some ppl finding the correct place of libartsc.so.*. (here, the output of "artsc-config --libs" contains two "-L.*", therefore the respecting arts_lib_spec contains the wrong path).
Tue, 24 Feb 2004 18:58:40 +0000 I noticed MacOSX SDL sets up working directory to parent of executable.
Sam Lantinga <slouken@libsdl.org> [Tue, 24 Feb 2004 18:58:40 +0000] rev 855
I noticed MacOSX SDL sets up working directory to parent of executable. On BeOS is should setup it the same way, but it only does when Tracker wasn't restarted. I checked code and it looks like a hack to me :( It looks for env variable and than comapres it to default when OpenTracker was started after boot, and wasn't restarted. That's probably ok, for that exact case. Unfortunetly that variable isn't always like that. For example, after Tracker crashes and is restarted, env variable most probably is different (depends on how Tracker was restarted, by what application, etc... for example: i have launcher application from which i can restart Tracker, and after that nev variable points to that application's directory, not Tracker's).
Tue, 24 Feb 2004 16:21:19 +0000 *** empty log message ***
Sam Lantinga <slouken@libsdl.org> [Tue, 24 Feb 2004 16:21:19 +0000] rev 854
*** empty log message ***
Tue, 24 Feb 2004 07:42:19 +0000 Don't allow video modes larger than the maximum size
Sam Lantinga <slouken@libsdl.org> [Tue, 24 Feb 2004 07:42:19 +0000] rev 853
Don't allow video modes larger than the maximum size
Tue, 24 Feb 2004 06:53:22 +0000 Quartz fix:
Ryan C. Gordon <icculus@icculus.org> [Tue, 24 Feb 2004 06:53:22 +0000] rev 852
Quartz fix: ut2004 makes a 2D window for the splash screen, which sets the screen surface's pixels field. Then we tear down that video mode and create a GL context, and the Quartz target isn't resetting the pixels field to NULL. When you just create a GL window, the structure is memset'd to zero the first time through, so unless you hit ut2004's codepath, you won't see the bug. :) Without this patch, quitting a windowed ut2003/ut2004 game makes the OS dump a warning about a bogus free() to stderr, but it doesn't actually crash. All we need to do is explicitly initialize the current->pixels field.
Mon, 23 Feb 2004 15:49:28 +0000 Doh!
Sam Lantinga <slouken@libsdl.org> [Mon, 23 Feb 2004 15:49:28 +0000] rev 851
Doh!
Mon, 23 Feb 2004 08:03:14 +0000 Added an endian detection and byte swapping test program
Sam Lantinga <slouken@libsdl.org> [Mon, 23 Feb 2004 08:03:14 +0000] rev 850
Added an endian detection and byte swapping test program
Mon, 23 Feb 2004 06:09:21 +0000 Added inline byte swapping code for other architectures
Sam Lantinga <slouken@libsdl.org> [Mon, 23 Feb 2004 06:09:21 +0000] rev 849
Added inline byte swapping code for other architectures
Mon, 23 Feb 2004 05:32:52 +0000 Avoid using kernel internal headers
Sam Lantinga <slouken@libsdl.org> [Mon, 23 Feb 2004 05:32:52 +0000] rev 848
Avoid using kernel internal headers
Sat, 21 Feb 2004 00:21:06 +0000 *** empty log message *** release-1.2.7
Sam Lantinga <slouken@libsdl.org> [Sat, 21 Feb 2004 00:21:06 +0000] rev 847
*** empty log message ***
(0) -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip