annotate README.MacOSX @ 315:3333b6e68289

Date: Sat, 23 Mar 2002 13:53:37 +0200 From: "Mike Gorchak" <mike@malva.ua> Subject: Big QNX patch again. Added 8bit palette emulation code for window mode with bpp>=15. Added store/restore original palette for 8bit modes. Added more information about photon API call fails. Rewroten change palette code, slow but works. Fixed bug with set caption before window was inited. Fixed bugs with some initial state of variables. Fixed bug with storing old video mode settings. Fixed bug with switching to fullscreen mode and back. Fixed few double SEGFAULTS during parachute mode. Removed compilation warning with no PgWaitHWIdle prototype. Removed pack of dead unusable code. Cleanups SDL_PrivateVideoData structure, some headers. Some code formatting.
author Sam Lantinga <slouken@libsdl.org>
date Sat, 23 Mar 2002 20:19:44 +0000
parents 50620ec9c86a
children ae4ab3ac89a9
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 Using the Simple DirectMedia Layer with Mac OS X
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
3 ==============================================================================
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
4
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
5 These instructions are for people using Apple's Mac OS X (pronounced
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
6 "ten").
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
7
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
8 From the developer's point of view, OS X is a sort of hybrid Mac and
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
9 Unix system, and you have the option of using either traditional
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
10 command line tools or Apple's IDE ProjectBuilder (PB).
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
11
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
12 To build using the command line, use the standard configure and make
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
13 process:
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
14
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
15 ./configure
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
16 make
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
17 make install
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
18
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
19 (You may need to create the subdirs of /usr/local manually.)
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
20
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
21 To use the library once it's built, you essential have two possibilities:
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
22 use the traditional autoconf/automake/make method, or use Apple's Project Builder.
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
23
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
24 ==============================================================================
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
25 Using the Simple DirectMedia Layer with a traditional Makefile
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
26 ==============================================================================
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
27
221
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
28 An existing autoconf/automake build system for your SDL app has good chances
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
29 to work almost unchanged on OS X. However, to produce a "real" MacOS X binary
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
30 that you can distribute to users, you need to put the generated binary into a
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
31 so called "bundle", which basically is a fancy folder with a name like
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
32 "MyCoolGame.app".
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
33
221
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
34 To get this build automatically, add something like the following rule to
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
35 your Makefile.am:
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
36
199
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
37 bundle_contents = APP_NAME.app/Contents
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
38 APP_NAME_bundle: EXE_NAME
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
39 mkdir -p $(bundle_contents)/MacOS
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
40 mkdir -p $(bundle_contents)/Resources
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
41 echo "APPL????" > $(bundle_contents)/PkgInfo
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
42 $(INSTALL_PROGRAM) $< $(bundle_contents)/MacOS/
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
43
221
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
44 You should replace EXE_NAME with the name of the executable. APP_NAME is what
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
45 will be visible to the user in the Finder. Usually it will be the same
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
46 as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
47 usually is "TestGame". You might also want to use @PACKAGE@ to use the package
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
48 name as specified in your configure.in file.
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
49
221
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
50 If your project builds more than one application, you will have to do a bit
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
51 more. For each of your target applications, you need a seperate rule.
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
52
221
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
53 If you want the created bundles to be installed, you may want to add this
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
54 rule to your Makefile.am:
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
55
199
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
56 install-exec-hook: APP_NAME_bundle
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
57 rm -rf $(DESTDIR)$(prefix)/Applications/APP_NAME.app
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
58 mkdir -p $(DESTDIR)$(prefix)/Applications/
2ad0957f6265 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 191
diff changeset
59 cp -r $< /$(DESTDIR)$(prefix)Applications/
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
60
221
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
61 This rule takes the Bundle created by the rule from step 3 and installs them
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
62 into $(DESTDIR)$(prefix)/Applications/.
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
63
221
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
64 Again, if you want to install multiple applications, you will have to augment
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
65 the make rule accordingly.
172
37e3ca9254c7 Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents: 53
diff changeset
66
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
67
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
68 ==============================================================================
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
69 Using the Simple DirectMedia Layer with Project Builder
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
70 ==============================================================================
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
71
221
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
72 These instructions are for using Apple's Project Builder IDE to build SDL
50620ec9c86a *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 207
diff changeset
73 applications.
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
74
53
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
75 - First steps
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
76
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
77 The first thing to do is to unpack the PBProjects.tar.gz archive in the
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
78 top level SDL directory (where the PBProjects.tar.gz archive resides).
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
79 Because Stuffit Expander will unpack the archive into a subdirectory,
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
80 you should unpack the archive manually from the command line:
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
81 cd [path_to_SDL_source]
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
82 tar zxf PBProjects.tar.gz
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
83 This will create a new folder called PBProjects, which you can browse
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
84 normally from the Finder.
25dfe480c75e Added MacOS X Project Builder projects
Sam Lantinga <slouken@lokigames.com>
parents: 47
diff changeset
85
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
86 - Building the Framework
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
87
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
88 The SDL Library is packaged as a framework bundle, an organized
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
89 relocatable folder heirarchy of executible code, interface headers,
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
90 and additional resources. For practical purposes, you can think of a
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
91 framework as a more user and system-friendly shared library, whose library
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
92 file behaves more or less like a standard UNIX shared library.
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
93
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
94 To build the framework, simply open the framework project and build it.
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
95 By default, the framework bundle "SDL.framework" is installed in
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
96 ~/Library/Frameworks. Therefore, the testers and project stationary expect
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
97 it to be located there. However, it will function the same in any of the
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
98 following locations:
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
99
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
100 ~/Library/Frameworks
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
101 /Local/Library/Frameworks
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
102 /System/Library/Frameworks
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
103
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
104 - Build Options
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
105 There are two "Build Styles" (See the "Targets" tab) for SDL.
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
106 "Deployment" should be used if you aren't tweaking the SDL library.
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
107 "Development" should be used to debug SDL apps or the library itself.
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
108
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
109 - Building the Testers
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
110 Open the SDLTest project and build away!
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
111
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
112 - Using the Project Stationary
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
113 Copy the stationary to the indicated folders to access it from
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
114 the "New Project" and "Add target" menus. What could be easier?
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
115
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
116 - Setting up a new project by hand
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
117 Some of you won't want to use the Stationary so I'll give some tips:
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
118 * Create a new "Cocoa Application"
207
c03846dd489b Added Darrell Walisser's updated project-builder projects
Sam Lantinga <slouken@libsdl.org>
parents: 199
diff changeset
119 * Add src/main/macosx/SDLMain.m , .h and .nib to your project
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
120 * Remove "main.c" from your project
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
121 * Remove "MainMenu.nib" from your project
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
122 * Add "$(HOME)/Library/Frameworks/SDL.framework/Headers" to include path
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
123 * Add "$(HOME)/Library/Frameworks" to the frameworks search path
207
c03846dd489b Added Darrell Walisser's updated project-builder projects
Sam Lantinga <slouken@libsdl.org>
parents: 199
diff changeset
124 * Add "-framework SDL -framework Foundation -framework AppKit" to "OTHER_LDFLAGS"
c03846dd489b Added Darrell Walisser's updated project-builder projects
Sam Lantinga <slouken@libsdl.org>
parents: 199
diff changeset
125 * Set the "Main Nib File" under "Application Settings" to "SDLMain.nib"
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
126 * Add your files
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
127 * Clean and build
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
128
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
129 - Building from command line
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
130 Use pbxbuild in the same directory as your .pbproj file
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
131
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
132 - Running your app
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
133 You can send command line args to your app by either invoking it from
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
134 the command line (in *.app/Contents/MacOS) or by entering them in the
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
135 "Executibles" panel of the target settings.
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
136
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
137 - Implementation Notes
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
138 Some things that may be of interest about how it all works...
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
139 * Working directory
191
c151cfc43c07 Changed SDLMain to SDL_main for MacOS X stuff
Sam Lantinga <slouken@libsdl.org>
parents: 172
diff changeset
140 As defined in the SDL_main.m file, the working directory of your SDL app
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
141 is by default set to its parent. You may wish to change this to better
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
142 suit your needs.
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
143 * You have a Cocoa App!
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
144 Your SDL app is essentially a Cocoa application. When your app
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
145 starts up and the libraries finish loading, a Cocoa procedure is called,
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
146 which sets up the working directory and calls your main() method.
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
147 You are free to modify your Cocoa app with generally no consequence
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
148 to SDL. You cannot, however, easily change the SDL window itself.
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
149 Functionality may be added in the future to help this.
207
c03846dd489b Added Darrell Walisser's updated project-builder projects
Sam Lantinga <slouken@libsdl.org>
parents: 199
diff changeset
150
c03846dd489b Added Darrell Walisser's updated project-builder projects
Sam Lantinga <slouken@libsdl.org>
parents: 199
diff changeset
151
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
152 Known bugs are listed in the file "BUGS"