display, which is a fast path used for the whole-surface SDL 1.2 API.
Solved the flicker problems by implementing a backbuffer in the GDI renderer.
Unfortunately, now using the GDI renderer with a backbuffer and HBITMAPs is
significantly slower than SDL's surface code. *sigh*
Added DirectInput joystick code, contributed by Glenn Maynard.
This fixes a problem with the Windows Multimedia joystick driver
not showing all 6 axes on a GameCube controller converter, which
was donated by Jacob Kolding.
Currently there are two Classic-only drivers defined in "SDL_config_macos.h",
and the ones in "SDL_config_macosx.h" are Mach-O/framework-only (i.e. not CFM)
As a workaround, I disabled CDROM and JOYSTICK when building SDL for CFM
Carbon.
The current SVN trunk is missing the SDLCALL specifier at numerous locations.
It has to be added for all (possibly user provided) callbacks.
I stumbled over this while creating a makefile for the OpenWatcom compiler for
Win32.
- A change to define CXX in fatbuild, which comforts the configure script a little, even if we don't use C++ anywhere.
- Some code to see how many CPU cores exist and parallelize make across them.
- CFLAGS that apply to both archs are specified seperately (-O3, -pipe, etc)
- -fvisibility=hidden for the gcc4 builds
- a "clean", "clean-ppc" and "clean-x86" command
- Fix to SDL_config_macosx.h for the HAVE_ALLOCA_H thing.
Now builds on an Intel Mac.
The SDL platform header shouldn't dictate the OS target API for other
applications. The build system should define the target API for building
SDL internally.
[I'm fixing this for the public headers, but I'm not going to bother for the SDL library code (yet)]
To clarify: Normaly, GCC (or, to be precise, the preprocessor) will ignore
this, and compile the code happily. However, one can specify -Wundef to get a
warning about this.
One can probably argue whether to consider this a bug or not; but I think that
(a) from a semantic point of view, using "#if FOO" when FOO is not defined is
strange, and (b) since it is possible to trigger a warning about this, and a
trivial fix exists, it should be corrected.
I can think of two alternative patches, BTW:
1) Simply use #define HAVE_FOO 0, instead of not defining HAVE_FOO at all
2) Change
#if HAVE_FOO
to
#if HAVE_FOO+0
which always does the right thing.
But I think I still prefer the attached patch :-).
The proper name of Apple's operating system is "Mac OS X" not "MacOS X", as can
bee seen in many places, for example http://www.apple.com/macosx/). This
contrasts the naming of the old operating system, which was called "MacOS" and
today is often refered to as "MacOS Classic".
The attached patches fixes the misuse of the name "MacOS X" in both the SDL12
and sdlweb CVS modules.
The current definition of int32_t, uint32_t, uintptr_t
doesn't match what the Mac system headers already have...
Since it's an old 16/32 bit platform, the system headers
expect the types to use "long" and not "int" like they do.
When switching to "UNIX-style paths" as needed for the new includes,
including <GL/gl.h> and <GL/glu.h> doesn't work anymore on Mac OS...
The two headers are really located in the OpenGL SDK 1.2 CFM like this:
OpenGL:Headers:gl.h
OpenGL:Headers:glu.h
There are also some compat copies, that *used* to work with Mac paths:
OpenGL:Headers:GL/gl.h
OpenGL:Headers:GL/glu.h
The easiest fix is to make SDL_opengl.h include the proper header names,
by adding a special case for the MACOS platform in addition to the MACOSX
SDL_config.h is no longer in CVS. Instead, configure will generate it for
systems that use configure, and we always copy SDL_config.h.default to
SDL_config.h before generating a snapshot or release archive.
Also fixed a couple of uninstall issues.
Integrated most of the NetBSD and DragonFly patches at:
ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/devel/SDL/patches/
Thanks to Thomas Klausner for defailed information on the patches
fixed bugs 159 and 160:
+ added threaded timers support
! fixed restoring sdl window focus (AV in windows message handler)
! disabled forgotten cdrom and joystick in config file.
* disabled minimizing sdl window while loosing focus.
PocketPC does not have a task bar, so it is an inconvenient and unusual
behaviour for PPC users.
+ added WIN_Paint handler for GAPI
! fixed loosing focus while using GAPI videi driver
+ added TestTimer project
* removed unnecessary macros (ENABLE_WINDIB ...) from projects
From: "William Petiot [exoide]"
Subject: Re: [SDL] cvs version: standard win32 SDL.DLL file test [patch]
I found a bug or two in previous patch, so here is a patch to correct this.
From: "William Petiot [exoide]"
Subject: Re: [SDL] cvs version: questions regarding HAVE_STDIO_H in standard w
I managed to get a first implementation of it, which I tested for "simple" use
with tests sample apps, they work ok. I think this needs more tests.
Here is the diff against CVS/SDL12, attached.
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...
From: ville
Subject: [SDL] Changing, at least some, anonymous enums to named enums.
Howdy,
Could, some if not all, enums be named rather than being anonymous enums?
I ran into troubles with the enum describing event types in SDL_events.h.
The problem is that an anonymous enum cannot be used in C++ templates like
so:
enum { C };
template< typename T >
void
f( T ) {
}
f( C );
From: Vassilis Virvilis <vasvir@iit.demokritos.gr>
Subject: [SDL] Request: Please reconsider adding tag in SDL_Event
Hi,
Patch in question:
--- include/SDL_events.h 20 Aug 2004 18:57:01 -0000 1.11
+++ include/SDL_events.h 19 Jan 2006 17:35:09 -0000
@@ -214,7 +214,7 @@
} SDL_SysWMEvent;
/* General event structure */
-typedef union {
+typedef union SDL_Event {
Uint8 type;
SDL_ActiveEvent active;
SDL_KeyboardEvent key;
Reasoning:
----------
1) Allows forward declaration of the SDL_Event union in C++. Please
note that in plain C it is possible to forward declare it.
2) Forward declaration is good because it allows encapsulation. It hides
the specific implementation and does not necessarily exposes SDL staff
to my appication's namespace
3) It can't harm plain C because tags are living in a different namespace
than typenames
4) It is already done like this in other places in SDL. Check for example
SDL_KeySym, and SDL_.*Event structures.
5) Right now I have to include SDL/event.h from a C++ header file. See 2)
--ryan.
From: Mike Frysinger <vapier@gentoo.org>
To: sdl@libsdl.org
Date: Thu, 1 Sep 2005 20:25:01 -0400
Subject: [SDL] [patch] add support for arm/thumb and superh to endian
find attached a patch to add support for detecting endian on superh and
arm/thumb ... also, ive incorporated a patch from Fedora which will gather
the correct endian on a linux host from the system endian.h instead of just
trying to maintain an ever-growing list of architectures
-mike