Commit Graph

5003 Commits

Author SHA1 Message Date
Ryan C. Gordon
e8d968512a Added .cvsignore to the XME directory. 2006-01-19 08:53:12 +00:00
Ryan C. Gordon
64a36c7f71 Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
updated project files, VS2005 support, VGA mode, more device support, etc,
 etc, etc.

Fixes Bugzilla #47 and #28.

--ryan.
2006-01-19 08:43:00 +00:00
Ryan C. Gordon
fac887ab73 Fixed up build script to catch some of the newer files in a "make dist" run. 2006-01-19 08:36:41 +00:00
Sam Lantinga
84b606910a *** empty log message *** 2006-01-19 05:34:24 +00:00
Ryan C. Gordon
b22482454b Catch X11 extension errors...since most of these are notifications that we
queried for a missing extension (such as the XiG vidmode one that most
 people don't have), and default Xlib behaviour is to write notification to
 stderr, this tends to generate incorrect bug reports.

Since we'll actually deal with the missing extension when querying for it,
 we ignore these errors in our hook. The rest continue to pass through to
 the default handler.

Fixes Bugzilla #42.

--ryan.
2006-01-14 08:15:38 +00:00
Ryan C. Gordon
ed8dea650b Don't trample SDL_LoadObject()'s error message in GL loader. 2006-01-13 02:36:35 +00:00
Ryan C. Gordon
f221a8bc28 Make error message meaningful if dlopen() fails on libX11. 2006-01-13 02:32:07 +00:00
Ryan C. Gordon
606daf92a8 Patched to compile with debugging enabled. 2006-01-13 01:30:21 +00:00
Ryan C. Gordon
3ec3055221 More dynamic X11 work. 2006-01-13 01:08:39 +00:00
Ryan C. Gordon
0a3afc4557 Patched to compile. 2006-01-12 23:06:23 +00:00
Ryan C. Gordon
9edba2d35c Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
changed in five years, and it's a small .c file that just calls into the X11
 dependencies we already use elsewhere. Including it directly allows us to
 make use of the dynamic X11 code.

Fixes Bugzilla #41.

--ryan.
2006-01-12 22:46:36 +00:00
Ryan C. Gordon
abbb8e7983 Properly restore vidmode when switching back to SDL's virtual terminal with
the fbcon driver: Fixes Bugzilla #37.
2006-01-10 20:52:35 +00:00
Ryan C. Gordon
b5b2635198 From Bug #36:
There are a couple of issues with the selection of Altivec alpha-blitting
routines in CalculateAlphaBlit() in src/video/SDL_Blit_A.c.

1) There's no check for the presence of Altivec when checking if the
Blit32to565PixelAlphaAltivec() routine can be selected.

