Commit Graph

990 Commits

Author SHA1 Message Date
Sam Lantinga
2bbcb7bdd0 G:\SDL-12-CVS\src\video\math_private.h(171) : error C4226:
nonstandard extension used : 'huge' is an obsolete keyword
2006-02-07 17:49:40 +00:00
Sam Lantinga
e28c454fca *** empty log message *** 2006-02-07 17:46:19 +00:00
Sam Lantinga
835cdcb355 Fixed it Hayashi Naoyuki's way. :) 2006-02-07 12:15:46 +00:00
Sam Lantinga
d72a9898ed Configure dynamically generates SDL_config.h
I'm still wrestling with autoheader, but this should work for now...
Fixed lots of build problems with C library support disabled
2006-02-07 12:11:33 +00:00
Ryan C. Gordon
5ff3069784 Faster fades when changing to/from/between fullscreen modes on Mac OS X. Also,
it doesn't show the desktop between modes anymore.

 Fixes Bugzilla #100.

--ryan.
2006-02-07 11:18:21 +00:00
Sam Lantinga
bd5cd274af *** empty log message *** 2006-02-07 10:40:14 +00:00
Sam Lantinga
1e037cc218 Removed uses of stdlib.h and string.h 2006-02-07 09:29:18 +00:00
Sam Lantinga
c7319385b8 Don't touch code that we brought in from other sources 2006-02-07 07:03:29 +00:00
Sam Lantinga
02cc6c0f11 Use SDL_ prefixed versions of C library functions.
FIXME:
Change #include <stdlib.h> to #include "SDL_stdlib.h"
Change #include <string.h> to #include "SDL_string.h"
Make sure nothing else broke because of this...
2006-02-07 06:59:48 +00:00
Sam Lantinga
735e84a7f0 Proper credit to uClibc :) 2006-02-06 17:26:47 +00:00
Sam Lantinga
dc67631a8a *** empty log message *** 2006-02-06 08:58:44 +00:00
Sam Lantinga
f62242e296 A few fixes to get this building on Linux again 2006-02-06 08:46:14 +00:00
Sam Lantinga
82bfaee73a It's now possible to build SDL without any C runtime at all on Windows,
using Visual C++ 2005
2006-02-06 08:28:51 +00:00
Sam Lantinga
e2f752249e Seek back to start on error 2006-02-04 22:01:44 +00:00
Sam Lantinga
76646e9ef3 Date: Sat, 04 Feb 2006 19:47:23 +0900
From: Hayashi Naoyuki
Subject: Re: [SDL] Character Composition problem on X

The compilation fails.
cc: Error: SDL_x11events.c, line 717: In this statement, "XK_dead_hook"
is not declared. (undeclared)
        ODD_keymap[XK_dead_hook&0xFF] = SDLK_COMPOSE;
-------------------^
cc: Error: SDL_x11events.c, line 718: In this statement, "XK_dead_horn"
is not declared. (undeclared)
        ODD_keymap[XK_dead_horn&0xFF] = SDLK_COMPOSE;

Neither XK_dead_hook nor XK_dead_horn are defined on Tru64.
2006-02-04 16:29:22 +00:00
Sam Lantinga
467be8347d Resolved bug #130
Use XFilterEvent() to handle dead-key composition under X11
Cleaned up the code in preparation for 1.3 API changes
2006-02-04 08:35:11 +00:00
Sam Lantinga
dbfa71e7a3 From: Hayashi Naoyuki
I tried to compile with gcc on Tru64, and got the following error.
SDL_systimer.c:45:45: error: operator '&&' has no right operand

