annotate README @ 1211:304d8dd6a989

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
author Ryan C. Gordon <icculus@icculus.org>
date Sun, 01 Jan 2006 23:45:52 +0000
parents 61b7f5eed0e8
children ca3718c215af
rev   line source
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
1
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
2 Simple DirectMedia Layer
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
3
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
4 (SDL)
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
5
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
6 Version 1.2
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
7
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
8 ---
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
9 http://www.libsdl.org/
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
10
602
a24bd700f92e *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 579
diff changeset
11 This is the Simple DirectMedia Layer, a general API that provides low
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
12 level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
13 and 2D framebuffer across multiple platforms.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
14
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
15 SDL is written in C, but works with C++ natively, and has bindings to
579
70fa3e489399 Added some language bindings to the README
Sam Lantinga <slouken@libsdl.org>
parents: 578
diff changeset
16 several other languages, including Ada, C#, Eiffel, Java, Lua, ML,
70fa3e489399 Added some language bindings to the README
Sam Lantinga <slouken@libsdl.org>
parents: 578
diff changeset
17 Objective C, Perl, PHP, Pike, Python, and Ruby.
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
18
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
19 The current version supports Linux, Windows, BeOS, MacOS, MacOS X,
702
61b7f5eed0e8 QNX is now officially supported! Thanks to Mike Gorchak!
Sam Lantinga <slouken@libsdl.org>
parents: 630
diff changeset
20 FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains
61b7f5eed0e8 QNX is now officially supported! Thanks to Mike Gorchak!
Sam Lantinga <slouken@libsdl.org>
parents: 630
diff changeset
21 support for Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64,
630
550bccdf04bd Added initial support for RISC OS (thanks Peter Naulls!)
Sam Lantinga <slouken@libsdl.org>
parents: 602
diff changeset
22 RISC OS, and SymbianOS, but these are not officially supported.
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
23
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
24 This library is distributed under GNU LGPL version 2, which can be
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
25 found in the file "COPYING". This license allows you to use SDL
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
26 freely in commercial programs as long as you link with the dynamic
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
27 library.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
28
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
29 The best way to learn how to use SDL is to check out the header files in
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
30 the "include" subdirectory and the programs in the "test" subdirectory.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
31 The header files and test programs are well commented and always up to date.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
32 More documentation is available in HTML format in "./docs/index.html"
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
33
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
34 The test programs in the "test" subdirectory are in the public domain.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
35
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
36 Frequently asked questions are answered online:
369
e405cf8bf580 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 362
diff changeset
37 http://www.libsdl.org/faq.php
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
38
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
39 If you need help with the library, or just want to discuss SDL related
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
40 issues, you can join the developers mailing list:
369
e405cf8bf580 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 362
diff changeset
41 http://www.libsdl.org/mailing-list.php
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
42
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
43 Enjoy!
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
44 Sam Lantinga (slouken@libsdl.org)
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
45