2) Altivec cannot be used in video memory, and there's no check if the
destination surface is a hardware surface. (Alpha-blitting to a hardware
surface with GPU support is a bad idea, but somebody's bound to do it anyway.)

Patch to fix these attached.
2006-01-08 21:18:15 +00:00
Patrice Mandin
9f9c0f9f7e Rollback 2006-01-08 17:29:19 +00:00
Patrice Mandin
1406542e05 Load default OpenGL library if needed at driver initialization 2006-01-08 10:22:27 +00:00
Patrice Mandin
91722486aa Disable XBIOS driver for mouse and joystick under MiNT. Will write a driver for /dev/mouse later. 2006-01-06 22:24:09 +00:00
Ryan C. Gordon
9ad4236f71 Minor bit of debug output added to dynamic X11 code. 2006-01-06 20:57:59 +00:00
Ryan C. Gordon
dc5d47f3e8 Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
on 64-bit systems, and are chosen with macros in the X11 headers. So on
 32-bit systems, it should fail to find these symbols and keep going anyhow.
2006-01-06 20:56:13 +00:00
Ryan C. Gordon
4a142dd73b For sanity's sake, removed the '&' when passing copy_row array to asm. 2006-01-06 13:20:10 +00:00
Ryan C. Gordon
4599553443 Patched to compile. 2006-01-06 00:56:12 +00:00
Ryan C. Gordon
c5326df6e2 Added optimized C 32bit RGB<->RGBA alpha masking blitter from Alex Volkov.
Fixes Bugzilla #11.
2006-01-05 16:40:51 +00:00
Ryan C. Gordon
d9f58b2f88 testblitspeed.c improvements: cleaned up output, and allow user to set surface
alpha attributes.
2006-01-05 16:37:46 +00:00
Ryan C. Gordon
376c83d34c From Mike Frysinger and/or Gentoo:
- libsdl-PIC-load-mmx-masks-from-stack.patch
this one may be a little controversial ... the fix here is again that you cant
reference the memory addresses like this to load into a mmx register, so the
way to do it is to push two 32bit words onto the stack, load the 64bit value
off of the stack into the mmx register, and then adjust the stack so that
it's back to normal.
2006-01-05 15:25:19 +00:00
Ryan C. Gordon
f7cdaa4339 Patch from Michael Bonfils to add CPUID support for x86 Solaris. 2006-01-05 08:17:35 +00:00
Ryan C. Gordon
bfd327c02d From Mike Frysinger and/or Gentoo:
- libsdl-SDL_stretch-PIC.patch
ignoring the general fact of how SDL_stretch relies on executing dynamic code,
the inline asm should let gcc handle the a details for getting the actual
address for _copy_row as it will do the right thing
test case: http://dev.gentoo.org/~vapier/libsdl/sdl-stretch.tar.bz2
2006-01-05 07:20:12 +00:00
Ryan C. Gordon
f372206df1 From Mike Frysinger and/or Gentoo:
- libsdl-PIC-hermes-cpuid.patch
rewrites the code in _Hermes_X86_CPU so that it doesnt require the local
cpu_flags memory variable, it just uses registers.
test case: http://dev.gentoo.org/~vapier/libsdl/hermes-cpuid-test.tar.bz2
2006-01-05 07:08:59 +00:00
Ryan C. Gordon
14b4649fb4 More dynamic X11 fixes...catches some code in Xlib headers that caused
dependencies...
2006-01-04 22:57:50 +00:00
Ryan C. Gordon
49944d1da9 Windows should use _beginthreadex() instead of CreateThread(), to avoid a
memory leak on each joined thread.
2006-01-04 21:01:49 +00:00
Ryan C. Gordon
635d4f11ef Debug code should check right function names. 2006-01-04 20:53:55 +00:00
Ryan C. Gordon
6f0d008da1 Removed some incorrect comments in the "dc" driver that survived the
initial cut-and-paste from the dummy video skeleton.
2006-01-04 19:25:18 +00:00
Sam Lantinga
95cc21edfa Bumped the version number for the next release 2006-01-04 01:08:40 +00:00
Patrice Mandin
703ea8605b Use a simple table for Unicode translation 2006-01-02 19:49:21 +00:00
Ryan C. Gordon
caab2259d8 Quartz driver: Make sure we pass a pointer to the right type. 2006-01-02 12:48:58 +00:00
Ryan C. Gordon
e46884e7fd Quartz driver: Correctly handle SDL_DOUBLEBUF|SDL_FULLSCREEN when the
resolution is too small and thus emulated by SDL.

  Fixes http://www.devolution.com/pipermail/sdl/2005-December/071765.html ...
2006-01-02 12:37:40 +00:00
Ryan C. Gordon
48d21dc783 Quartz target: set x and y field of mode list to 0 in SDL_ListMode call. 2006-01-02 10:49:37 +00:00
Sam Lantinga
292d18a5f7 Oops, actually use the timings in the modes db. :)
FIXME: Add some way of specifying the refresh rate we want to select!
2006-01-02 09:32:54 +00:00
Sam Lantinga
8991b57ab3 *** empty log message *** 2006-01-02 09:13:16 +00:00
Sam Lantinga
7eafc32b03 Added support for parsing /etc/fb.modes, based on Stephane Marchesin's patch 2006-01-02 09:08:05 +00:00
Ryan C. Gordon
6ae4d895ed Toggle flip debugging in testsprite.c on the command line, not as a hardcoded
#define.

--ryan.
2006-01-02 08:07:41 +00:00
Ryan C. Gordon
816029a88b Quartz target shouldn't crash if an event thread is used.
(SDL_INIT_EVENTTHREAD still doesn't work, but the crash is gone...)
2006-01-02 07:09:52 +00:00
Ryan C. Gordon
750b834bb9 To: sdl@libsdl.org
From: Christian Walther <cwalther@gmx.ch>
Date: Thu, 15 Dec 2005 21:19:53 +0100
Subject: [SDL] More mouse enhancements for Mac OS X

The attached patch brings two more enhancements to mouse handling on Mac
OS X (Quartz):

1. Currently, after launching an SDL application, SDL's notion of the
mouse position is stuck in the top left corner (0,0) until the first
time the mouse is moved. That's because the UpdateMouse() function isn't
implemented in the Quartz driver. This patch adds it.

2. When grabbing input while the mouse cursor is hidden, the function
CGAssociateMouseAndMouseCursorPosition(0) is called, which prevents the
system's notion of the mouse location from moving (and therefore leaving
the SDL window) even when the mouse is moved. However, apparently the
Wacom tablet driver (and maybe other special pointing device drivers)
doesn't care about that setting and still allows the mouse location to
go outside of the window. Interestingly, the system cursor, which is
made visible by the existing code in SDL in that case, does not follow
the mouse location, but appears in the middle of the SDL window. The
mouse location being outside of the window however means that mouse
button events go to background applications (or the dock or whatever is
there), which is very confusing to the user who sees no cursor outside
of the SDL window.

I have not found any way of intercepting these events (and that's
probably by design, as "normal" applications shouldn't prevent the user
from bringing other applications' windows to the front by clicking on
them). An idea would be placing a fully transparent, screen-filling
window in front of everything, but I fear that this might affect
rendering performance (by doing unnecessary compositing, using up
memory, or whatever).