It succeeds if changing
#if (defined _POSIX_TIMERS && _POSIX_TIMERS > 0)
to
#if (defined _POSIX_TIMERS && _POSIX_TIMERS + 0 > 0)
2006-02-03 07:43:42 +00:00
Sam Lantinga
3c351ccd46 Resolve bug #120
Use the real executable's name for the window class, if it's available.
2006-02-03 07:39:02 +00:00
Sam Lantinga
f6f8aefcd1 Favor using pthread_mutexattr_settype() on Linux. 2006-02-03 06:33:54 +00:00
Sam Lantinga
9f31bf14d1 Fixed compile warning 2006-02-03 06:01:23 +00:00
Patrice Mandin
07d86ad1e2 Update for mintlib 0.57.6 (m68k-atari-mint libc) 2006-02-02 21:27:24 +00:00
Ryan C. Gordon
6d3a2c8a62 AAlib driver was using C runtime string functions without including string.h.
Fixes Bugzilla #131.
2006-02-02 05:35:42 +00:00
Ryan C. Gordon
30dcbc6323 Logic bug in X11 Unicode input shutdown...was checking for == NULL
when it should be != NULL.
2006-02-01 19:59:02 +00:00
Sam Lantinga
cf71ac8526 Eliminate duplicate modes with different refresh rates 2006-02-01 09:28:42 +00:00
Sam Lantinga
0089f4c557 Updated exports 2006-02-01 09:01:12 +00:00
Sam Lantinga
f9d29a6158 *** empty log message *** 2006-02-01 08:24:32 +00:00
Sam Lantinga
5a3c30601e Merged useful fixes from 1.3 branch 2006-02-01 08:17:54 +00:00
Ryan C. Gordon
a9fe31119d Fixed dynamic X11 for now, I think. 2006-02-01 08:03:04 +00:00
Sam Lantinga
cdba130015 *** empty log message *** 2006-02-01 07:12:14 +00:00
Sam Lantinga
808a16717c Updated copyright information and removed rcs id lines (problematic in branch merges)
I batch edited these files, so please let me know if I've accidentally removed anybody's
credit here.
2006-02-01 06:32:25 +00:00
Patrice Mandin
cb0b38d800 Add flag to post mouse button events or not, and use defined function to post them 2006-01-31 21:33:35 +00:00
Ryan C. Gordon
bf26c5a03b Changed references to XFree86 to Xext to match change in directory structure.
Reference Bugzilla #116.
2006-01-31 18:39:32 +00:00
Sam Lantinga
6797e47739 Reverted in favor of this one:
https://bugzilla.libsdl.org/attachment.cgi?id=3
2006-01-31 18:08:33 +00:00
Sam Lantinga
adafcca267 XFree86 directory renamed to Xext 2006-01-31 17:56:44 +00:00
Sam Lantinga
073d8f68e0 Date: Tue, 05 Jul 2005 21:43:26 +1000
From: Sean Childs
Subject: [SDL] Compiling SDL 1.2.8 with the free Borland compiler