The deluxe solution to the problem would be talking to the tablet
driver using AppleEvents to tell it to constrain its mapped area to the
window (see Wacom's "TabletEventDemo" sample app,
http://www.wacomeng.com/devsupport/mac/downloads.html), but I think that
the bloat that solution would add to SDL would outweigh its usefulness.

What I did instead in my patch is reassociating mouse and cursor when
the mouse leaves the window while an invisible grab is in effect, and
restoring the grab when the window is entered. That way, the grab can
still be effectively broken by a tablet, but at least it's obvious to
the user that it is broken. That change is minimal - it doesn't affect
operation with a mouse (or a trackpad), and the code that it adds is not
executed on every PumpEvents() call, only when entering and leaving the
window.

Unless there are any concerns about the patch, please apply. Feel free
to shorten the lengthy comment in SDL_QuartzEvents.m if you think it's
too verbose.

Thanks

  -Christian
2006-01-02 00:31:00 +00:00
Ryan C. Gordon
0ca1a8dbf8 To: sdl@libsdl.org
From: Christian Walther <cwalther@gmx.ch>
Date: Wed, 28 Dec 2005 12:13:20 +0100
Subject: [SDL] Fix for opening documents on Mac OS X < 10.4

The current code in SDLMain.m that transforms documents opened from the
Finder into command-line arguments (introduced in revision 1.14,
2005-08-11) uses the methods -[NSString lengthOfBytesUsingEncoding:] and
-[NSString getCString:maxLength:encoding:], which are only available in
Mac OS X 10.4.

Compiling this code on 10.3 produces warnings, and running it (i.e.
starting an SDL application by opening a document) leads to weird
behavior which I didn't investigate in detail ("*** -[NSCFString
lengthOfBytesUsingEncoding:]: selector not recognized" is printed to the
console log, and the SDL window never opens).

The attached patch removes the offending calls and uses -[NSString
UTF8String] instead, which is available everywhere. Tested on 10.3.9,
and I see no reason why it shouldn't also work on 10.2 and 10.4.

Two further comments:

* The comment above the -[SDLMain application: openFile:] implementation
says "You need to have a CFBundleDocumentsType section in your
Info.plist to get this message, apparently." This is not the case in my
experience - it worked just fine with a hand-built bare-bones
application consisting only of Test.app/Contents/MacOS/test, without any
Info.plist (although you have to press the option and command keys for
such an application to accept a dragged file).

* I took the liberty of cleaning up another area of SDLMain.m: I changed
"CustomApplicationMain (argc, argv)" to "CustomApplicationMain (int
argc, char **argv)". This avoids the "type of `argv' defaults to `int'"
warnings, and I'm not sure if leaving out the types could cause problems
on platforms where an int and a char** aren't of the same size.

  -Christian
2006-01-01 23:45:52 +00:00
Ryan C. Gordon
6be8306bf3 Bumped windib's priority above DirectX, since both DirectDraw and DirectInput
seem to be giving people issues on newer Windows and DX revisions. We'll see
 if this is just a temporary fix or not...  :/

--ryan.
2006-01-01 23:34:06 +00:00
Patrice Mandin
8d06aed24e Added preliminary missingtranslation from Atari to Unicode charset 2006-01-01 19:14:11 +00:00
Sam Lantinga
9316719017 From: "alan buckley" <alan_baa@hotmail.com>
Subject: Patch for RISC OS cursor palette handling in SDL
Date: Mon, 07 Nov 2005 09:14:15 -0800

The mouse cursor palette was not correctly
restored on RISC OS if the system was using
anything but the default mouse colours.

Additionally I've modifed the order the wait
for vsync is called as it should be after the
screen bank switching.
2005-12-23 09:40:15 +00:00
Ryan C. Gordon
6850ee5901 To: sdl@libsdl.org
From: Christian Walther <cwalther@gmx.ch>
Date: Wed, 21 Dec 2005 13:39:39 +0100
Subject: [SDL] Another mouse bug patch for Mac OS X

Oh my, yet another change in the quartz mouse handling code! :)

The attached patch fixes the following bug:

Calling SDL_WarpMouse() while the cursor is invisible and grabbed should
only update SDL's internal mouse location, not try to warp the system
cursor (which is not at that location, but fixed in the middle of the
window). Otherwise, the next mouse motion event is wrong.

Please apply.

Thanks

  Christian
2005-12-21 18:02:36 +00:00
Ryan C. Gordon
6d0d882c81 Patched to compile on gcc 2.95.3. 2005-12-19 06:58:51 +00:00
Sam Lantinga
0c97a75a3c Updated to the latest glext.h 2005-12-14 05:55:17 +00:00
Sam Lantinga
a71dce4813 Date: Tue, 13 Dec 2005 13:33:50 +0000
From: "alan buckley"
Subject: Patch to fix audio locking on RISC OS

When threads were not disabled on a RISC OS build
the audio mixer mutex was not created.
2005-12-13 16:40:12 +00:00
Ryan C. Gordon
64b1dd14f8 Fixed configure script on latest Mac OS X developer tools (and hopefully
didn't break it everywhere else...grumble...)

--ryan.
2005-12-12 11:14:29 +00:00