When compiling SDL 1.2.8 with the free Borland compiler, I received this
error (there is a similar error that occurs in
src\video\windx5\sdl_dx5events.c):
Error E2342 ..\..\src\video\windib\sdl_dibevents.c 189: Type mismatch in
parameter 'lpPrevWndFunc' (wanted 'int (__stdcall *)()', got 'long
(__stdcall *)(void *,unsigned int,unsigned int,long)') in function
DIB_HandleMessage


I checked the MSDN library at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/
windowsuserinterface/windowing/windowprocedures/windowprocedurereference/wind
owprocedurefunctions/callwindowproc.asp

and it had this to say:
If STRICT is not defined, the lpPrevWndFunc parameter has the data type
FARPROC. The FARPROC type is declared as follows:

int (FAR WINAPI * FARPROC) ()

In C, the FARPROC declaration indicates a callback function that has an
unspecified parameter list. In C++, however, the empty parameter list in
the declaration indicates that a function has no parameters. This subtle
distinction can break careless code. Following is one way to handle this
situation:

#ifdef STRICT
   WNDPROC MyWindowProcedure
#else
   FARPROC MyWindowProcedure
#endif
...
   lResult = CallWindowProc(MyWindowProcedure, ...)
2006-01-31 15:30:42 +00:00
Sam Lantinga
ed75553184 Date: Sat, 14 Jan 2006 15:16:01 -0500
From: Andrew Fuller
Subject: [SDL] [PATCH] ML-8866 PS2->USB converter

This converter seems to go by several names --  Super Dual Box, Dual
USB Joypad, and who knows what else.  Also branded differently with
different colour cases, etc.  But it seems to all be the same
internals.  It is a common converter used for StepMania, with several
posts Googleable trying to make it work in Linux.  I got mine
yesterday and wanted to play stepmania, so I went ahead and made a
crude patch for libsdl to split this baby into two logical joysticks.

A couple notes about the patch:

This patch works well for two dance mats hooked up and playing
stepmania, however the mapping of the other buttons may be off.  I
have no joystick which uses all the buttons the converter reports, so
I have no way of testing them.

The name I used 0925:8866 which is the USB ID, and what SDLjoytest-GL
reported is the name, even though lsusb shows Wisegroup, Ltd MP-8866
Dual USB Joypad, and the existing virtual joystick mapping uses the
Wisegroup... name.  Not sure why the discrepency.

I'm not subscribed to this mailing list, so please CC me on any
comments to this.

-Andrew
2006-01-31 14:59:43 +00:00
Ryan C. Gordon
82bc351fbd Removed some old Mac OS X cruft.
Fixes Bugzilla #64.

--ryan.
2006-01-30 18:56:30 +00:00
Ryan C. Gordon
9c5d7a5715 Corrects dynamic X11 code on Tru64 systems.
Fixes Bugzilla #87.
2006-01-30 18:21:44 +00:00
Sam Lantinga
20f8999f76 Fixed crash:
#include <SDL.h>

int main(int argc, char** argv)
{
        SDL_Init(SDL_INIT_EVERYTHING);
        SDL_SetVideoMode(640, 480, 0, SDL_FULLSCREEN);
        SDL_ShowCursor(SDL_DISABLE);
        SDL_Delay(1000);
        SDL_SetVideoMode(640, 480, 0, SDL_FULLSCREEN | SDL_OPENGL);
        SDL_Quit();
        printf("Everything okay\n");
}
2006-01-30 13:30:44 +00:00
Sam Lantinga
89404b9e83 Date: Sun, 6 Mar 2005 17:06:20 +0100
From: Per Inge Mathisen
Subject: [SDL] Fullscreen refresh on win32

Windows has a terrible default for fullscreen 3D apps of 60mhz refresh
rate. This can be fixed  by the user by going into his driver's
control panel and forcing the refresh rate higher. However, this not a
very user friendly way about it, and in any case SDL contains no code
that could figure out this that condition has afflicted the user.

So the question is, could SDL fix this for the user? It is possible
under Windows to request a higher refresh rate. The danger is of
course that if the user has an old monitor, and you request a too high
refresh rate, the monitor could be damaged. However, I believe there
might be a way around that: Check before switching what refresh rate
the user's desktop runs in, and if our fullscreen dimensions are equal
or less than those of the desktop, use the higher refresh rate of 60
and the desktop rate.

Since most users run their desktops in the same or higher resolution
something sane, this should fix this problem for most users.

Thoughts?

An alternative is to add an SDL_GL_GetAttribute(SDL_GL_REFRESH_RATE)
option so that programs can bitch at their users at their own
convenience.

  - Per
2006-01-30 06:56:10 +00:00
Sam Lantinga
d21e833807 Fixed palette bug on non-WinCE 2006-01-29 22:23:54 +00:00
Sam Lantinga
b48c324bc4 Only save the window position if we're in windowed mode 2006-01-29 22:09:26 +00:00
Sam Lantinga
b2b62100f7 The event code was fine, and calculated the SDL_windowX/Y correctly.
What we really needed to do was avoid doing client rect adjustment on
zoomed windows. :)
2006-01-29 18:17:35 +00:00
Sam Lantinga
443dc46561 Date: Fri, 18 Feb 2005 07:58:00 +0200
From: "Mike Gorchak"
Subject: [SDL] [PATCH] QNX6 and not only QNX6 fixes

1) Update SDL.qpg.in for the QNX 6.3.
4) video/photon/SDL_phyuv.c - fixed bug with swapped U and V planes, using
YV12 mode with radeon cards.
2006-01-29 09:19:55 +00:00
Sam Lantinga
43bec0b020 Cleaned up the app registration stuff a bit 2006-01-29 09:13:36 +00:00
Sam Lantinga
51d713720e Date: Tue, 15 Feb 2005 21:28:48 +0900 (JST)
From: "Michael Leonhard"
Subject: [SDL] resize bug on Win32 and patch

This is my first post to this mailing list.  In this email I will detail a
bug in the behavior of resizable SDL windows on Win32.  Then I will
explain the solution and provide a patch.

Symptoms:

Under Windows, an SDL display created with the SDL_RESIZABLE flag exhibits
quirky behavior when being maximized.  The window is resized to the proper
size, but it is shifted upwards about half the height of the title bar.
Similarly, a window whose origin is above the top of the screen will
spontaneously move its upper-left origin upon being resized.  After two
such resize-induced moves, the title bar will be entirely off the top edge
of the screen.  Subsequently, when the mouse is clicked and released on
the window border, the window will shrink its height spontaneously.  This
height shrinkage occurs even if the user did not resize the border.

To observe this curious situation, please invoke:
SDL-1.2.8/test/testwm.exe -resize

Cause:

A pair of integers, SDL_windowX and SDL_windowY, are defined in
video/wincommon/SDL_sysevents.c.  They are used by the DirectX video
driver and the DIB video driver:
video/windx5/SDL_dx5video.c
video/windib/SDL_dibvideo.c
As I understand the source code, the primary use of these variables is to
create a rectangle that represents the surface area in CLIENT SPACE.
Client space refers to a coordinate system that originates at the upper
left corner of a Win32 Window's drawable area.  This is just inside the
window border and title bar.  This client space rectangle, called bounds,
is subsequently converted to screen space with a call to
AdjustWindowRectEx.  The problem is found in SDL's handling of the
WM_WINDOWPOSCHANGED message.  According to MSDN,

  "The WM_WINDOWPOSCHANGED message is sent to a window whose
   size, position, or place in the Z order has changed as a
   result of a call to the SetWindowPos function or another
   window-management function."

I have confirmed that this message is indeed being sent to the SDL window
when the mouse is clicked on the window border, even if the window border
is not dragged.

In video/wincommon/SDL_sysevents.c, on line 464, in response to the
WM_WINDOWPOSCHANGED message, the (potentially) new client rectangle is
obtained.  This rectangle is translated into screen coordinates and THEN
assigned to the SDL_windowX and Y variables.  Thus screen coordinates are
being assigned to client coordinate variables.  Once this is understood,
the solution is apparent:  assign SDL_windowX and Y before translating the
rectangle to screen coordinates.  This is accomplished by the following
patch.

-Mike_L
2006-01-29 08:50:06 +00:00
Sam Lantinga
9430b28b12 Use the executable directory, not the current directory, for stdio output files 2006-01-29 08:39:35 +00:00
Sam Lantinga
b938b5724c Date: Fri, 14 Jan 2005 21:52:46 +0100
From: "SkunkGuru"
Subject: [SDL] Repeated mousemotion event on notebook

it seems that every ~500ms something fires a mousemotion event,
but with the same x and y position.
I tryed with both directx and windib video driver.
2006-01-29 08:18:06 +00:00
Sam Lantinga
d02be89754 Date: Sat, 15 Jan 2005 02:01:51 +0000 (UTC)
From: jimrandomh
Subject: [SDL] Re: Modifier keys pressed during initialization stick

I wrote a simple test program which initializes SDL, prints the SDL
version number, then prints any keydown and keyup events with their
modifiers. (Source code below). Compilation was done using Visual
Studio 6, release mode.

My test sequence was:
Start a command prompt. Type the name of the test program.
shift down
enter down (program starts)
Wait for window to appear
enter up
shift up
spacebar down
spacebar up

Under Windows 98, the output was correct:
SDL 1.2.8
left shift down
shift-return down
shift-return up
left shift up
space down
space up

Under Windows 2000 and under Windows XP, the output was:
SDL 1.2.8
shift-space down
shift-space up

Since shift was not held at the time space was pressed, this is
incorrect. Similar results were observed with launching in different
ways (including double-clicking in Windows Explorer), so it does not
depend on the launching terminal.
2006-01-29 07:57:13 +00:00
Sam Lantinga
8e7e19bb8e *** empty log message *** 2006-01-29 06:40:13 +00:00