aboutsummaryrefslogtreecommitdiffstats
path: root/distrib/sdl-1.2.15/Xcode
diff options
context:
space:
mode:
Diffstat (limited to 'distrib/sdl-1.2.15/Xcode')
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDL/Info-Framework.plist28
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDL/SDL.xcodeproj/project.pbxproj1961
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDL/pkg-support/Readme SDL Developer.txt282
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDL/pkg-support/SDL-devel.info15
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDL/pkg-support/SDL.info15
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/ReadMe.txt5
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/Welcome.txt5
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/install.sh76
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/License.rtf283
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/ReadMe.txt171
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/ReadMeDevLite.txt12
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/SDL_DS_Storebin0 -> 12292 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/UniversalBinaryNotes.rtf150
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDL/pkg-support/sdl_logo.pdfbin0 -> 163800 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-checkkeys__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-graywin__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-loopwave__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-test.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testalpha__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testbitmap__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testblitspeed.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testcdrom__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testdyngl.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testerror__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testfile.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testgamma__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testgl__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testiconv.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testjoystick__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testkeys__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testlock__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testoverlay2.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testoverlay__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testpalette__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testplatform.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testsem__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testsprite__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testthread__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testtimer__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testtypes__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testversion__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testvidinfo__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testwin__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-testwm__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-threadwin__Upgraded_.plist32
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/Info-torturethread__Upgraded_.plist32
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj4514
-rw-r--r--distrib/sdl-1.2.15/Xcode/SDLTest/libsdlmain_prefix.h13
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/English.lproj/InfoPlist.stringsbin0 -> 644 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/Info.plist37
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.h16
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.m383
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch9
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icnsbin0 -> 111234 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist12
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj308
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/main.c65
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/InfoPlist.stringsbin0 -> 644 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib19
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib21
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nibbin0 -> 2590 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/Info.plist37
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.h16
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.m383
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch9
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icnsbin0 -> 111234 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist12
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj320
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/main.c65
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/English.lproj/InfoPlist.stringsbin0 -> 644 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/Info.plist37
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.h16
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.m383
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch9
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icnsbin0 -> 111234 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist12
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj350
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.c459
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.h65
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/dolphin.c1934
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/shark.c1308
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/swim.c188
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/whale.c1798
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/main.c179
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/English.lproj/InfoPlist.stringsbin0 -> 644 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/Info.plist37
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.h16
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.m383
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch9
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icnsbin0 -> 111234 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist12
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj310
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/main.c65
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/InfoPlist.stringsbin0 -> 644 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib19
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib21
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nibbin0 -> 2590 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/Info.plist37
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.h16
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.m383
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch9
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icnsbin0 -> 111234 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist12
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj322
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/main.c65
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/English.lproj/InfoPlist.stringsbin0 -> 644 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/Info.plist37
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.h16
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.m383
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch9
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icnsbin0 -> 111234 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist12
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj352
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.c459
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.h65
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/dolphin.c1934
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/shark.c1308
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/swim.c188
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/whale.c1798
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/main.c179
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/English.lproj/InfoPlist.stringsbin0 -> 588 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/Info.plist28
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/TemplateInfo.plist12
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/project.pbxproj324
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp_Prefix.pch9
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.h16
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.m383
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/main.c65
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/InfoPlist.stringsbin0 -> 588 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib19
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib21
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nibbin0 -> 2590 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/Info.plist28
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLApp_Prefix.pch9
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/TemplateInfo.plist12
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/project.pbxproj336
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.h16
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.m383
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/main.c65
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/English.lproj/InfoPlist.stringsbin0 -> 588 bytes
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/Info.plist28
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLApp_Prefix.pch9
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.h16
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.m383
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/TemplateInfo.plist12
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/project.pbxproj362
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.c459
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.h65
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/dolphin.c1934
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/shark.c1308
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/swim.c188
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/whale.c1798
-rw-r--r--distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/main.c179
-rw-r--r--distrib/sdl-1.2.15/Xcode/XcodeDocSet/Doxyfile1558
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/mkxcode.csh20
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/package272
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/stationary.csh25
-rwxr-xr-xdistrib/sdl-1.2.15/Xcode/uninstall.csh32
158 files changed, 35834 insertions, 0 deletions
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/Info-Framework.plist b/distrib/sdl-1.2.15/Xcode/SDL/Info-Framework.plist
new file mode 100644
index 0000000..bdcbf6e
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/Info-Framework.plist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>SDL</string>
+ <key>CFBundleGetInfoString</key>
+ <string>http://www.libsdl.org</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>SDL</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>Simple DirectMedia Layer</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.2.14</string>
+ <key>CFBundleSignature</key>
+ <string>SDLX</string>
+ <key>CFBundleVersion</key>
+ <string>1.2.14</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/SDL/SDL.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..1dbe888
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/SDL.xcodeproj/project.pbxproj
@@ -0,0 +1,1961 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXAggregateTarget section */
+ 0032354F1070931700C76517 /* Generate Doxygen DocSet */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = 003235571070933500C76517 /* Build configuration list for PBXAggregateTarget "Generate Doxygen DocSet" */;
+ buildPhases = (
+ 0032354E1070931700C76517 /* ShellScript */,
+ );
+ dependencies = (
+ );
+ name = "Generate Doxygen DocSet";
+ productName = "Generate Doxygen DocSet";
+ };
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+ 0014B7EF09C0D8D2003A99D5 /* SDL_dgaevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B7E909C0D8D2003A99D5 /* SDL_dgaevents.c */; };
+ 0014B7F109C0D8D2003A99D5 /* SDL_dgamouse.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B7EB09C0D8D2003A99D5 /* SDL_dgamouse.c */; };
+ 0014B7F209C0D8D2003A99D5 /* SDL_dgavideo.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B7EC09C0D8D2003A99D5 /* SDL_dgavideo.c */; };
+ 0014B7F409C0D8D2003A99D5 /* SDL_dgaevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B7E809C0D8D2003A99D5 /* SDL_dgaevents_c.h */; };
+ 0014B7F509C0D8D2003A99D5 /* SDL_dgaevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B7E909C0D8D2003A99D5 /* SDL_dgaevents.c */; };
+ 0014B7F609C0D8D2003A99D5 /* SDL_dgamouse_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B7EA09C0D8D2003A99D5 /* SDL_dgamouse_c.h */; };
+ 0014B7F709C0D8D2003A99D5 /* SDL_dgamouse.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B7EB09C0D8D2003A99D5 /* SDL_dgamouse.c */; };
+ 0014B7F809C0D8D2003A99D5 /* SDL_dgavideo.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B7EC09C0D8D2003A99D5 /* SDL_dgavideo.c */; };
+ 0014B7F909C0D8D2003A99D5 /* SDL_dgavideo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B7ED09C0D8D2003A99D5 /* SDL_dgavideo.h */; };
+ 0014B84F09C0D977003A99D5 /* SDL_x11dga.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B83809C0D977003A99D5 /* SDL_x11dga.c */; };
+ 0014B85009C0D977003A99D5 /* SDL_x11dyn.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B83909C0D977003A99D5 /* SDL_x11dyn.c */; };
+ 0014B85309C0D977003A99D5 /* SDL_x11events.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B83C09C0D977003A99D5 /* SDL_x11events.c */; };
+ 0014B85509C0D977003A99D5 /* SDL_x11gamma.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B83E09C0D977003A99D5 /* SDL_x11gamma.c */; };
+ 0014B85709C0D977003A99D5 /* SDL_x11gl.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84009C0D977003A99D5 /* SDL_x11gl.c */; };
+ 0014B85909C0D977003A99D5 /* SDL_x11image.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84209C0D977003A99D5 /* SDL_x11image.c */; };
+ 0014B85B09C0D977003A99D5 /* SDL_x11modes.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84409C0D977003A99D5 /* SDL_x11modes.c */; };
+ 0014B85D09C0D977003A99D5 /* SDL_x11mouse.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84609C0D977003A99D5 /* SDL_x11mouse.c */; };
+ 0014B85F09C0D977003A99D5 /* SDL_x11video.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84809C0D977003A99D5 /* SDL_x11video.c */; };
+ 0014B86209C0D977003A99D5 /* SDL_x11wm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84B09C0D977003A99D5 /* SDL_x11wm.c */; };
+ 0014B86409C0D977003A99D5 /* SDL_x11yuv.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84D09C0D977003A99D5 /* SDL_x11yuv.c */; };
+ 0014B86509C0D977003A99D5 /* SDL_x11dga_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B83709C0D977003A99D5 /* SDL_x11dga_c.h */; };
+ 0014B86609C0D977003A99D5 /* SDL_x11dga.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B83809C0D977003A99D5 /* SDL_x11dga.c */; };
+ 0014B86709C0D977003A99D5 /* SDL_x11dyn.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B83909C0D977003A99D5 /* SDL_x11dyn.c */; };
+ 0014B86809C0D977003A99D5 /* SDL_x11dyn.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B83A09C0D977003A99D5 /* SDL_x11dyn.h */; };
+ 0014B86909C0D977003A99D5 /* SDL_x11events_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B83B09C0D977003A99D5 /* SDL_x11events_c.h */; };
+ 0014B86A09C0D977003A99D5 /* SDL_x11events.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B83C09C0D977003A99D5 /* SDL_x11events.c */; };
+ 0014B86B09C0D977003A99D5 /* SDL_x11gamma_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B83D09C0D977003A99D5 /* SDL_x11gamma_c.h */; };
+ 0014B86C09C0D977003A99D5 /* SDL_x11gamma.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B83E09C0D977003A99D5 /* SDL_x11gamma.c */; };
+ 0014B86D09C0D977003A99D5 /* SDL_x11gl_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B83F09C0D977003A99D5 /* SDL_x11gl_c.h */; };
+ 0014B86E09C0D977003A99D5 /* SDL_x11gl.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84009C0D977003A99D5 /* SDL_x11gl.c */; };
+ 0014B86F09C0D977003A99D5 /* SDL_x11image_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B84109C0D977003A99D5 /* SDL_x11image_c.h */; };
+ 0014B87009C0D977003A99D5 /* SDL_x11image.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84209C0D977003A99D5 /* SDL_x11image.c */; };
+ 0014B87109C0D977003A99D5 /* SDL_x11modes_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B84309C0D977003A99D5 /* SDL_x11modes_c.h */; };
+ 0014B87209C0D977003A99D5 /* SDL_x11modes.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84409C0D977003A99D5 /* SDL_x11modes.c */; };
+ 0014B87309C0D977003A99D5 /* SDL_x11mouse_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B84509C0D977003A99D5 /* SDL_x11mouse_c.h */; };
+ 0014B87409C0D977003A99D5 /* SDL_x11mouse.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84609C0D977003A99D5 /* SDL_x11mouse.c */; };
+ 0014B87509C0D977003A99D5 /* SDL_x11sym.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B84709C0D977003A99D5 /* SDL_x11sym.h */; };
+ 0014B87609C0D977003A99D5 /* SDL_x11video.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84809C0D977003A99D5 /* SDL_x11video.c */; };
+ 0014B87709C0D977003A99D5 /* SDL_x11video.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B84909C0D977003A99D5 /* SDL_x11video.h */; };
+ 0014B87809C0D977003A99D5 /* SDL_x11wm_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B84A09C0D977003A99D5 /* SDL_x11wm_c.h */; };
+ 0014B87909C0D977003A99D5 /* SDL_x11wm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84B09C0D977003A99D5 /* SDL_x11wm.c */; };
+ 0014B87A09C0D977003A99D5 /* SDL_x11yuv_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B84C09C0D977003A99D5 /* SDL_x11yuv_c.h */; };
+ 0014B87B09C0D977003A99D5 /* SDL_x11yuv.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B84D09C0D977003A99D5 /* SDL_x11yuv.c */; };
+ 0014B89209C0DA94003A99D5 /* XF86DGA.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89009C0DA94003A99D5 /* XF86DGA.c */; };
+ 0014B89309C0DA94003A99D5 /* XF86DGA2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89109C0DA94003A99D5 /* XF86DGA2.c */; };
+ 0014B89409C0DA94003A99D5 /* XF86DGA.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89009C0DA94003A99D5 /* XF86DGA.c */; };
+ 0014B89509C0DA94003A99D5 /* XF86DGA2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89109C0DA94003A99D5 /* XF86DGA2.c */; };
+ 0014B89709C0DAA1003A99D5 /* XF86VMode.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89609C0DAA1003A99D5 /* XF86VMode.c */; };
+ 0014B89809C0DAA1003A99D5 /* XF86VMode.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89609C0DAA1003A99D5 /* XF86VMode.c */; };
+ 0014B89B09C0DAAE003A99D5 /* Xv.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89909C0DAAE003A99D5 /* Xv.c */; };
+ 0014B89D09C0DAAE003A99D5 /* Xv.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89909C0DAAE003A99D5 /* Xv.c */; };
+ 0014B89E09C0DAAE003A99D5 /* Xvlibint.h in Headers */ = {isa = PBXBuildFile; fileRef = 0014B89A09C0DAAE003A99D5 /* Xvlibint.h */; };
+ 0014B8A009C0DAB9003A99D5 /* Xinerama.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89F09C0DAB9003A99D5 /* Xinerama.c */; };
+ 0014B8A109C0DAB9003A99D5 /* Xinerama.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B89F09C0DAB9003A99D5 /* Xinerama.c */; };
+ 0014B8A309C0DAC4003A99D5 /* xme.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B8A209C0DAC4003A99D5 /* xme.c */; };
+ 0014B8A409C0DAC4003A99D5 /* xme.c in Sources */ = {isa = PBXBuildFile; fileRef = 0014B8A209C0DAC4003A99D5 /* xme.c */; };
+ 00162D4409BD1FA90037C8D0 /* SDL_config_dreamcast.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3209BD1FA90037C8D0 /* SDL_config_dreamcast.h */; };
+ 00162D4509BD1FA90037C8D0 /* SDL_config_macos.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3309BD1FA90037C8D0 /* SDL_config_macos.h */; };
+ 00162D4609BD1FA90037C8D0 /* SDL_config_macosx.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3409BD1FA90037C8D0 /* SDL_config_macosx.h */; };
+ 00162D4709BD1FA90037C8D0 /* SDL_config_os2.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3509BD1FA90037C8D0 /* SDL_config_os2.h */; };
+ 00162D4809BD1FA90037C8D0 /* SDL_config_win32.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3609BD1FA90037C8D0 /* SDL_config_win32.h */; };
+ 00162D4909BD1FA90037C8D0 /* SDL_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3709BD1FA90037C8D0 /* SDL_config.h */; };
+ 00162D4A09BD1FA90037C8D0 /* SDL_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3809BD1FA90037C8D0 /* SDL_platform.h */; };
+ 00162D4B09BD1FA90037C8D0 /* SDL_stdinc.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3909BD1FA90037C8D0 /* SDL_stdinc.h */; };
+ 00162D5309BD20DA0037C8D0 /* SDL_syscond.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D4D09BD20DA0037C8D0 /* SDL_syscond.c */; };
+ 00162D5409BD20DA0037C8D0 /* SDL_sysmutex.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D4E09BD20DA0037C8D0 /* SDL_sysmutex.c */; };
+ 00162D5609BD20DA0037C8D0 /* SDL_syssem.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D5009BD20DA0037C8D0 /* SDL_syssem.c */; };
+ 00162D5709BD20DA0037C8D0 /* SDL_systhread.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D5109BD20DA0037C8D0 /* SDL_systhread.c */; };
+ 00162D5909BD20DA0037C8D0 /* SDL_syscond.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D4D09BD20DA0037C8D0 /* SDL_syscond.c */; };
+ 00162D5A09BD20DA0037C8D0 /* SDL_sysmutex.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D4E09BD20DA0037C8D0 /* SDL_sysmutex.c */; };
+ 00162D5B09BD20DA0037C8D0 /* SDL_sysmutex_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D4F09BD20DA0037C8D0 /* SDL_sysmutex_c.h */; };
+ 00162D5C09BD20DA0037C8D0 /* SDL_syssem.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D5009BD20DA0037C8D0 /* SDL_syssem.c */; };
+ 00162D5D09BD20DA0037C8D0 /* SDL_systhread.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D5109BD20DA0037C8D0 /* SDL_systhread.c */; };
+ 00162D5E09BD20DA0037C8D0 /* SDL_systhread_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D5209BD20DA0037C8D0 /* SDL_systhread_c.h */; };
+ 00162D6109BD21010037C8D0 /* SDL_systimer.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6009BD21010037C8D0 /* SDL_systimer.c */; };
+ 00162D6209BD21010037C8D0 /* SDL_systimer.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6009BD21010037C8D0 /* SDL_systimer.c */; };
+ 00162D6B09BD214F0037C8D0 /* SDL_getenv.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6509BD214F0037C8D0 /* SDL_getenv.c */; };
+ 00162D6C09BD214F0037C8D0 /* SDL_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6609BD214F0037C8D0 /* SDL_malloc.c */; };
+ 00162D6D09BD214F0037C8D0 /* SDL_qsort.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6709BD214F0037C8D0 /* SDL_qsort.c */; };
+ 00162D6E09BD214F0037C8D0 /* SDL_stdlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6809BD214F0037C8D0 /* SDL_stdlib.c */; };
+ 00162D6F09BD214F0037C8D0 /* SDL_string.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6909BD214F0037C8D0 /* SDL_string.c */; };
+ 00162D7009BD214F0037C8D0 /* SDL_getenv.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6509BD214F0037C8D0 /* SDL_getenv.c */; };
+ 00162D7109BD214F0037C8D0 /* SDL_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6609BD214F0037C8D0 /* SDL_malloc.c */; };
+ 00162D7209BD214F0037C8D0 /* SDL_qsort.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6709BD214F0037C8D0 /* SDL_qsort.c */; };
+ 00162D7309BD214F0037C8D0 /* SDL_stdlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6809BD214F0037C8D0 /* SDL_stdlib.c */; };
+ 00162D7409BD214F0037C8D0 /* SDL_string.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162D6909BD214F0037C8D0 /* SDL_string.c */; };
+ 00162DA409BD222F0037C8D0 /* SDL_config_dreamcast.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3209BD1FA90037C8D0 /* SDL_config_dreamcast.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DA509BD222F0037C8D0 /* SDL_config_macos.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3309BD1FA90037C8D0 /* SDL_config_macos.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DA609BD222F0037C8D0 /* SDL_config_macosx.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3409BD1FA90037C8D0 /* SDL_config_macosx.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DA709BD222F0037C8D0 /* SDL_config_os2.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3509BD1FA90037C8D0 /* SDL_config_os2.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DA809BD222F0037C8D0 /* SDL_config_win32.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3609BD1FA90037C8D0 /* SDL_config_win32.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DA909BD222F0037C8D0 /* SDL_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3709BD1FA90037C8D0 /* SDL_config.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DAA09BD222F0037C8D0 /* SDL_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3809BD1FA90037C8D0 /* SDL_platform.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DAB09BD222F0037C8D0 /* SDL_stdinc.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162D3909BD1FA90037C8D0 /* SDL_stdinc.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DAC09BD222F0037C8D0 /* begin_code.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5E501191D2B7F000001 /* begin_code.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DAD09BD222F0037C8D0 /* close_code.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5E601191D2B7F000001 /* close_code.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DAE09BD222F0037C8D0 /* SDL_active.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5E701191D2B7F000001 /* SDL_active.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DAF09BD222F0037C8D0 /* SDL_audio.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5E801191D2B7F000001 /* SDL_audio.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB009BD222F0037C8D0 /* SDL_byteorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5E901191D2B7F000001 /* SDL_byteorder.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB109BD222F0037C8D0 /* SDL_cdrom.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5EA01191D2B7F000001 /* SDL_cdrom.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB209BD222F0037C8D0 /* SDL_copying.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5EB01191D2B7F000001 /* SDL_copying.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB309BD222F0037C8D0 /* SDL_cpuinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = B2CF8DC405C444E400E5DC7F /* SDL_cpuinfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB409BD222F0037C8D0 /* SDL_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5EC01191D2B7F000001 /* SDL_endian.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB509BD222F0037C8D0 /* SDL_error.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5ED01191D2B7F000001 /* SDL_error.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB609BD222F0037C8D0 /* SDL_events.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5EE01191D2B7F000001 /* SDL_events.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB709BD222F0037C8D0 /* SDL_getenv.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5EF01191D2B7F000001 /* SDL_getenv.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB809BD222F0037C8D0 /* SDL_joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F001191D2B7F000001 /* SDL_joystick.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DB909BD222F0037C8D0 /* SDL_keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F101191D2B7F000001 /* SDL_keyboard.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DBA09BD222F0037C8D0 /* SDL_keysym.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F201191D2B7F000001 /* SDL_keysym.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DBB09BD222F0037C8D0 /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = B29A290D04E5B28700A80002 /* SDL_loadso.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DBC09BD222F0037C8D0 /* SDL_main.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F301191D2B7F000001 /* SDL_main.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DBD09BD222F0037C8D0 /* SDL_mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F401191D2B7F000001 /* SDL_mouse.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DBE09BD222F0037C8D0 /* SDL_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F501191D2B7F000001 /* SDL_mutex.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DBF09BD222F0037C8D0 /* SDL_name.h in Headers */ = {isa = PBXBuildFile; fileRef = B2CF8DC705C4450500E5DC7F /* SDL_name.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC009BD222F0037C8D0 /* SDL_opengl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F601191D2B7F000001 /* SDL_opengl.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC109BD222F0037C8D0 /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F701191D2B7F000001 /* SDL_quit.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC209BD222F0037C8D0 /* SDL_rwops.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F801191D2B7F000001 /* SDL_rwops.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC309BD222F0037C8D0 /* SDL_syswm.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5F901191D2B7F000001 /* SDL_syswm.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC409BD222F0037C8D0 /* SDL_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5FA01191D2B7F000001 /* SDL_thread.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC509BD222F0037C8D0 /* SDL_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5FB01191D2B7F000001 /* SDL_timer.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC609BD222F0037C8D0 /* SDL_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5FC01191D2B7F000001 /* SDL_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC709BD222F0037C8D0 /* SDL_version.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5FD01191D2B7F000001 /* SDL_version.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC809BD222F0037C8D0 /* SDL_video.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5FE01191D2B7F000001 /* SDL_video.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162DC909BD222F0037C8D0 /* SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C5AF5FF01191D2B7F000001 /* SDL.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 00162E6809BD27300037C8D0 /* SDL_mixer_MMX.c in Sources */ = {isa = PBXBuildFile; fileRef = 00B7E61F097F2D9E00826121 /* SDL_mixer_MMX.c */; };
+ 00162E6A09BD27360037C8D0 /* SDL_mixer_MMX.c in Sources */ = {isa = PBXBuildFile; fileRef = 00B7E61F097F2D9E00826121 /* SDL_mixer_MMX.c */; };
+ 00162E6B09BD27370037C8D0 /* SDL_mixer_MMX.h in Headers */ = {isa = PBXBuildFile; fileRef = 00B7E620097F2D9E00826121 /* SDL_mixer_MMX.h */; };
+ 00162F3B09BE27FB0037C8D0 /* SDL_nullevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162F3409BE27FB0037C8D0 /* SDL_nullevents.c */; };
+ 00162F3D09BE27FB0037C8D0 /* SDL_nullmouse.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162F3609BE27FB0037C8D0 /* SDL_nullmouse.c */; };
+ 00162F3F09BE27FB0037C8D0 /* SDL_nullvideo.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162F3809BE27FB0037C8D0 /* SDL_nullvideo.c */; };
+ 00162F4109BE27FB0037C8D0 /* SDL_nullevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162F3409BE27FB0037C8D0 /* SDL_nullevents.c */; };
+ 00162F4209BE27FB0037C8D0 /* SDL_nullevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162F3509BE27FB0037C8D0 /* SDL_nullevents_c.h */; };
+ 00162F4309BE27FB0037C8D0 /* SDL_nullmouse.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162F3609BE27FB0037C8D0 /* SDL_nullmouse.c */; };
+ 00162F4409BE27FB0037C8D0 /* SDL_nullmouse_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162F3709BE27FB0037C8D0 /* SDL_nullmouse_c.h */; };
+ 00162F4509BE27FB0037C8D0 /* SDL_nullvideo.c in Sources */ = {isa = PBXBuildFile; fileRef = 00162F3809BE27FB0037C8D0 /* SDL_nullvideo.c */; };
+ 00162F4609BE27FB0037C8D0 /* SDL_nullvideo.h in Headers */ = {isa = PBXBuildFile; fileRef = 00162F3909BE27FB0037C8D0 /* SDL_nullvideo.h */; };
+ 002F328609CA049100EBEB88 /* SDL_iconv.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F328509CA049100EBEB88 /* SDL_iconv.c */; };
+ 002F328709CA049100EBEB88 /* SDL_iconv.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F328509CA049100EBEB88 /* SDL_iconv.c */; };
+ 002F32D709CA0BE700EBEB88 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F32D409CA0BE700EBEB88 /* SDL_diskaudio.c */; };
+ 002F32D909CA0BE700EBEB88 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F32D409CA0BE700EBEB88 /* SDL_diskaudio.c */; };
+ 002F32DA09CA0BE700EBEB88 /* SDL_diskaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 002F32D509CA0BE700EBEB88 /* SDL_diskaudio.h */; };
+ 002F32E509CA0BF600EBEB88 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F32E209CA0BF600EBEB88 /* SDL_dummyaudio.c */; };
+ 002F32E709CA0BF600EBEB88 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F32E209CA0BF600EBEB88 /* SDL_dummyaudio.c */; };
+ 002F32E809CA0BF600EBEB88 /* SDL_dummyaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 002F32E309CA0BF600EBEB88 /* SDL_dummyaudio.h */; };
+ 004C2C8B0975E13300E9D430 /* AudioFilePlayer.c in Sources */ = {isa = PBXBuildFile; fileRef = 004C2C860975E13300E9D430 /* AudioFilePlayer.c */; };
+ 004C2C8C0975E13300E9D430 /* AudioFileReaderThread.c in Sources */ = {isa = PBXBuildFile; fileRef = 004C2C870975E13300E9D430 /* AudioFileReaderThread.c */; };
+ 004C2C8D0975E13300E9D430 /* CDPlayer.c in Sources */ = {isa = PBXBuildFile; fileRef = 004C2C880975E13300E9D430 /* CDPlayer.c */; };
+ 004C2C8E0975E13300E9D430 /* SDLOSXCAGuard.c in Sources */ = {isa = PBXBuildFile; fileRef = 004C2C890975E13300E9D430 /* SDLOSXCAGuard.c */; };
+ 004C2C900975E13300E9D430 /* AudioFilePlayer.c in Sources */ = {isa = PBXBuildFile; fileRef = 004C2C860975E13300E9D430 /* AudioFilePlayer.c */; };
+ 004C2C910975E13300E9D430 /* AudioFileReaderThread.c in Sources */ = {isa = PBXBuildFile; fileRef = 004C2C870975E13300E9D430 /* AudioFileReaderThread.c */; };
+ 004C2C920975E13300E9D430 /* CDPlayer.c in Sources */ = {isa = PBXBuildFile; fileRef = 004C2C880975E13300E9D430 /* CDPlayer.c */; };
+ 004C2C930975E13300E9D430 /* SDLOSXCAGuard.c in Sources */ = {isa = PBXBuildFile; fileRef = 004C2C890975E13300E9D430 /* SDLOSXCAGuard.c */; };
+ 004C2C940975E13300E9D430 /* SDLOSXCAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 004C2C8A0975E13300E9D430 /* SDLOSXCAGuard.h */; };
+ 007317A20858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179B0858DECD00B2BC32 /* AudioToolbox.framework */; };
+ 007317A30858DECD00B2BC32 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179C0858DECD00B2BC32 /* AudioUnit.framework */; };
+ 007317A40858DECD00B2BC32 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179D0858DECD00B2BC32 /* Cocoa.framework */; };
+ 007317A50858DECD00B2BC32 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179E0858DECD00B2BC32 /* CoreAudio.framework */; };
+ 007317A60858DECD00B2BC32 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179F0858DECD00B2BC32 /* IOKit.framework */; };
+ 007317A70858DECD00B2BC32 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317A00858DECD00B2BC32 /* OpenGL.framework */; };
+ 007317A90858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179B0858DECD00B2BC32 /* AudioToolbox.framework */; };
+ 007317AA0858DECD00B2BC32 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179C0858DECD00B2BC32 /* AudioUnit.framework */; };
+ 007317AB0858DECD00B2BC32 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179D0858DECD00B2BC32 /* Cocoa.framework */; };
+ 007317AC0858DECD00B2BC32 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179E0858DECD00B2BC32 /* CoreAudio.framework */; };
+ 007317AD0858DECD00B2BC32 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179F0858DECD00B2BC32 /* IOKit.framework */; };
+ 007317AE0858DECD00B2BC32 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317A00858DECD00B2BC32 /* OpenGL.framework */; };
+ 007317AF0858DECD00B2BC32 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317A10858DECD00B2BC32 /* QuickTime.framework */; };
+ 007317B00858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179B0858DECD00B2BC32 /* AudioToolbox.framework */; };
+ 007317B10858DECD00B2BC32 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179C0858DECD00B2BC32 /* AudioUnit.framework */; };
+ 007317B20858DECD00B2BC32 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179D0858DECD00B2BC32 /* Cocoa.framework */; };
+ 007317B30858DECD00B2BC32 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179E0858DECD00B2BC32 /* CoreAudio.framework */; };
+ 007317B40858DECD00B2BC32 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179F0858DECD00B2BC32 /* IOKit.framework */; };
+ 007317B50858DECD00B2BC32 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317A00858DECD00B2BC32 /* OpenGL.framework */; };
+ 007317B60858DECD00B2BC32 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317A10858DECD00B2BC32 /* QuickTime.framework */; };
+ 007317C30858E15000B2BC32 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; };
+ 007317C40858E15000B2BC32 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; };
+ 00D0D02310675823004B05EF /* SDL_QuartzWM.h in Headers */ = {isa = PBXBuildFile; fileRef = 00D0D02210675823004B05EF /* SDL_QuartzWM.h */; };
+ 00D0D08410675DD9004B05EF /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00D0D08310675DD9004B05EF /* CoreFoundation.framework */; };
+ 00D0D0D810675E46004B05EF /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; };
+ 00EAE6FC0C4D3F84009A420A /* SDL_yuv_mmx.c in Sources */ = {isa = PBXBuildFile; fileRef = 00B7E625097F2DD100826121 /* SDL_yuv_mmx.c */; };
+ 00EAE6FD0C4D3F88009A420A /* SDL_yuv_mmx.c in Sources */ = {isa = PBXBuildFile; fileRef = 00B7E625097F2DD100826121 /* SDL_yuv_mmx.c */; };
+ 046B91EC0A11B53500FB151C /* SDL_sysloadso.c in Sources */ = {isa = PBXBuildFile; fileRef = 046B91E90A11B53500FB151C /* SDL_sysloadso.c */; };
+ 046B91ED0A11B53500FB151C /* SDL_sysloadso.c in Sources */ = {isa = PBXBuildFile; fileRef = 046B91E90A11B53500FB151C /* SDL_sysloadso.c */; };
+ 046B92130A11B8AD00FB151C /* SDL_dlcompat.c in Sources */ = {isa = PBXBuildFile; fileRef = 046B92100A11B8AD00FB151C /* SDL_dlcompat.c */; };
+ 046B92140A11B8AD00FB151C /* SDL_dlcompat.c in Sources */ = {isa = PBXBuildFile; fileRef = 046B92100A11B8AD00FB151C /* SDL_dlcompat.c */; };
+ BECDF62B0761BA81005FE872 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF2F0086C3A07F000001 /* SDLMain.nib */; };
+ BECDF62E0761BA81005FE872 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538330006D78D67F000001 /* SDL_audio.c */; };
+ BECDF62F0761BA81005FE872 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538331006D78D67F000001 /* SDL_audiocvt.c */; };
+ BECDF6300761BA81005FE872 /* SDL_audiodev.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538332006D78D67F000001 /* SDL_audiodev.c */; };
+ BECDF6320761BA81005FE872 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538334006D78D67F000001 /* SDL_mixer.c */; };
+ BECDF6330761BA81005FE872 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538335006D78D67F000001 /* SDL_wave.c */; };
+ BECDF6350761BA81005FE872 /* SDL_active.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538368006D79147F000001 /* SDL_active.c */; };
+ BECDF6360761BA81005FE872 /* SDL_events.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538369006D79147F000001 /* SDL_events.c */; };
+ BECDF6370761BA81005FE872 /* SDL_expose.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836A006D79147F000001 /* SDL_expose.c */; };
+ BECDF6380761BA81005FE872 /* SDL_keyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836B006D79147F000001 /* SDL_keyboard.c */; };
+ BECDF6390761BA81005FE872 /* SDL_mouse.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836C006D79147F000001 /* SDL_mouse.c */; };
+ BECDF63A0761BA81005FE872 /* SDL_quit.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836D006D79147F000001 /* SDL_quit.c */; };
+ BECDF63B0761BA81005FE872 /* SDL_resize.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836E006D79147F000001 /* SDL_resize.c */; };
+ BECDF63C0761BA81005FE872 /* SDL_rwops.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538377006D79307F000001 /* SDL_rwops.c */; };
+ BECDF63E0761BA81005FE872 /* SDL_timer.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383A0006D79BC7F000001 /* SDL_timer.c */; };
+ BECDF63F0761BA81005FE872 /* SDL_blit.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383D8006D7A567F000001 /* SDL_blit.c */; };
+ BECDF6400761BA81005FE872 /* SDL_blit_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DA006D7A567F000001 /* SDL_blit_0.c */; };
+ BECDF6410761BA81005FE872 /* SDL_blit_1.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DB006D7A567F000001 /* SDL_blit_1.c */; };
+ BECDF6420761BA81005FE872 /* SDL_blit_A.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DC006D7A567F000001 /* SDL_blit_A.c */; };
+ BECDF6430761BA81005FE872 /* SDL_blit_N.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DE006D7A567F000001 /* SDL_blit_N.c */; };
+ BECDF6440761BA81005FE872 /* SDL_bmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DF006D7A567F000001 /* SDL_bmp.c */; };
+ BECDF6450761BA81005FE872 /* SDL_cursor.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383E0006D7A567F000001 /* SDL_cursor.c */; };
+ BECDF6460761BA81005FE872 /* SDL_gamma.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383E2006D7A567F000001 /* SDL_gamma.c */; };
+ BECDF6470761BA81005FE872 /* SDL_pixels.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383E6006D7A567F000001 /* SDL_pixels.c */; };
+ BECDF6480761BA81005FE872 /* SDL_RLEaccel.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383E8006D7A567F000001 /* SDL_RLEaccel.c */; };
+ BECDF6490761BA81005FE872 /* SDL_surface.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383EC006D7A567F000001 /* SDL_surface.c */; };
+ BECDF64A0761BA81005FE872 /* SDL_video.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383EE006D7A567F000001 /* SDL_video.c */; };
+ BECDF64B0761BA81005FE872 /* SDL_yuv.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383EF006D7A567F000001 /* SDL_yuv.c */; };
+ BECDF64C0761BA81005FE872 /* SDL_yuv_sw.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383F1006D7A567F000001 /* SDL_yuv_sw.c */; };
+ BECDF64D0761BA81005FE872 /* SDL_error.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538438006D7D947F000001 /* SDL_error.c */; };
+ BECDF64E0761BA81005FE872 /* SDL_fatal.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538439006D7D947F000001 /* SDL_fatal.c */; };
+ BECDF6500761BA81005FE872 /* SDL.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153843C006D7D947F000001 /* SDL.c */; };
+ BECDF6510761BA81005FE872 /* SDL_thread.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538445006D7EC67F000001 /* SDL_thread.c */; };
+ BECDF6520761BA81005FE872 /* SDL_cdrom.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4895006D86FF7F000001 /* SDL_cdrom.c */; };
+ BECDF6530761BA81005FE872 /* SDL_joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E489D006D88D97F000001 /* SDL_joystick.c */; };
+ BECDF6580761BA81005FE872 /* SDL_stretch.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383EA006D7A567F000001 /* SDL_stretch.c */; };
+ BECDF6590761BA81005FE872 /* SDL_sysjoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = F51789D101769A2401D3D55B /* SDL_sysjoystick.c */; };
+ BECDF65B0761BA81005FE872 /* SDL_QuartzEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4D705A88AD0006B9F1C /* SDL_QuartzEvents.m */; };
+ BECDF65C0761BA81005FE872 /* SDL_QuartzGL.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4D805A88AD0006B9F1C /* SDL_QuartzGL.m */; };
+ BECDF65D0761BA81005FE872 /* SDL_QuartzVideo.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4DB05A88AD0006B9F1C /* SDL_QuartzVideo.m */; };
+ BECDF65E0761BA81005FE872 /* SDL_QuartzWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4DD05A88AD0006B9F1C /* SDL_QuartzWindow.m */; };
+ BECDF65F0761BA81005FE872 /* SDL_QuartzWM.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4DE05A88AD0006B9F1C /* SDL_QuartzWM.m */; };
+ BECDF6610761BA81005FE872 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = B24DA50405A88D52006B9F1C /* SDL_cpuinfo.c */; };
+ BECDF6620761BA81005FE872 /* SDL_syscdrom.c in Sources */ = {isa = PBXBuildFile; fileRef = B2A23A7B04157C5700A80002 /* SDL_syscdrom.c */; };
+ BECDF6670761BA81005FE872 /* SDL_coreaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = BECDF5D50761B759005FE872 /* SDL_coreaudio.c */; };
+ BECDF6720761BA81005FE872 /* CGS.h in Headers */ = {isa = PBXBuildFile; fileRef = B24DA4D605A88AD0006B9F1C /* CGS.h */; };
+ BECDF6730761BA81005FE872 /* SDL_QuartzKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = B24DA4D905A88AD0006B9F1C /* SDL_QuartzKeys.h */; };
+ BECDF6740761BA81005FE872 /* SDL_QuartzVideo.h in Headers */ = {isa = PBXBuildFile; fileRef = B24DA4DA05A88AD0006B9F1C /* SDL_QuartzVideo.h */; };
+ BECDF6750761BA81005FE872 /* SDL_QuartzWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = B24DA4DC05A88AD0006B9F1C /* SDL_QuartzWindow.h */; };
+ BECDF6760761BA81005FE872 /* SDL_cpuinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = B2CF8DC405C444E400E5DC7F /* SDL_cpuinfo.h */; };
+ BECDF6770761BA81005FE872 /* SDL_name.h in Headers */ = {isa = PBXBuildFile; fileRef = B2CF8DC705C4450500E5DC7F /* SDL_name.h */; };
+ BECDF6780761BA81005FE872 /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = BECDF5D60761B759005FE872 /* SDL_coreaudio.h */; };
+ BECDF67A0761BA81005FE872 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538330006D78D67F000001 /* SDL_audio.c */; };
+ BECDF67B0761BA81005FE872 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538331006D78D67F000001 /* SDL_audiocvt.c */; };
+ BECDF67D0761BA81005FE872 /* SDL_audiodev.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538332006D78D67F000001 /* SDL_audiodev.c */; };
+ BECDF67E0761BA81005FE872 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538334006D78D67F000001 /* SDL_mixer.c */; };
+ BECDF67F0761BA81005FE872 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538335006D78D67F000001 /* SDL_wave.c */; };
+ BECDF6810761BA81005FE872 /* SDL_cdrom.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4895006D86FF7F000001 /* SDL_cdrom.c */; };
+ BECDF6830761BA81005FE872 /* SDL_active.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538368006D79147F000001 /* SDL_active.c */; };
+ BECDF6840761BA81005FE872 /* SDL_events.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538369006D79147F000001 /* SDL_events.c */; };
+ BECDF6850761BA81005FE872 /* SDL_expose.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836A006D79147F000001 /* SDL_expose.c */; };
+ BECDF6860761BA81005FE872 /* SDL_keyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836B006D79147F000001 /* SDL_keyboard.c */; };
+ BECDF6870761BA81005FE872 /* SDL_mouse.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836C006D79147F000001 /* SDL_mouse.c */; };
+ BECDF6880761BA81005FE872 /* SDL_quit.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836D006D79147F000001 /* SDL_quit.c */; };
+ BECDF6890761BA81005FE872 /* SDL_resize.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153836E006D79147F000001 /* SDL_resize.c */; };
+ BECDF68A0761BA81005FE872 /* SDL_rwops.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538377006D79307F000001 /* SDL_rwops.c */; };
+ BECDF68B0761BA81005FE872 /* SDL_joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E489D006D88D97F000001 /* SDL_joystick.c */; };
+ BECDF68C0761BA81005FE872 /* SDL_thread.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538445006D7EC67F000001 /* SDL_thread.c */; };
+ BECDF6920761BA81005FE872 /* SDL_timer.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383A0006D79BC7F000001 /* SDL_timer.c */; };
+ BECDF6930761BA81005FE872 /* SDL_blit.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383D8006D7A567F000001 /* SDL_blit.c */; };
+ BECDF6940761BA81005FE872 /* SDL_blit_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DA006D7A567F000001 /* SDL_blit_0.c */; };
+ BECDF6950761BA81005FE872 /* SDL_blit_1.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DB006D7A567F000001 /* SDL_blit_1.c */; };
+ BECDF6960761BA81005FE872 /* SDL_blit_A.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DC006D7A567F000001 /* SDL_blit_A.c */; };
+ BECDF6970761BA81005FE872 /* SDL_blit_N.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DE006D7A567F000001 /* SDL_blit_N.c */; };
+ BECDF6980761BA81005FE872 /* SDL_bmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383DF006D7A567F000001 /* SDL_bmp.c */; };
+ BECDF6990761BA81005FE872 /* SDL_cursor.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383E0006D7A567F000001 /* SDL_cursor.c */; };
+ BECDF69A0761BA81005FE872 /* SDL_gamma.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383E2006D7A567F000001 /* SDL_gamma.c */; };
+ BECDF69B0761BA81005FE872 /* SDL_pixels.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383E6006D7A567F000001 /* SDL_pixels.c */; };
+ BECDF69C0761BA81005FE872 /* SDL_RLEaccel.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383E8006D7A567F000001 /* SDL_RLEaccel.c */; };
+ BECDF69D0761BA81005FE872 /* SDL_stretch.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383EA006D7A567F000001 /* SDL_stretch.c */; };
+ BECDF69E0761BA81005FE872 /* SDL_surface.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383EC006D7A567F000001 /* SDL_surface.c */; };
+ BECDF69F0761BA81005FE872 /* SDL_video.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383EE006D7A567F000001 /* SDL_video.c */; };
+ BECDF6A00761BA81005FE872 /* SDL_yuv.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383EF006D7A567F000001 /* SDL_yuv.c */; };
+ BECDF6A10761BA81005FE872 /* SDL_yuv_sw.c in Sources */ = {isa = PBXBuildFile; fileRef = 015383F1006D7A567F000001 /* SDL_yuv_sw.c */; };
+ BECDF6A20761BA81005FE872 /* SDL_error.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538438006D7D947F000001 /* SDL_error.c */; };
+ BECDF6A30761BA81005FE872 /* SDL_fatal.c in Sources */ = {isa = PBXBuildFile; fileRef = 01538439006D7D947F000001 /* SDL_fatal.c */; };
+ BECDF6A50761BA81005FE872 /* SDL.c in Sources */ = {isa = PBXBuildFile; fileRef = 0153843C006D7D947F000001 /* SDL.c */; };
+ BECDF6A60761BA81005FE872 /* SDL_sysjoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = F51789D101769A2401D3D55B /* SDL_sysjoystick.c */; };
+ BECDF6A80761BA81005FE872 /* SDL_syscdrom.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4894006D86FF7F000001 /* SDL_syscdrom.c */; };
+ BECDF6A90761BA81005FE872 /* SDL_QuartzEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4D705A88AD0006B9F1C /* SDL_QuartzEvents.m */; };
+ BECDF6AA0761BA81005FE872 /* SDL_QuartzGL.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4D805A88AD0006B9F1C /* SDL_QuartzGL.m */; };
+ BECDF6AB0761BA81005FE872 /* SDL_QuartzVideo.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4DB05A88AD0006B9F1C /* SDL_QuartzVideo.m */; };
+ BECDF6AC0761BA81005FE872 /* SDL_QuartzWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4DD05A88AD0006B9F1C /* SDL_QuartzWindow.m */; };
+ BECDF6AD0761BA81005FE872 /* SDL_QuartzWM.m in Sources */ = {isa = PBXBuildFile; fileRef = B24DA4DE05A88AD0006B9F1C /* SDL_QuartzWM.m */; };
+ BECDF6AF0761BA81005FE872 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = B24DA50405A88D52006B9F1C /* SDL_cpuinfo.c */; };
+ BECDF6B00761BA81005FE872 /* SDL_coreaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = BECDF5D50761B759005FE872 /* SDL_coreaudio.c */; };
+ BECDF6B70761BA81005FE872 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EECDF2E0086C3A07F000001 /* SDLMain.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 00830FFF1072D94A00A531F1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 0032354F1070931700C76517;
+ remoteInfo = "Generate Doxygen DocSet";
+ };
+ BECDF6C50761BA81005FE872 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BECDF5FE0761BA81005FE872;
+ remoteInfo = "Framework (Upgraded)";
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 0014B7E809C0D8D2003A99D5 /* SDL_dgaevents_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_dgaevents_c.h; sourceTree = "<group>"; };
+ 0014B7E909C0D8D2003A99D5 /* SDL_dgaevents.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_dgaevents.c; sourceTree = "<group>"; };
+ 0014B7EA09C0D8D2003A99D5 /* SDL_dgamouse_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_dgamouse_c.h; sourceTree = "<group>"; };
+ 0014B7EB09C0D8D2003A99D5 /* SDL_dgamouse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_dgamouse.c; sourceTree = "<group>"; };
+ 0014B7EC09C0D8D2003A99D5 /* SDL_dgavideo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_dgavideo.c; sourceTree = "<group>"; };
+ 0014B7ED09C0D8D2003A99D5 /* SDL_dgavideo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_dgavideo.h; sourceTree = "<group>"; };
+ 0014B83709C0D977003A99D5 /* SDL_x11dga_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11dga_c.h; sourceTree = "<group>"; };
+ 0014B83809C0D977003A99D5 /* SDL_x11dga.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11dga.c; sourceTree = "<group>"; };
+ 0014B83909C0D977003A99D5 /* SDL_x11dyn.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11dyn.c; sourceTree = "<group>"; };
+ 0014B83A09C0D977003A99D5 /* SDL_x11dyn.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11dyn.h; sourceTree = "<group>"; };
+ 0014B83B09C0D977003A99D5 /* SDL_x11events_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11events_c.h; sourceTree = "<group>"; };
+ 0014B83C09C0D977003A99D5 /* SDL_x11events.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11events.c; sourceTree = "<group>"; };
+ 0014B83D09C0D977003A99D5 /* SDL_x11gamma_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11gamma_c.h; sourceTree = "<group>"; };
+ 0014B83E09C0D977003A99D5 /* SDL_x11gamma.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11gamma.c; sourceTree = "<group>"; };
+ 0014B83F09C0D977003A99D5 /* SDL_x11gl_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11gl_c.h; sourceTree = "<group>"; };
+ 0014B84009C0D977003A99D5 /* SDL_x11gl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11gl.c; sourceTree = "<group>"; };
+ 0014B84109C0D977003A99D5 /* SDL_x11image_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11image_c.h; sourceTree = "<group>"; };
+ 0014B84209C0D977003A99D5 /* SDL_x11image.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11image.c; sourceTree = "<group>"; };
+ 0014B84309C0D977003A99D5 /* SDL_x11modes_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11modes_c.h; sourceTree = "<group>"; };
+ 0014B84409C0D977003A99D5 /* SDL_x11modes.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11modes.c; sourceTree = "<group>"; };
+ 0014B84509C0D977003A99D5 /* SDL_x11mouse_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11mouse_c.h; sourceTree = "<group>"; };
+ 0014B84609C0D977003A99D5 /* SDL_x11mouse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11mouse.c; sourceTree = "<group>"; };
+ 0014B84709C0D977003A99D5 /* SDL_x11sym.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11sym.h; sourceTree = "<group>"; };
+ 0014B84809C0D977003A99D5 /* SDL_x11video.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11video.c; sourceTree = "<group>"; };
+ 0014B84909C0D977003A99D5 /* SDL_x11video.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11video.h; sourceTree = "<group>"; };
+ 0014B84A09C0D977003A99D5 /* SDL_x11wm_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11wm_c.h; sourceTree = "<group>"; };
+ 0014B84B09C0D977003A99D5 /* SDL_x11wm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11wm.c; sourceTree = "<group>"; };
+ 0014B84C09C0D977003A99D5 /* SDL_x11yuv_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_x11yuv_c.h; sourceTree = "<group>"; };
+ 0014B84D09C0D977003A99D5 /* SDL_x11yuv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_x11yuv.c; sourceTree = "<group>"; };
+ 0014B89009C0DA94003A99D5 /* XF86DGA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = XF86DGA.c; sourceTree = "<group>"; };
+ 0014B89109C0DA94003A99D5 /* XF86DGA2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = XF86DGA2.c; sourceTree = "<group>"; };
+ 0014B89609C0DAA1003A99D5 /* XF86VMode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = XF86VMode.c; sourceTree = "<group>"; };
+ 0014B89909C0DAAE003A99D5 /* Xv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = Xv.c; sourceTree = "<group>"; };
+ 0014B89A09C0DAAE003A99D5 /* Xvlibint.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Xvlibint.h; sourceTree = "<group>"; };
+ 0014B89F09C0DAB9003A99D5 /* Xinerama.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = Xinerama.c; sourceTree = "<group>"; };
+ 0014B8A209C0DAC4003A99D5 /* xme.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xme.c; sourceTree = "<group>"; };
+ 00162D3209BD1FA90037C8D0 /* SDL_config_dreamcast.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_config_dreamcast.h; path = ../../include/SDL_config_dreamcast.h; sourceTree = SOURCE_ROOT; };
+ 00162D3309BD1FA90037C8D0 /* SDL_config_macos.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_config_macos.h; path = ../../include/SDL_config_macos.h; sourceTree = SOURCE_ROOT; };
+ 00162D3409BD1FA90037C8D0 /* SDL_config_macosx.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_config_macosx.h; path = ../../include/SDL_config_macosx.h; sourceTree = SOURCE_ROOT; };
+ 00162D3509BD1FA90037C8D0 /* SDL_config_os2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_config_os2.h; path = ../../include/SDL_config_os2.h; sourceTree = SOURCE_ROOT; };
+ 00162D3609BD1FA90037C8D0 /* SDL_config_win32.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_config_win32.h; path = ../../include/SDL_config_win32.h; sourceTree = SOURCE_ROOT; };
+ 00162D3709BD1FA90037C8D0 /* SDL_config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_config.h; path = ../../include/SDL_config.h; sourceTree = SOURCE_ROOT; };
+ 00162D3809BD1FA90037C8D0 /* SDL_platform.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_platform.h; path = ../../include/SDL_platform.h; sourceTree = SOURCE_ROOT; };
+ 00162D3909BD1FA90037C8D0 /* SDL_stdinc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_stdinc.h; path = ../../include/SDL_stdinc.h; sourceTree = SOURCE_ROOT; };
+ 00162D4D09BD20DA0037C8D0 /* SDL_syscond.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_syscond.c; sourceTree = "<group>"; };
+ 00162D4E09BD20DA0037C8D0 /* SDL_sysmutex.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_sysmutex.c; sourceTree = "<group>"; };
+ 00162D4F09BD20DA0037C8D0 /* SDL_sysmutex_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_sysmutex_c.h; sourceTree = "<group>"; };
+ 00162D5009BD20DA0037C8D0 /* SDL_syssem.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_syssem.c; sourceTree = "<group>"; };
+ 00162D5109BD20DA0037C8D0 /* SDL_systhread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_systhread.c; sourceTree = "<group>"; };
+ 00162D5209BD20DA0037C8D0 /* SDL_systhread_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_systhread_c.h; sourceTree = "<group>"; };
+ 00162D6009BD21010037C8D0 /* SDL_systimer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_systimer.c; sourceTree = "<group>"; };
+ 00162D6509BD214F0037C8D0 /* SDL_getenv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_getenv.c; sourceTree = "<group>"; };
+ 00162D6609BD214F0037C8D0 /* SDL_malloc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_malloc.c; sourceTree = "<group>"; };
+ 00162D6709BD214F0037C8D0 /* SDL_qsort.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_qsort.c; sourceTree = "<group>"; };
+ 00162D6809BD214F0037C8D0 /* SDL_stdlib.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_stdlib.c; sourceTree = "<group>"; };
+ 00162D6909BD214F0037C8D0 /* SDL_string.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_string.c; sourceTree = "<group>"; };
+ 00162F3409BE27FB0037C8D0 /* SDL_nullevents.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_nullevents.c; sourceTree = "<group>"; };
+ 00162F3509BE27FB0037C8D0 /* SDL_nullevents_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_nullevents_c.h; sourceTree = "<group>"; };
+ 00162F3609BE27FB0037C8D0 /* SDL_nullmouse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_nullmouse.c; sourceTree = "<group>"; };
+ 00162F3709BE27FB0037C8D0 /* SDL_nullmouse_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_nullmouse_c.h; sourceTree = "<group>"; };
+ 00162F3809BE27FB0037C8D0 /* SDL_nullvideo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_nullvideo.c; sourceTree = "<group>"; };
+ 00162F3909BE27FB0037C8D0 /* SDL_nullvideo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_nullvideo.h; sourceTree = "<group>"; };
+ 002F328509CA049100EBEB88 /* SDL_iconv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_iconv.c; sourceTree = "<group>"; };
+ 002F32D409CA0BE700EBEB88 /* SDL_diskaudio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_diskaudio.c; sourceTree = "<group>"; };
+ 002F32D509CA0BE700EBEB88 /* SDL_diskaudio.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_diskaudio.h; sourceTree = "<group>"; };
+ 002F32E209CA0BF600EBEB88 /* SDL_dummyaudio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_dummyaudio.c; sourceTree = "<group>"; };
+ 002F32E309CA0BF600EBEB88 /* SDL_dummyaudio.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_dummyaudio.h; sourceTree = "<group>"; };
+ 004C2C860975E13300E9D430 /* AudioFilePlayer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = AudioFilePlayer.c; sourceTree = "<group>"; };
+ 004C2C870975E13300E9D430 /* AudioFileReaderThread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = AudioFileReaderThread.c; sourceTree = "<group>"; };
+ 004C2C880975E13300E9D430 /* CDPlayer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = CDPlayer.c; sourceTree = "<group>"; };
+ 004C2C890975E13300E9D430 /* SDLOSXCAGuard.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDLOSXCAGuard.c; sourceTree = "<group>"; };
+ 004C2C8A0975E13300E9D430 /* SDLOSXCAGuard.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLOSXCAGuard.h; sourceTree = "<group>"; };
+ 0073179B0858DECD00B2BC32 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
+ 0073179C0858DECD00B2BC32 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
+ 0073179D0858DECD00B2BC32 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 0073179E0858DECD00B2BC32 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
+ 0073179F0858DECD00B2BC32 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
+ 007317A00858DECD00B2BC32 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
+ 007317A10858DECD00B2BC32 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; };
+ 007317C10858E15000B2BC32 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
+ 00794D3F09D0C461003FC8A1 /* License.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = License.rtf; sourceTree = "<group>"; };
+ 00AE6E1E08B958CC00255E2F /* ReadMeDevLite.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMeDevLite.txt; sourceTree = "<group>"; };
+ 00B7E61F097F2D9E00826121 /* SDL_mixer_MMX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_mixer_MMX.c; sourceTree = "<group>"; };
+ 00B7E620097F2D9E00826121 /* SDL_mixer_MMX.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_mixer_MMX.h; sourceTree = "<group>"; };
+ 00B7E625097F2DD100826121 /* SDL_yuv_mmx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_yuv_mmx.c; sourceTree = "<group>"; };
+ 00D0D02210675823004B05EF /* SDL_QuartzWM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_QuartzWM.h; sourceTree = "<group>"; };
+ 00D0D08310675DD9004B05EF /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
+ 00F5D79E0990CA0D0051C449 /* UniversalBinaryNotes.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = UniversalBinaryNotes.rtf; sourceTree = "<group>"; };
+ 01538330006D78D67F000001 /* SDL_audio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_audio.c; sourceTree = "<group>"; };
+ 01538331006D78D67F000001 /* SDL_audiocvt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_audiocvt.c; sourceTree = "<group>"; };
+ 01538332006D78D67F000001 /* SDL_audiodev.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_audiodev.c; sourceTree = "<group>"; };
+ 01538334006D78D67F000001 /* SDL_mixer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_mixer.c; sourceTree = "<group>"; };
+ 01538335006D78D67F000001 /* SDL_wave.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_wave.c; sourceTree = "<group>"; };
+ 01538368006D79147F000001 /* SDL_active.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_active.c; sourceTree = "<group>"; };
+ 01538369006D79147F000001 /* SDL_events.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_events.c; sourceTree = "<group>"; };
+ 0153836A006D79147F000001 /* SDL_expose.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_expose.c; sourceTree = "<group>"; };
+ 0153836B006D79147F000001 /* SDL_keyboard.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_keyboard.c; sourceTree = "<group>"; };
+ 0153836C006D79147F000001 /* SDL_mouse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_mouse.c; sourceTree = "<group>"; };
+ 0153836D006D79147F000001 /* SDL_quit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_quit.c; sourceTree = "<group>"; };
+ 0153836E006D79147F000001 /* SDL_resize.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_resize.c; sourceTree = "<group>"; };
+ 01538377006D79307F000001 /* SDL_rwops.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_rwops.c; sourceTree = "<group>"; };
+ 015383A0006D79BC7F000001 /* SDL_timer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_timer.c; sourceTree = "<group>"; };
+ 015383C5006D7A567F000001 /* SDL_macevents.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_macevents.c; sourceTree = "<group>"; };
+ 015383C7006D7A567F000001 /* SDL_macgl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_macgl.c; sourceTree = "<group>"; };
+ 015383CA006D7A567F000001 /* SDL_macmouse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_macmouse.c; sourceTree = "<group>"; };
+ 015383CC006D7A567F000001 /* SDL_macwm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_macwm.c; sourceTree = "<group>"; };
+ 015383D1006D7A567F000001 /* SDL_dspvideo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_dspvideo.c; sourceTree = "<group>"; };
+ 015383D2006D7A567F000001 /* SDL_dspvideo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_dspvideo.h; sourceTree = "<group>"; };
+ 015383D6006D7A567F000001 /* SDL_romvideo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_romvideo.c; sourceTree = "<group>"; };
+ 015383D8006D7A567F000001 /* SDL_blit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_blit.c; sourceTree = "<group>"; };
+ 015383DA006D7A567F000001 /* SDL_blit_0.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_blit_0.c; sourceTree = "<group>"; };
+ 015383DB006D7A567F000001 /* SDL_blit_1.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_blit_1.c; sourceTree = "<group>"; };
+ 015383DC006D7A567F000001 /* SDL_blit_A.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_blit_A.c; sourceTree = "<group>"; };
+ 015383DE006D7A567F000001 /* SDL_blit_N.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_blit_N.c; sourceTree = "<group>"; };
+ 015383DF006D7A567F000001 /* SDL_bmp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_bmp.c; sourceTree = "<group>"; };
+ 015383E0006D7A567F000001 /* SDL_cursor.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_cursor.c; sourceTree = "<group>"; };
+ 015383E2006D7A567F000001 /* SDL_gamma.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_gamma.c; sourceTree = "<group>"; };
+ 015383E6006D7A567F000001 /* SDL_pixels.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_pixels.c; sourceTree = "<group>"; };
+ 015383E8006D7A567F000001 /* SDL_RLEaccel.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_RLEaccel.c; sourceTree = "<group>"; };
+ 015383EA006D7A567F000001 /* SDL_stretch.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_stretch.c; sourceTree = "<group>"; };
+ 015383EC006D7A567F000001 /* SDL_surface.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_surface.c; sourceTree = "<group>"; };
+ 015383EE006D7A567F000001 /* SDL_video.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_video.c; sourceTree = "<group>"; };
+ 015383EF006D7A567F000001 /* SDL_yuv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_yuv.c; sourceTree = "<group>"; };
+ 015383F1006D7A567F000001 /* SDL_yuv_sw.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_yuv_sw.c; sourceTree = "<group>"; };
+ 01538438006D7D947F000001 /* SDL_error.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = SDL_error.c; path = ../../src/SDL_error.c; sourceTree = SOURCE_ROOT; };
+ 01538439006D7D947F000001 /* SDL_fatal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = SDL_fatal.c; path = ../../src/SDL_fatal.c; sourceTree = SOURCE_ROOT; };
+ 0153843C006D7D947F000001 /* SDL.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = SDL.c; path = ../../src/SDL.c; sourceTree = SOURCE_ROOT; };
+ 01538445006D7EC67F000001 /* SDL_thread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = SDL_thread.c; path = ../../src/thread/SDL_thread.c; sourceTree = SOURCE_ROOT; };
+ 046B91E90A11B53500FB151C /* SDL_sysloadso.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_sysloadso.c; sourceTree = "<group>"; };
+ 046B92100A11B8AD00FB151C /* SDL_dlcompat.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_dlcompat.c; sourceTree = "<group>"; };
+ 083E4894006D86FF7F000001 /* SDL_syscdrom.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_syscdrom.c; sourceTree = "<group>"; };
+ 083E4895006D86FF7F000001 /* SDL_cdrom.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_cdrom.c; sourceTree = "<group>"; };
+ 083E489D006D88D97F000001 /* SDL_joystick.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_joystick.c; sourceTree = "<group>"; };
+ 0C5AF5E501191D2B7F000001 /* begin_code.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = begin_code.h; path = ../../include/begin_code.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5E601191D2B7F000001 /* close_code.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = close_code.h; path = ../../include/close_code.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5E701191D2B7F000001 /* SDL_active.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_active.h; path = ../../include/SDL_active.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5E801191D2B7F000001 /* SDL_audio.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_audio.h; path = ../../include/SDL_audio.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5E901191D2B7F000001 /* SDL_byteorder.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_byteorder.h; path = ../../include/SDL_byteorder.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5EA01191D2B7F000001 /* SDL_cdrom.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_cdrom.h; path = ../../include/SDL_cdrom.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5EB01191D2B7F000001 /* SDL_copying.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_copying.h; path = ../../include/SDL_copying.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5EC01191D2B7F000001 /* SDL_endian.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_endian.h; path = ../../include/SDL_endian.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5ED01191D2B7F000001 /* SDL_error.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_error.h; path = ../../include/SDL_error.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5EE01191D2B7F000001 /* SDL_events.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_events.h; path = ../../include/SDL_events.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5EF01191D2B7F000001 /* SDL_getenv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_getenv.h; path = ../../include/SDL_getenv.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F001191D2B7F000001 /* SDL_joystick.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_joystick.h; path = ../../include/SDL_joystick.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F101191D2B7F000001 /* SDL_keyboard.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_keyboard.h; path = ../../include/SDL_keyboard.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F201191D2B7F000001 /* SDL_keysym.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_keysym.h; path = ../../include/SDL_keysym.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F301191D2B7F000001 /* SDL_main.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_main.h; path = ../../include/SDL_main.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F401191D2B7F000001 /* SDL_mouse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_mouse.h; path = ../../include/SDL_mouse.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F501191D2B7F000001 /* SDL_mutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_mutex.h; path = ../../include/SDL_mutex.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F601191D2B7F000001 /* SDL_opengl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_opengl.h; path = ../../include/SDL_opengl.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F701191D2B7F000001 /* SDL_quit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_quit.h; path = ../../include/SDL_quit.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F801191D2B7F000001 /* SDL_rwops.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_rwops.h; path = ../../include/SDL_rwops.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5F901191D2B7F000001 /* SDL_syswm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_syswm.h; path = ../../include/SDL_syswm.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5FA01191D2B7F000001 /* SDL_thread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_thread.h; path = ../../include/SDL_thread.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5FB01191D2B7F000001 /* SDL_timer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_timer.h; path = ../../include/SDL_timer.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5FC01191D2B7F000001 /* SDL_types.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_types.h; path = ../../include/SDL_types.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5FD01191D2B7F000001 /* SDL_version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_version.h; path = ../../include/SDL_version.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5FE01191D2B7F000001 /* SDL_video.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_video.h; path = ../../include/SDL_video.h; sourceTree = SOURCE_ROOT; };
+ 0C5AF5FF01191D2B7F000001 /* SDL.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL.h; path = ../../include/SDL.h; sourceTree = SOURCE_ROOT; };
+ 2EECDF2D0086C3A07F000001 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDLMain.h; path = ../../src/main/macosx/SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 2EECDF2E0086C3A07F000001 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SDLMain.m; path = ../../src/main/macosx/SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 2EECDF2F0086C3A07F000001 /* SDLMain.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = SDLMain.nib; path = ../../src/main/macosx/SDLMain.nib; sourceTree = SOURCE_ROOT; };
+ B24DA4D605A88AD0006B9F1C /* CGS.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CGS.h; sourceTree = "<group>"; };
+ B24DA4D705A88AD0006B9F1C /* SDL_QuartzEvents.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDL_QuartzEvents.m; sourceTree = "<group>"; };
+ B24DA4D805A88AD0006B9F1C /* SDL_QuartzGL.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDL_QuartzGL.m; sourceTree = "<group>"; };
+ B24DA4D905A88AD0006B9F1C /* SDL_QuartzKeys.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_QuartzKeys.h; sourceTree = "<group>"; };
+ B24DA4DA05A88AD0006B9F1C /* SDL_QuartzVideo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_QuartzVideo.h; sourceTree = "<group>"; };
+ B24DA4DB05A88AD0006B9F1C /* SDL_QuartzVideo.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDL_QuartzVideo.m; sourceTree = "<group>"; };
+ B24DA4DC05A88AD0006B9F1C /* SDL_QuartzWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_QuartzWindow.h; sourceTree = "<group>"; };
+ B24DA4DD05A88AD0006B9F1C /* SDL_QuartzWindow.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDL_QuartzWindow.m; sourceTree = "<group>"; };
+ B24DA4DE05A88AD0006B9F1C /* SDL_QuartzWM.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDL_QuartzWM.m; sourceTree = "<group>"; };
+ B24DA50405A88D52006B9F1C /* SDL_cpuinfo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_cpuinfo.c; sourceTree = "<group>"; };
+ B29A290D04E5B28700A80002 /* SDL_loadso.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_loadso.h; path = ../../include/SDL_loadso.h; sourceTree = "<group>"; };
+ B2A23A450415799100A80002 /* AudioFilePlayer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AudioFilePlayer.h; sourceTree = "<group>"; };
+ B2A23A7A04157C5700A80002 /* SDL_syscdrom_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_syscdrom_c.h; sourceTree = "<group>"; };
+ B2A23A7B04157C5700A80002 /* SDL_syscdrom.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_syscdrom.c; sourceTree = "<group>"; };
+ B2A23A8104157D5D00A80002 /* CDPlayer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CDPlayer.h; sourceTree = "<group>"; };
+ B2CF8DC405C444E400E5DC7F /* SDL_cpuinfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_cpuinfo.h; path = ../../include/SDL_cpuinfo.h; sourceTree = SOURCE_ROOT; };
+ B2CF8DC705C4450500E5DC7F /* SDL_name.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_name.h; path = ../../include/SDL_name.h; sourceTree = SOURCE_ROOT; };
+ BECDF5D50761B759005FE872 /* SDL_coreaudio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_coreaudio.c; sourceTree = "<group>"; };
+ BECDF5D60761B759005FE872 /* SDL_coreaudio.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_coreaudio.h; sourceTree = "<group>"; };
+ BECDF66B0761BA81005FE872 /* Info-Framework.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-Framework.plist"; sourceTree = "<group>"; };
+ BECDF66C0761BA81005FE872 /* SDL.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ BECDF6B30761BA81005FE872 /* libSDL.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ BECDF6BA0761BA81005FE872 /* libSDLmain.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDLmain.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ BECDF6BE0761BA81005FE872 /* Standard DMG */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Standard DMG"; sourceTree = BUILT_PRODUCTS_DIR; };
+ BECDF6C30761BA81005FE872 /* Developer Extras Package */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Developer Extras Package"; sourceTree = BUILT_PRODUCTS_DIR; };
+ F51789D101769A2401D3D55B /* SDL_sysjoystick.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_sysjoystick.c; sourceTree = "<group>"; };
+ F59C70FF00D5CB5801000001 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe.txt; sourceTree = "<group>"; };
+ F59C710000D5CB5801000001 /* Welcome.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Welcome.txt; sourceTree = "<group>"; };
+ F59C710300D5CB5801000001 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe.txt; sourceTree = "<group>"; };
+ F59C710500D5CB5801000001 /* SDL-devel.info */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "SDL-devel.info"; sourceTree = "<group>"; };
+ F59C710600D5CB5801000001 /* SDL.info */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SDL.info; sourceTree = "<group>"; };
+ F59C710C00D5D15801000001 /* install.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = install.sh; sourceTree = "<group>"; };
+ F5A2EF3900C6A39A01000001 /* BUGS */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = BUGS; path = ../../BUGS; sourceTree = SOURCE_ROOT; };
+ F5A2EF3A00C6A3C201000001 /* README.MacOSX */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = README.MacOSX; path = ../../README.MacOSX; sourceTree = SOURCE_ROOT; };
+ F5F81AD400D706B101000001 /* Readme SDL Developer.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = "Readme SDL Developer.txt"; path = "pkg-support/Readme SDL Developer.txt"; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ BECDF6680761BA81005FE872 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 007317A20858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */,
+ 007317A30858DECD00B2BC32 /* AudioUnit.framework in Frameworks */,
+ 007317A40858DECD00B2BC32 /* Cocoa.framework in Frameworks */,
+ 007317A50858DECD00B2BC32 /* CoreAudio.framework in Frameworks */,
+ 007317A60858DECD00B2BC32 /* IOKit.framework in Frameworks */,
+ 007317A70858DECD00B2BC32 /* OpenGL.framework in Frameworks */,
+ 00D0D08410675DD9004B05EF /* CoreFoundation.framework in Frameworks */,
+ 00D0D0D810675E46004B05EF /* Carbon.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BECDF6B10761BA81005FE872 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 007317A90858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */,
+ 007317AA0858DECD00B2BC32 /* AudioUnit.framework in Frameworks */,
+ 007317AB0858DECD00B2BC32 /* Cocoa.framework in Frameworks */,
+ 007317AC0858DECD00B2BC32 /* CoreAudio.framework in Frameworks */,
+ 007317AD0858DECD00B2BC32 /* IOKit.framework in Frameworks */,
+ 007317AE0858DECD00B2BC32 /* OpenGL.framework in Frameworks */,
+ 007317AF0858DECD00B2BC32 /* QuickTime.framework in Frameworks */,
+ 007317C30858E15000B2BC32 /* Carbon.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BECDF6B80761BA81005FE872 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 007317B00858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */,
+ 007317B10858DECD00B2BC32 /* AudioUnit.framework in Frameworks */,
+ 007317B20858DECD00B2BC32 /* Cocoa.framework in Frameworks */,
+ 007317B30858DECD00B2BC32 /* CoreAudio.framework in Frameworks */,
+ 007317B40858DECD00B2BC32 /* IOKit.framework in Frameworks */,
+ 007317B50858DECD00B2BC32 /* OpenGL.framework in Frameworks */,
+ 007317B60858DECD00B2BC32 /* QuickTime.framework in Frameworks */,
+ 007317C40858E15000B2BC32 /* Carbon.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 0014B7D809C0D808003A99D5 /* dga */ = {
+ isa = PBXGroup;
+ children = (
+ 0014B7E809C0D8D2003A99D5 /* SDL_dgaevents_c.h */,
+ 0014B7E909C0D8D2003A99D5 /* SDL_dgaevents.c */,
+ 0014B7EA09C0D8D2003A99D5 /* SDL_dgamouse_c.h */,
+ 0014B7EB09C0D8D2003A99D5 /* SDL_dgamouse.c */,
+ 0014B7EC09C0D8D2003A99D5 /* SDL_dgavideo.c */,
+ 0014B7ED09C0D8D2003A99D5 /* SDL_dgavideo.h */,
+ );
+ path = dga;
+ sourceTree = "<group>";
+ };
+ 0014B83109C0D91E003A99D5 /* x11 */ = {
+ isa = PBXGroup;
+ children = (
+ 0014B83709C0D977003A99D5 /* SDL_x11dga_c.h */,
+ 0014B83809C0D977003A99D5 /* SDL_x11dga.c */,
+ 0014B83909C0D977003A99D5 /* SDL_x11dyn.c */,
+ 0014B83A09C0D977003A99D5 /* SDL_x11dyn.h */,
+ 0014B83B09C0D977003A99D5 /* SDL_x11events_c.h */,
+ 0014B83C09C0D977003A99D5 /* SDL_x11events.c */,
+ 0014B83D09C0D977003A99D5 /* SDL_x11gamma_c.h */,
+ 0014B83E09C0D977003A99D5 /* SDL_x11gamma.c */,
+ 0014B83F09C0D977003A99D5 /* SDL_x11gl_c.h */,
+ 0014B84009C0D977003A99D5 /* SDL_x11gl.c */,
+ 0014B84109C0D977003A99D5 /* SDL_x11image_c.h */,
+ 0014B84209C0D977003A99D5 /* SDL_x11image.c */,
+ 0014B84309C0D977003A99D5 /* SDL_x11modes_c.h */,
+ 0014B84409C0D977003A99D5 /* SDL_x11modes.c */,
+ 0014B84509C0D977003A99D5 /* SDL_x11mouse_c.h */,
+ 0014B84609C0D977003A99D5 /* SDL_x11mouse.c */,
+ 0014B84709C0D977003A99D5 /* SDL_x11sym.h */,
+ 0014B84809C0D977003A99D5 /* SDL_x11video.c */,
+ 0014B84909C0D977003A99D5 /* SDL_x11video.h */,
+ 0014B84A09C0D977003A99D5 /* SDL_x11wm_c.h */,
+ 0014B84B09C0D977003A99D5 /* SDL_x11wm.c */,
+ 0014B84C09C0D977003A99D5 /* SDL_x11yuv_c.h */,
+ 0014B84D09C0D977003A99D5 /* SDL_x11yuv.c */,
+ );
+ path = x11;
+ sourceTree = "<group>";
+ };
+ 0014B87D09C0D98A003A99D5 /* Xext */ = {
+ isa = PBXGroup;
+ children = (
+ 0014B87E09C0D9BD003A99D5 /* Xxf86dga */,
+ 0014B87F09C0D9D1003A99D5 /* Xxf86vm */,
+ 0014B88309C0DA1A003A99D5 /* Xv */,
+ 0014B88209C0DA0F003A99D5 /* Xinerama */,
+ 0014B88109C0DA04003A99D5 /* XME */,
+ );
+ path = Xext;
+ sourceTree = "<group>";
+ };
+ 0014B87E09C0D9BD003A99D5 /* Xxf86dga */ = {
+ isa = PBXGroup;
+ children = (
+ 0014B89009C0DA94003A99D5 /* XF86DGA.c */,
+ 0014B89109C0DA94003A99D5 /* XF86DGA2.c */,
+ );
+ path = Xxf86dga;
+ sourceTree = "<group>";
+ };
+ 0014B87F09C0D9D1003A99D5 /* Xxf86vm */ = {
+ isa = PBXGroup;
+ children = (
+ 0014B89609C0DAA1003A99D5 /* XF86VMode.c */,
+ );
+ path = Xxf86vm;
+ sourceTree = "<group>";
+ };
+ 0014B88109C0DA04003A99D5 /* XME */ = {
+ isa = PBXGroup;
+ children = (
+ 0014B8A209C0DAC4003A99D5 /* xme.c */,
+ );
+ path = XME;
+ sourceTree = "<group>";
+ };
+ 0014B88209C0DA0F003A99D5 /* Xinerama */ = {
+ isa = PBXGroup;
+ children = (
+ 0014B89F09C0DAB9003A99D5 /* Xinerama.c */,
+ );
+ path = Xinerama;
+ sourceTree = "<group>";
+ };
+ 0014B88309C0DA1A003A99D5 /* Xv */ = {
+ isa = PBXGroup;
+ children = (
+ 0014B89909C0DAAE003A99D5 /* Xv.c */,
+ 0014B89A09C0DAAE003A99D5 /* Xvlibint.h */,
+ );
+ path = Xv;
+ sourceTree = "<group>";
+ };
+ 00162D4C09BD20DA0037C8D0 /* pthread */ = {
+ isa = PBXGroup;
+ children = (
+ 00162D4D09BD20DA0037C8D0 /* SDL_syscond.c */,
+ 00162D4E09BD20DA0037C8D0 /* SDL_sysmutex.c */,
+ 00162D4F09BD20DA0037C8D0 /* SDL_sysmutex_c.h */,
+ 00162D5009BD20DA0037C8D0 /* SDL_syssem.c */,
+ 00162D5109BD20DA0037C8D0 /* SDL_systhread.c */,
+ 00162D5209BD20DA0037C8D0 /* SDL_systhread_c.h */,
+ );
+ path = pthread;
+ sourceTree = "<group>";
+ };
+ 00162D5F09BD21010037C8D0 /* unix */ = {
+ isa = PBXGroup;
+ children = (
+ 00162D6009BD21010037C8D0 /* SDL_systimer.c */,
+ );
+ path = unix;
+ sourceTree = "<group>";
+ };
+ 00162D6309BD214E0037C8D0 /* stdlib */ = {
+ isa = PBXGroup;
+ children = (
+ 00162D6509BD214F0037C8D0 /* SDL_getenv.c */,
+ 002F328509CA049100EBEB88 /* SDL_iconv.c */,
+ 00162D6609BD214F0037C8D0 /* SDL_malloc.c */,
+ 00162D6709BD214F0037C8D0 /* SDL_qsort.c */,
+ 00162D6809BD214F0037C8D0 /* SDL_stdlib.c */,
+ 00162D6909BD214F0037C8D0 /* SDL_string.c */,
+ );
+ name = stdlib;
+ path = ../../src/stdlib;
+ sourceTree = SOURCE_ROOT;
+ };
+ 00162D7509BD217B0037C8D0 /* loadso */ = {
+ isa = PBXGroup;
+ children = (
+ 046B91E80A11B53500FB151C /* dlopen */,
+ 00D55F250A11163D0030ED2A /* macosx */,
+ );
+ name = loadso;
+ path = ../../src/loadso;
+ sourceTree = SOURCE_ROOT;
+ };
+ 00162F3209BE27FB0037C8D0 /* dummy */ = {
+ isa = PBXGroup;
+ children = (
+ 00162F3409BE27FB0037C8D0 /* SDL_nullevents.c */,
+ 00162F3509BE27FB0037C8D0 /* SDL_nullevents_c.h */,
+ 00162F3609BE27FB0037C8D0 /* SDL_nullmouse.c */,
+ 00162F3709BE27FB0037C8D0 /* SDL_nullmouse_c.h */,
+ 00162F3809BE27FB0037C8D0 /* SDL_nullvideo.c */,
+ 00162F3909BE27FB0037C8D0 /* SDL_nullvideo.h */,
+ );
+ path = dummy;
+ sourceTree = "<group>";
+ };
+ 002F32D209CA0BE700EBEB88 /* disk */ = {
+ isa = PBXGroup;
+ children = (
+ 002F32D409CA0BE700EBEB88 /* SDL_diskaudio.c */,
+ 002F32D509CA0BE700EBEB88 /* SDL_diskaudio.h */,
+ );
+ path = disk;
+ sourceTree = "<group>";
+ };
+ 002F32E009CA0BF600EBEB88 /* dummy */ = {
+ isa = PBXGroup;
+ children = (
+ 002F32E209CA0BF600EBEB88 /* SDL_dummyaudio.c */,
+ 002F32E309CA0BF600EBEB88 /* SDL_dummyaudio.h */,
+ );
+ path = dummy;
+ sourceTree = "<group>";
+ };
+ 00D55F250A11163D0030ED2A /* macosx */ = {
+ isa = PBXGroup;
+ children = (
+ 046B92100A11B8AD00FB151C /* SDL_dlcompat.c */,
+ );
+ path = macosx;
+ sourceTree = "<group>";
+ };
+ 0153832C006D78D67F000001 /* audio */ = {
+ isa = PBXGroup;
+ children = (
+ BECDF5D20761B759005FE872 /* macosx */,
+ 002F32D209CA0BE700EBEB88 /* disk */,
+ 002F32E009CA0BF600EBEB88 /* dummy */,
+ 01538330006D78D67F000001 /* SDL_audio.c */,
+ 01538331006D78D67F000001 /* SDL_audiocvt.c */,
+ 01538332006D78D67F000001 /* SDL_audiodev.c */,
+ 01538334006D78D67F000001 /* SDL_mixer.c */,
+ 00B7E61F097F2D9E00826121 /* SDL_mixer_MMX.c */,
+ 00B7E620097F2D9E00826121 /* SDL_mixer_MMX.h */,
+ 01538335006D78D67F000001 /* SDL_wave.c */,
+ );
+ name = audio;
+ path = ../../src/audio;
+ sourceTree = SOURCE_ROOT;
+ };
+ 01538367006D79147F000001 /* events */ = {
+ isa = PBXGroup;
+ children = (
+ 01538368006D79147F000001 /* SDL_active.c */,
+ 01538369006D79147F000001 /* SDL_events.c */,
+ 0153836A006D79147F000001 /* SDL_expose.c */,
+ 0153836B006D79147F000001 /* SDL_keyboard.c */,
+ 0153836C006D79147F000001 /* SDL_mouse.c */,
+ 0153836D006D79147F000001 /* SDL_quit.c */,
+ 0153836E006D79147F000001 /* SDL_resize.c */,
+ );
+ name = events;
+ path = ../../src/events;
+ sourceTree = SOURCE_ROOT;
+ };
+ 01538376006D79307F000001 /* file */ = {
+ isa = PBXGroup;
+ children = (
+ 01538377006D79307F000001 /* SDL_rwops.c */,
+ );
+ name = file;
+ path = ../../src/file;
+ sourceTree = SOURCE_ROOT;
+ };
+ 01538379006D79737F000001 /* thread */ = {
+ isa = PBXGroup;
+ children = (
+ 00162D4C09BD20DA0037C8D0 /* pthread */,
+ 01538445006D7EC67F000001 /* SDL_thread.c */,
+ );
+ name = thread;
+ path = ../../src/thread;
+ sourceTree = SOURCE_ROOT;
+ };
+ 01538391006D79BC7F000001 /* timer */ = {
+ isa = PBXGroup;
+ children = (
+ 00162D5F09BD21010037C8D0 /* unix */,
+ 015383A0006D79BC7F000001 /* SDL_timer.c */,
+ );
+ name = timer;
+ path = ../../src/timer;
+ sourceTree = SOURCE_ROOT;
+ };
+ 015383BE006D7A567F000001 /* video */ = {
+ isa = PBXGroup;
+ children = (
+ 0FCDF5B50083FCE77F000001 /* quartz */,
+ 015383C1006D7A567F000001 /* maccommon */,
+ 015383CE006D7A567F000001 /* macdsp */,
+ 015383D3006D7A567F000001 /* macrom */,
+ 00162F3209BE27FB0037C8D0 /* dummy */,
+ 0014B83109C0D91E003A99D5 /* x11 */,
+ 0014B7D809C0D808003A99D5 /* dga */,
+ 0014B87D09C0D98A003A99D5 /* Xext */,
+ 015383D8006D7A567F000001 /* SDL_blit.c */,
+ 015383DA006D7A567F000001 /* SDL_blit_0.c */,
+ 015383DB006D7A567F000001 /* SDL_blit_1.c */,
+ 015383DC006D7A567F000001 /* SDL_blit_A.c */,
+ 015383DE006D7A567F000001 /* SDL_blit_N.c */,
+ 015383DF006D7A567F000001 /* SDL_bmp.c */,
+ 015383E0006D7A567F000001 /* SDL_cursor.c */,
+ 015383E2006D7A567F000001 /* SDL_gamma.c */,
+ 015383E6006D7A567F000001 /* SDL_pixels.c */,
+ 015383E8006D7A567F000001 /* SDL_RLEaccel.c */,
+ 015383EA006D7A567F000001 /* SDL_stretch.c */,
+ 015383EC006D7A567F000001 /* SDL_surface.c */,
+ 015383EE006D7A567F000001 /* SDL_video.c */,
+ 015383EF006D7A567F000001 /* SDL_yuv.c */,
+ 00B7E625097F2DD100826121 /* SDL_yuv_mmx.c */,
+ 015383F1006D7A567F000001 /* SDL_yuv_sw.c */,
+ );
+ name = video;
+ path = ../../src/video;
+ sourceTree = SOURCE_ROOT;
+ };
+ 015383C1006D7A567F000001 /* maccommon */ = {
+ isa = PBXGroup;
+ children = (
+ 015383C5006D7A567F000001 /* SDL_macevents.c */,
+ 015383C7006D7A567F000001 /* SDL_macgl.c */,
+ 015383CA006D7A567F000001 /* SDL_macmouse.c */,
+ 015383CC006D7A567F000001 /* SDL_macwm.c */,
+ );
+ path = maccommon;
+ sourceTree = "<group>";
+ };
+ 015383CE006D7A567F000001 /* macdsp */ = {
+ isa = PBXGroup;
+ children = (
+ 015383D1006D7A567F000001 /* SDL_dspvideo.c */,
+ 015383D2006D7A567F000001 /* SDL_dspvideo.h */,
+ );
+ path = macdsp;
+ sourceTree = "<group>";
+ };
+ 015383D3006D7A567F000001 /* macrom */ = {
+ isa = PBXGroup;
+ children = (
+ 015383D6006D7A567F000001 /* SDL_romvideo.c */,
+ );
+ path = macrom;
+ sourceTree = "<group>";
+ };
+ 0153844A006D81B07F000001 /* Public Headers */ = {
+ isa = PBXGroup;
+ children = (
+ 00162D3209BD1FA90037C8D0 /* SDL_config_dreamcast.h */,
+ 00162D3309BD1FA90037C8D0 /* SDL_config_macos.h */,
+ 00162D3409BD1FA90037C8D0 /* SDL_config_macosx.h */,
+ 00162D3509BD1FA90037C8D0 /* SDL_config_os2.h */,
+ 00162D3609BD1FA90037C8D0 /* SDL_config_win32.h */,
+ 00162D3709BD1FA90037C8D0 /* SDL_config.h */,
+ 00162D3809BD1FA90037C8D0 /* SDL_platform.h */,
+ 00162D3909BD1FA90037C8D0 /* SDL_stdinc.h */,
+ 0C5AF5E501191D2B7F000001 /* begin_code.h */,
+ 0C5AF5E601191D2B7F000001 /* close_code.h */,
+ 0C5AF5E701191D2B7F000001 /* SDL_active.h */,
+ 0C5AF5E801191D2B7F000001 /* SDL_audio.h */,
+ 0C5AF5E901191D2B7F000001 /* SDL_byteorder.h */,
+ 0C5AF5EA01191D2B7F000001 /* SDL_cdrom.h */,
+ 0C5AF5EB01191D2B7F000001 /* SDL_copying.h */,
+ B2CF8DC405C444E400E5DC7F /* SDL_cpuinfo.h */,
+ 0C5AF5EC01191D2B7F000001 /* SDL_endian.h */,
+ 0C5AF5ED01191D2B7F000001 /* SDL_error.h */,
+ 0C5AF5EE01191D2B7F000001 /* SDL_events.h */,
+ 0C5AF5EF01191D2B7F000001 /* SDL_getenv.h */,
+ 0C5AF5F001191D2B7F000001 /* SDL_joystick.h */,
+ 0C5AF5F101191D2B7F000001 /* SDL_keyboard.h */,
+ 0C5AF5F201191D2B7F000001 /* SDL_keysym.h */,
+ B29A290D04E5B28700A80002 /* SDL_loadso.h */,
+ 0C5AF5F301191D2B7F000001 /* SDL_main.h */,
+ 0C5AF5F401191D2B7F000001 /* SDL_mouse.h */,
+ 0C5AF5F501191D2B7F000001 /* SDL_mutex.h */,
+ B2CF8DC705C4450500E5DC7F /* SDL_name.h */,
+ 0C5AF5F601191D2B7F000001 /* SDL_opengl.h */,
+ 0C5AF5F701191D2B7F000001 /* SDL_quit.h */,
+ 0C5AF5F801191D2B7F000001 /* SDL_rwops.h */,
+ 0C5AF5F901191D2B7F000001 /* SDL_syswm.h */,
+ 0C5AF5FA01191D2B7F000001 /* SDL_thread.h */,
+ 0C5AF5FB01191D2B7F000001 /* SDL_timer.h */,
+ 0C5AF5FC01191D2B7F000001 /* SDL_types.h */,
+ 0C5AF5FD01191D2B7F000001 /* SDL_version.h */,
+ 0C5AF5FE01191D2B7F000001 /* SDL_video.h */,
+ 0C5AF5FF01191D2B7F000001 /* SDL.h */,
+ );
+ name = "Public Headers";
+ sourceTree = "<group>";
+ };
+ 034768DDFF38A45A11DB9C8B /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 089C1665FE841158C02AAC07 /* Resources */,
+ BECDF66C0761BA81005FE872 /* SDL.framework */,
+ BECDF6B30761BA81005FE872 /* libSDL.a */,
+ BECDF6BA0761BA81005FE872 /* libSDLmain.a */,
+ BECDF6BE0761BA81005FE872 /* Standard DMG */,
+ BECDF6C30761BA81005FE872 /* Developer Extras Package */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 046B91E80A11B53500FB151C /* dlopen */ = {
+ isa = PBXGroup;
+ children = (
+ 046B91E90A11B53500FB151C /* SDL_sysloadso.c */,
+ );
+ path = dlopen;
+ sourceTree = "<group>";
+ };
+ 083E4892006D86FF7F000001 /* cdrom */ = {
+ isa = PBXGroup;
+ children = (
+ B2A23A420415799100A80002 /* macosx */,
+ 083E4893006D86FF7F000001 /* dummy */,
+ 083E4895006D86FF7F000001 /* SDL_cdrom.c */,
+ );
+ name = cdrom;
+ path = ../../src/cdrom;
+ sourceTree = SOURCE_ROOT;
+ };
+ 083E4893006D86FF7F000001 /* dummy */ = {
+ isa = PBXGroup;
+ children = (
+ 083E4894006D86FF7F000001 /* SDL_syscdrom.c */,
+ );
+ path = dummy;
+ sourceTree = "<group>";
+ };
+ 083E489A006D88D97F000001 /* joystick */ = {
+ isa = PBXGroup;
+ children = (
+ F51789D001769A2401D3D55B /* darwin */,
+ 083E489D006D88D97F000001 /* SDL_joystick.c */,
+ );
+ name = joystick;
+ path = ../../src/joystick;
+ sourceTree = SOURCE_ROOT;
+ };
+ 0867D691FE84028FC02AAC07 /* SDLFramework */ = {
+ isa = PBXGroup;
+ children = (
+ F5A2EF3900C6A39A01000001 /* BUGS */,
+ F5A2EF3A00C6A3C201000001 /* README.MacOSX */,
+ F59C70FC00D5CB5801000001 /* pkg-support */,
+ F5B2A58400C5D39001000001 /* Main */,
+ 0153844A006D81B07F000001 /* Public Headers */,
+ 08FB77ACFE841707C02AAC07 /* Library Source */,
+ 034768DDFF38A45A11DB9C8B /* Products */,
+ BECDF66B0761BA81005FE872 /* Info-Framework.plist */,
+ BEC562FE0761C0E800A33029 /* Linked Frameworks */,
+ );
+ comments = "To build Universal Binaries, we have experimented with a variety of different options.\nThe complication is that we must retain compatibility with at least 10.2. \nThe Universal Binary defaults only work for > 10.3.9\n\nSo far, we have found:\ngcc 4.0.0 with Xcode 2.1 always links against libgcc_s. gcc 4.0.1 from Xcode 2.2 fixes this problem.\n\nBut gcc 4.0 will not work with < 10.3.9 because we continue to get an undefined symbol to _fprintf$LDBL128.\nSo we must use gcc 3.3 on PPC to accomplish 10.2 support. (But 4.0 is required for i386.)\n\nSetting the deployment target to 10.4 will disable prebinding, so for PPC, we set it less than 10.4 to preserve prebinding for legacy support.\n\nSetting the PPC SDKROOT to /Developers/SDKs/MacOSX10.2.8.sdk will link to 63.0.0 libSystem.B.dylib. Leaving it at current or 10.4u links to 88.1.2. However, as long as we are using gcc 3.3, it doesn't seem to matter as testing has demonstrated both will run. We have decided not to invoke the 10.2.8 SDK because it is not a default installed component with Xcode which will probably cause most people problems. However, rather than deleting the SDKROOT_ppc entry entirely, we have mapped it to 10.4u in case we decide we need to change this setting.\n\nTo use Altivec or SSE, we needed architecture specific flags:\nOTHER_CFLAGS_ppc\nOTHER_CFLAGS_i386\nOTHER_CFLAGS=$(OTHER_CFLAGS_($CURRENT_ARCH))\n\nThe general OTHER_CFLAGS needed to be manually mapped to architecture specific options because Xcode didn't do this automatically for us.\n\n\n";
+ name = SDLFramework;
+ sourceTree = "<group>";
+ };
+ 089C1665FE841158C02AAC07 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 08FB77ACFE841707C02AAC07 /* Library Source */ = {
+ isa = PBXGroup;
+ children = (
+ 0153832C006D78D67F000001 /* audio */,
+ 083E4892006D86FF7F000001 /* cdrom */,
+ B24DA50105A88D52006B9F1C /* cpuinfo */,
+ 01538367006D79147F000001 /* events */,
+ 01538376006D79307F000001 /* file */,
+ 083E489A006D88D97F000001 /* joystick */,
+ 00162D7509BD217B0037C8D0 /* loadso */,
+ 00162D6309BD214E0037C8D0 /* stdlib */,
+ 01538379006D79737F000001 /* thread */,
+ 01538391006D79BC7F000001 /* timer */,
+ 015383BE006D7A567F000001 /* video */,
+ 01538438006D7D947F000001 /* SDL_error.c */,
+ 01538439006D7D947F000001 /* SDL_fatal.c */,
+ 0153843C006D7D947F000001 /* SDL.c */,
+ );
+ name = "Library Source";
+ sourceTree = "<group>";
+ };
+ 0FCDF5B50083FCE77F000001 /* quartz */ = {
+ isa = PBXGroup;
+ children = (
+ 00D0D02210675823004B05EF /* SDL_QuartzWM.h */,
+ B24DA4D605A88AD0006B9F1C /* CGS.h */,
+ B24DA4D705A88AD0006B9F1C /* SDL_QuartzEvents.m */,
+ B24DA4D805A88AD0006B9F1C /* SDL_QuartzGL.m */,
+ B24DA4D905A88AD0006B9F1C /* SDL_QuartzKeys.h */,
+ B24DA4DA05A88AD0006B9F1C /* SDL_QuartzVideo.h */,
+ B24DA4DB05A88AD0006B9F1C /* SDL_QuartzVideo.m */,
+ B24DA4DC05A88AD0006B9F1C /* SDL_QuartzWindow.h */,
+ B24DA4DD05A88AD0006B9F1C /* SDL_QuartzWindow.m */,
+ B24DA4DE05A88AD0006B9F1C /* SDL_QuartzWM.m */,
+ );
+ name = quartz;
+ path = ../../src/video/quartz;
+ sourceTree = SOURCE_ROOT;
+ };
+ B24DA50105A88D52006B9F1C /* cpuinfo */ = {
+ isa = PBXGroup;
+ children = (
+ B24DA50405A88D52006B9F1C /* SDL_cpuinfo.c */,
+ );
+ name = cpuinfo;
+ path = ../../src/cpuinfo;
+ sourceTree = "<group>";
+ };
+ B2A23A420415799100A80002 /* macosx */ = {
+ isa = PBXGroup;
+ children = (
+ 004C2C860975E13300E9D430 /* AudioFilePlayer.c */,
+ B2A23A450415799100A80002 /* AudioFilePlayer.h */,
+ 004C2C870975E13300E9D430 /* AudioFileReaderThread.c */,
+ 004C2C880975E13300E9D430 /* CDPlayer.c */,
+ B2A23A8104157D5D00A80002 /* CDPlayer.h */,
+ 004C2C890975E13300E9D430 /* SDLOSXCAGuard.c */,
+ 004C2C8A0975E13300E9D430 /* SDLOSXCAGuard.h */,
+ B2A23A7B04157C5700A80002 /* SDL_syscdrom.c */,
+ B2A23A7A04157C5700A80002 /* SDL_syscdrom_c.h */,
+ );
+ path = macosx;
+ sourceTree = "<group>";
+ };
+ BEC562FE0761C0E800A33029 /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 00D0D08310675DD9004B05EF /* CoreFoundation.framework */,
+ 007317C10858E15000B2BC32 /* Carbon.framework */,
+ 0073179B0858DECD00B2BC32 /* AudioToolbox.framework */,
+ 0073179C0858DECD00B2BC32 /* AudioUnit.framework */,
+ 0073179D0858DECD00B2BC32 /* Cocoa.framework */,
+ 0073179E0858DECD00B2BC32 /* CoreAudio.framework */,
+ 0073179F0858DECD00B2BC32 /* IOKit.framework */,
+ 007317A00858DECD00B2BC32 /* OpenGL.framework */,
+ 007317A10858DECD00B2BC32 /* QuickTime.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ BECDF5D20761B759005FE872 /* macosx */ = {
+ isa = PBXGroup;
+ children = (
+ BECDF5D50761B759005FE872 /* SDL_coreaudio.c */,
+ BECDF5D60761B759005FE872 /* SDL_coreaudio.h */,
+ );
+ name = macosx;
+ path = ../../src/audio/macosx;
+ sourceTree = SOURCE_ROOT;
+ };
+ F51789D001769A2401D3D55B /* darwin */ = {
+ isa = PBXGroup;
+ children = (
+ F51789D101769A2401D3D55B /* SDL_sysjoystick.c */,
+ );
+ name = darwin;
+ path = ../../src/joystick/darwin;
+ sourceTree = SOURCE_ROOT;
+ };
+ F59C70FC00D5CB5801000001 /* pkg-support */ = {
+ isa = PBXGroup;
+ children = (
+ F59C70FE00D5CB5801000001 /* devel-resources */,
+ F59C710100D5CB5801000001 /* resources */,
+ F5F81AD400D706B101000001 /* Readme SDL Developer.txt */,
+ F59C710500D5CB5801000001 /* SDL-devel.info */,
+ F59C710600D5CB5801000001 /* SDL.info */,
+ );
+ path = "pkg-support";
+ sourceTree = SOURCE_ROOT;
+ };
+ F59C70FE00D5CB5801000001 /* devel-resources */ = {
+ isa = PBXGroup;
+ children = (
+ F59C710C00D5D15801000001 /* install.sh */,
+ F59C70FF00D5CB5801000001 /* ReadMe.txt */,
+ F59C710000D5CB5801000001 /* Welcome.txt */,
+ );
+ path = "devel-resources";
+ sourceTree = "<group>";
+ };
+ F59C710100D5CB5801000001 /* resources */ = {
+ isa = PBXGroup;
+ children = (
+ 00794D3F09D0C461003FC8A1 /* License.rtf */,
+ 00F5D79E0990CA0D0051C449 /* UniversalBinaryNotes.rtf */,
+ 00AE6E1E08B958CC00255E2F /* ReadMeDevLite.txt */,
+ F59C710300D5CB5801000001 /* ReadMe.txt */,
+ );
+ path = resources;
+ sourceTree = "<group>";
+ };
+ F5B2A58400C5D39001000001 /* Main */ = {
+ isa = PBXGroup;
+ children = (
+ 2EECDF2D0086C3A07F000001 /* SDLMain.h */,
+ 2EECDF2E0086C3A07F000001 /* SDLMain.m */,
+ 2EECDF2F0086C3A07F000001 /* SDLMain.nib */,
+ );
+ name = Main;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ BECDF5FF0761BA81005FE872 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 00162DA409BD222F0037C8D0 /* SDL_config_dreamcast.h in Headers */,
+ 00162DA509BD222F0037C8D0 /* SDL_config_macos.h in Headers */,
+ 00162DA609BD222F0037C8D0 /* SDL_config_macosx.h in Headers */,
+ 00162DA709BD222F0037C8D0 /* SDL_config_os2.h in Headers */,
+ 00162DA809BD222F0037C8D0 /* SDL_config_win32.h in Headers */,
+ 00162DA909BD222F0037C8D0 /* SDL_config.h in Headers */,
+ 00162DAA09BD222F0037C8D0 /* SDL_platform.h in Headers */,
+ 00162DAB09BD222F0037C8D0 /* SDL_stdinc.h in Headers */,
+ 00162DAC09BD222F0037C8D0 /* begin_code.h in Headers */,
+ 00162DAD09BD222F0037C8D0 /* close_code.h in Headers */,
+ 00162DAE09BD222F0037C8D0 /* SDL_active.h in Headers */,
+ 00162DAF09BD222F0037C8D0 /* SDL_audio.h in Headers */,
+ 00162DB009BD222F0037C8D0 /* SDL_byteorder.h in Headers */,
+ 00162DB109BD222F0037C8D0 /* SDL_cdrom.h in Headers */,
+ 00162DB209BD222F0037C8D0 /* SDL_copying.h in Headers */,
+ 00162DB309BD222F0037C8D0 /* SDL_cpuinfo.h in Headers */,
+ 00162DB409BD222F0037C8D0 /* SDL_endian.h in Headers */,
+ 00162DB509BD222F0037C8D0 /* SDL_error.h in Headers */,
+ 00162DB609BD222F0037C8D0 /* SDL_events.h in Headers */,
+ 00162DB709BD222F0037C8D0 /* SDL_getenv.h in Headers */,
+ 00162DB809BD222F0037C8D0 /* SDL_joystick.h in Headers */,
+ 00162DB909BD222F0037C8D0 /* SDL_keyboard.h in Headers */,
+ 00162DBA09BD222F0037C8D0 /* SDL_keysym.h in Headers */,
+ 00162DBB09BD222F0037C8D0 /* SDL_loadso.h in Headers */,
+ 00162DBC09BD222F0037C8D0 /* SDL_main.h in Headers */,
+ 00162DBD09BD222F0037C8D0 /* SDL_mouse.h in Headers */,
+ 00162DBE09BD222F0037C8D0 /* SDL_mutex.h in Headers */,
+ 00162DBF09BD222F0037C8D0 /* SDL_name.h in Headers */,
+ 00162DC009BD222F0037C8D0 /* SDL_opengl.h in Headers */,
+ 00162DC109BD222F0037C8D0 /* SDL_quit.h in Headers */,
+ 00162DC209BD222F0037C8D0 /* SDL_rwops.h in Headers */,
+ 00162DC309BD222F0037C8D0 /* SDL_syswm.h in Headers */,
+ 00162DC409BD222F0037C8D0 /* SDL_thread.h in Headers */,
+ 00162DC509BD222F0037C8D0 /* SDL_timer.h in Headers */,
+ 00162DC609BD222F0037C8D0 /* SDL_types.h in Headers */,
+ 00162DC709BD222F0037C8D0 /* SDL_version.h in Headers */,
+ 00162DC809BD222F0037C8D0 /* SDL_video.h in Headers */,
+ 00162DC909BD222F0037C8D0 /* SDL.h in Headers */,
+ 00D0D02310675823004B05EF /* SDL_QuartzWM.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BECDF66E0761BA81005FE872 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BECDF6720761BA81005FE872 /* CGS.h in Headers */,
+ BECDF6730761BA81005FE872 /* SDL_QuartzKeys.h in Headers */,
+ BECDF6740761BA81005FE872 /* SDL_QuartzVideo.h in Headers */,
+ BECDF6750761BA81005FE872 /* SDL_QuartzWindow.h in Headers */,
+ BECDF6760761BA81005FE872 /* SDL_cpuinfo.h in Headers */,
+ BECDF6770761BA81005FE872 /* SDL_name.h in Headers */,
+ BECDF6780761BA81005FE872 /* SDL_coreaudio.h in Headers */,
+ 004C2C940975E13300E9D430 /* SDLOSXCAGuard.h in Headers */,
+ 00162D4409BD1FA90037C8D0 /* SDL_config_dreamcast.h in Headers */,
+ 00162D4509BD1FA90037C8D0 /* SDL_config_macos.h in Headers */,
+ 00162D4609BD1FA90037C8D0 /* SDL_config_macosx.h in Headers */,
+ 00162D4709BD1FA90037C8D0 /* SDL_config_os2.h in Headers */,
+ 00162D4809BD1FA90037C8D0 /* SDL_config_win32.h in Headers */,
+ 00162D4909BD1FA90037C8D0 /* SDL_config.h in Headers */,
+ 00162D4A09BD1FA90037C8D0 /* SDL_platform.h in Headers */,
+ 00162D4B09BD1FA90037C8D0 /* SDL_stdinc.h in Headers */,
+ 00162D5B09BD20DA0037C8D0 /* SDL_sysmutex_c.h in Headers */,
+ 00162D5E09BD20DA0037C8D0 /* SDL_systhread_c.h in Headers */,
+ 00162E6B09BD27370037C8D0 /* SDL_mixer_MMX.h in Headers */,
+ 00162F4209BE27FB0037C8D0 /* SDL_nullevents_c.h in Headers */,
+ 00162F4409BE27FB0037C8D0 /* SDL_nullmouse_c.h in Headers */,
+ 00162F4609BE27FB0037C8D0 /* SDL_nullvideo.h in Headers */,
+ 0014B7F409C0D8D2003A99D5 /* SDL_dgaevents_c.h in Headers */,
+ 0014B7F609C0D8D2003A99D5 /* SDL_dgamouse_c.h in Headers */,
+ 0014B7F909C0D8D2003A99D5 /* SDL_dgavideo.h in Headers */,
+ 0014B86509C0D977003A99D5 /* SDL_x11dga_c.h in Headers */,
+ 0014B86809C0D977003A99D5 /* SDL_x11dyn.h in Headers */,
+ 0014B86909C0D977003A99D5 /* SDL_x11events_c.h in Headers */,
+ 0014B86B09C0D977003A99D5 /* SDL_x11gamma_c.h in Headers */,
+ 0014B86D09C0D977003A99D5 /* SDL_x11gl_c.h in Headers */,
+ 0014B86F09C0D977003A99D5 /* SDL_x11image_c.h in Headers */,
+ 0014B87109C0D977003A99D5 /* SDL_x11modes_c.h in Headers */,
+ 0014B87309C0D977003A99D5 /* SDL_x11mouse_c.h in Headers */,
+ 0014B87509C0D977003A99D5 /* SDL_x11sym.h in Headers */,
+ 0014B87709C0D977003A99D5 /* SDL_x11video.h in Headers */,
+ 0014B87809C0D977003A99D5 /* SDL_x11wm_c.h in Headers */,
+ 0014B87A09C0D977003A99D5 /* SDL_x11yuv_c.h in Headers */,
+ 0014B89E09C0DAAE003A99D5 /* Xvlibint.h in Headers */,
+ 002F32DA09CA0BE700EBEB88 /* SDL_diskaudio.h in Headers */,
+ 002F32E809CA0BF600EBEB88 /* SDL_dummyaudio.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BECDF6B50761BA81005FE872 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ BECDF5FE0761BA81005FE872 /* Framework */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 0073177A0858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Framework" */;
+ buildPhases = (
+ 00D55F050A11143E0030ED2A /* Run Script to Create SDL_config.h */,
+ BECDF5FF0761BA81005FE872 /* Headers */,
+ BECDF62A0761BA81005FE872 /* Resources */,
+ BECDF62C0761BA81005FE872 /* Sources */,
+ BECDF6680761BA81005FE872 /* Frameworks */,
+ BECDF6690761BA81005FE872 /* Rez */,
+ );
+ buildRules = (
+ );
+ comments = "We recommend installing to /Library/Frameworks\nAn alternative is $(HOME)/Library/Frameworks for per-user if permissions are an issue.\n\nAdd the framework to the Groups & Files panel (under Linked Frameworks is a good place) and enable the check box for the targets that need to link to it. You can also manually add \"-framework SDL\" to your linker flags if you don't like the check box system.\n\nAdd /Library/Frameworks/SDL.framework/Headers to your header search path\nAdd /Library/Frameworks to your library search path\n(Adjust the two above if installed in $(HOME)/Library/Frameworks. You can also list both paths if you want robustness.)\n\nWe used to use an exports file. It was becoming a maintenance issue we kept neglecting, so we have removed it. If you need it back, set the \"Exported Symbols File\" option to:\n../../src/main/macosx/exports/SDL.x\n(You may need to regenerate the exports list. There is a Makefile in that directory that you can run from the command line to rebuild it.)\nLong term, we want to utilize gcc 4.0's new visibility feature (analogous to declspec on Windows). Other platforms would benefit from this change too. The downside is that we still use gcc 3.3 for the PowerPC build here so only our x86 builds will cull the symbols if we go down this route (and don't use the exports file).\n\n";
+ dependencies = (
+ );
+ name = Framework;
+ productInstallPath = "@executable_path/../Frameworks";
+ productName = SDL;
+ productReference = BECDF66C0761BA81005FE872 /* SDL.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+ BECDF66D0761BA81005FE872 /* Static Library */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 0073177E0858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Static Library" */;
+ buildPhases = (
+ 00D55F080A11147F0030ED2A /* Run Script to Create SDL_config.h */,
+ BECDF66E0761BA81005FE872 /* Headers */,
+ BECDF6790761BA81005FE872 /* Sources */,
+ BECDF6B10761BA81005FE872 /* Frameworks */,
+ BECDF6B20761BA81005FE872 /* Rez */,
+ );
+ buildRules = (
+ );
+ comments = "This produces libsdl.a, which is the static build of SDL. You will have to link to the Cocoa and OpenGL frameworks in your application.";
+ dependencies = (
+ );
+ name = "Static Library";
+ productInstallPath = /usr/local/lib;
+ productName = "Static Library";
+ productReference = BECDF6B30761BA81005FE872 /* libSDL.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+ BECDF6B40761BA81005FE872 /* Main Library */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 007317820858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Main Library" */;
+ buildPhases = (
+ BECDF6B50761BA81005FE872 /* Headers */,
+ BECDF6B60761BA81005FE872 /* Sources */,
+ BECDF6B80761BA81005FE872 /* Frameworks */,
+ BECDF6B90761BA81005FE872 /* Rez */,
+ );
+ buildRules = (
+ );
+ comments = "This produces libSDLmain.a, which contains only SDL_main.m, the hook to get the app running correctly before your SDL code executes.";
+ dependencies = (
+ );
+ name = "Main Library";
+ productInstallPath = /usr/local/lib;
+ productName = libSDLmain.a;
+ productReference = BECDF6BA0761BA81005FE872 /* libSDLmain.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+ BECDF6BB0761BA81005FE872 /* Standard DMG */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 007317860858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Standard DMG" */;
+ buildPhases = (
+ BECDF6BD0761BA81005FE872 /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BECDF6C60761BA81005FE872 /* PBXTargetDependency */,
+ );
+ name = "Standard DMG";
+ productInstallPath = /usr/local/bin;
+ productName = "Standard Package";
+ productReference = BECDF6BE0761BA81005FE872 /* Standard DMG */;
+ productType = "com.apple.product-type.tool";
+ };
+ BECDF6C00761BA81005FE872 /* Developer Extras Package */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 0073178A0858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Developer Extras Package" */;
+ buildPhases = (
+ BECDF6C20761BA81005FE872 /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 008310001072D94A00A531F1 /* PBXTargetDependency */,
+ );
+ name = "Developer Extras Package";
+ productInstallPath = /usr/local/bin;
+ productName = "Devel Package";
+ productReference = BECDF6C30761BA81005FE872 /* Developer Extras Package */;
+ productType = "com.apple.product-type.tool";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 0867D690FE84028FC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0420;
+ };
+ buildConfigurationList = 0073178E0858DB0500B2BC32 /* Build configuration list for PBXProject "SDL" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = 0867D691FE84028FC02AAC07 /* SDLFramework */;
+ productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ BECDF5FE0761BA81005FE872 /* Framework */,
+ BECDF66D0761BA81005FE872 /* Static Library */,
+ BECDF6B40761BA81005FE872 /* Main Library */,
+ BECDF6BB0761BA81005FE872 /* Standard DMG */,
+ BECDF6C00761BA81005FE872 /* Developer Extras Package */,
+ 0032354F1070931700C76517 /* Generate Doxygen DocSet */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ BECDF62A0761BA81005FE872 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BECDF62B0761BA81005FE872 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXRezBuildPhase section */
+ BECDF6690761BA81005FE872 /* Rez */ = {
+ isa = PBXRezBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BECDF6B20761BA81005FE872 /* Rez */ = {
+ isa = PBXRezBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BECDF6B90761BA81005FE872 /* Rez */ = {
+ isa = PBXRezBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXRezBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 0032354E1070931700C76517 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 12;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# DOXYGEN_EXE is defined in the Enclosing Target's Build Tab\n# DOXYGEN_EXE=/Applications/Doxygen.app/Contents/Resources/doxygen\n#echo DOXYGEN_EXE dir is $DOXYGEN_EXE\n\nDOC_DIR=$SRCROOT/../XcodeDocSet\n#echo Doc dir is $DOC_DIR\ncd $DOC_DIR\n$DOXYGEN_EXE $DOC_DIR/Doxyfile\ncd html\nmake\nif [ -d $SRCROOT/../XcodeDocSet/org.libsdl.sdl.docset ] ; then\n\t# remove previous docset\n\trm -rf $SRCROOT/../XcodeDocSet/org.libsdl.sdl.docset\nfi\nmv org.libsdl.sdl.docset ..\ncd ..\nrm -rf html\nexit 0";
+ };
+ 00D55F050A11143E0030ED2A /* Run Script to Create SDL_config.h */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Run Script to Create SDL_config.h";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# Make sure that include/SDL_config.h is a symlink to SDL_config.h.default.\n# If it exists and is not a symlink, it was probably generated by configure and\n# we move it aside.\nif [ ! -L ../../include/SDL_config.h ]; then\n if [ -e ../../include/SDL_config.h ]; then\n mv ../../include/SDL_config.h ../../include/SDL_config.h.generated\n fi\n ln -s SDL_config.h.default ../../include/SDL_config.h\nfi\n";
+ };
+ 00D55F080A11147F0030ED2A /* Run Script to Create SDL_config.h */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Run Script to Create SDL_config.h";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# Make sure that include/SDL_config.h is a symlink to SDL_config.h.default.\n# If it exists and is not a symlink, it was probably generated by configure and\n# we move it aside.\nif [ ! -L ../../include/SDL_config.h ]; then\n if [ -e ../../include/SDL_config.h ]; then\n mv ../../include/SDL_config.h ../../include/SDL_config.h.generated\n fi\n ln -s SDL_config.h.default ../../include/SDL_config.h\nfi\n";
+ };
+ BECDF6BD0761BA81005FE872 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 12;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# clean up the framework, remove headers, extra files\nmkdir -p build/dmg-tmp\nmkdir -p build/dmg-tmp/devel-lite\n/Developer/Tools/CpMac -r $TARGET_BUILD_DIR/SDL.framework build/dmg-tmp/\n\n# strip moved to Xcode native mechanism\n# strip -x build/dmg-tmp/SDL.framework/SDL\n\ncp pkg-support/resources/License.rtf build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\ncp pkg-support/resources/ReadMeDevLite.txt build/dmg-tmp/devel-lite\ncp pkg-support/resources/UniversalBinaryNotes.rtf build/dmg-tmp\n\ncp ../../src/main/macosx/SDLMain.h build/dmg-tmp/devel-lite\ncp ../../src/main/macosx/SDLMain.m build/dmg-tmp/devel-lite\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/dmg-tmp -name .DS_Store -exec rm -f \"{}\" \\;\nfind -d build/dmg-tmp -type d -name .svn -exec rm -rf \"{}\" \\;\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL -srcfolder build/dmg-tmp build/SDL.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n\n# compress it???\n#(cd build; gnutar -zcvf SDL.dmg.tar.gz SDL.dmg)";
+ };
+ BECDF6C20761BA81005FE872 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ comments = "The old .pkg generator script:\n\n# make a copy of the framework to work with\nmkdir -p build/pkg-tmp\n\n## We're changing this to follow OS X conventions, where the headers and\n## framework are bundled together. Thus this development package won't \n## actually contain any direct framework elements.\n#/Developer/Tools/CpMac -r build/SDL.framework build/pkg-tmp/\n\n# copy in some files they might want around...\ncp ../../docs.html build/pkg-tmp\ncp -r ../../docs build/pkg-tmp\n#cp -r ../../src/main/macosx build/pkg-tmp/\n#rm -rf build/pkg-tmp/main/exports\ncp -r \"../Project Stationary\" build/pkg-tmp/\ncp \"pkg-support/Readme SDL Developer.txt\" build/pkg-tmp/\n#cp \"../uninstall.csh\" build/pkg-tmp/\n\n## We shouldn't have any framework stuff to deal with now\n# clean up the framework, remove extra files\n# rm -rf build/pkg-tmp/SDL.framework/Resources/pbdevelopment.plist\n\n# remove the .DS_Store file to keep tool from crapping out\nfind pkg-support -name \".DS_Store\" -exec rm -rf \"{}\" \";\" \n\n# create the .pkg\n../package build/pkg-tmp pkg-support/SDL-devel.info -d build -r pkg-support/devel-resources \n#\"/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker\" -build -p build/ -f build/pkg-tmp -r pkg-support/devel-resources -i Info.plist -d Description.plist\n\n# create install scripts\nDIR=build/SDL-devel.pkg/\ncp $DIR/install.sh $DIR/SDL-devel.post_install\nmv $DIR/install.sh $DIR/SDL-devel.post_upgrade\n\n# add execute flag to scripts\nchmod 755 $DIR/SDL-devel.post_install $DIR/SDL-devel.post_upgrade\n\n# remove temporary files\n#rm -rf build/pkg-tmp\n\n# compress\n(cd build; gnutar -zcvf SDL-devel.pkg.tar.gz SDL-devel.pkg)";
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# make a directory to hold the stuff we're going to package up\nmkdir -p build/devel-extras-tmp\nmkdir -p build/devel-extras-tmp/Documentation\nmkdir -p build/devel-extras-tmp/Documentation/docs/XcodeDocSet\nmkdir -p build/devel-extras-tmp/XcodeTemplates\nmkdir -p build/devel-extras-tmp/SDLMain\nmkdir -p build/devel-extras-tmp/SDLMain/NIBless\nmkdir -p build/devel-extras-tmp/SDLMain/CocoaMenus\n\n# copy the docs\ncp ../../docs.html build/devel-extras-tmp/Documentation\ncp -r ../../docs build/devel-extras-tmp/Documentation\n\n# Copy Doxyfile for DocSet\ncp $SRCROOT/../XcodeDocSet/Doxyfile build/devel-extras-tmp/Documentation/docs/XcodeDocSet\n\n# Copy DocSet (if it exists)\nif [ -d $SRCROOT/../XcodeDocSet/org.libsdl.sdl.docset ] ; then\n#\techo Found docset directory\n\tmv $SRCROOT/../XcodeDocSet/org.libsdl.sdl.docset build/devel-extras-tmp/Documentation/docs/XcodeDocSet/\nelse\n\techo Warning: Could not find DocSet and will be omitted from package\nfi\n\n# copy the Xcode Project user templates\ncp -r \"../TemplatesForXcodeTiger\" build/devel-extras-tmp/XcodeTemplates\ncp -r \"../TemplatesForXcodeLeopard\" build/devel-extras-tmp/XcodeTemplates\ncp -r \"../TemplatesForXcodeSnowLeopard\" build/devel-extras-tmp/XcodeTemplates\n\ncp \"pkg-support/Readme SDL Developer.txt\" build/devel-extras-tmp\n\n# readme file\n#cp pkg-support/resources/ReadMe.txt build/devel-extras-tmp\n\n#cp pkg-support/resources/UniversalBinaryNotes.rtf build/devel-extras-tmp\n\n# Copy the devel-lite stuff just in case the user didn't notice it in the main package\n# I should copy all the different SDLMain versions (and nibs) instead.\n# I'm assuming the default is the same as the SDL App and SDL/OpenGL templates\n\ncp pkg-support/resources/ReadMeDevLite.txt build/devel-extras-tmp/SDLMain/NIBless\ncp ../../src/main/macosx/SDLMain.h build/devel-extras-tmp/SDLMain/NIBless\ncp ../../src/main/macosx/SDLMain.m build/devel-extras-tmp/SDLMain/NIBless\n\n# Nib stuff from SDL-Cocoa App\n/Developer/Tools/CpMac -r \"../TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.h\" build/devel-extras-tmp/SDLMain/CocoaMenus\n/Developer/Tools/CpMac -r \"../TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.m\" build/devel-extras-tmp/SDLMain/CocoaMenus\n/Developer/Tools/CpMac -r \"../TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib\" build/devel-extras-tmp/SDLMain/CocoaMenus\n\n# Copy precompiled libSDLmain.a's here??? We have potentially 3 different ones?\n# /Developer/Tools/CpMac -r $TARGET_BUILD_DIR/libSDLmain.a build/devel-extras-tmp/SDLMain/NIBless\n#\n#\n\n# Copy sdl-config's for those who've been wanting one? Will need to document that it may\n# require manual changes if you don't install the framework to /Library/Frameworks\n# <<sdl-config here>>\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/devel-extras-tmp -name .DS_Store -exec rm -f \"{}\" \\;\n# remove CVS stuff\nfind build/devel-extras-tmp -name .cvsignore -exec rm -f \"{}\" \\;\n# depth first traversal, type=directory, remove recursively\nfind -d build/devel-extras-tmp -type d -name CVS -exec rm -rf \"{}\" \\;\nfind -d build/devel-extras-tmp -type d -name .svn -exec rm -rf \"{}\" \\;\n\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL-devel-extras -srcfolder build/devel-extras-tmp build/SDL-devel-extras.dmg\n\n# clean up\nrm -rf build/devel-extras-tmp\n\n# compress it???\n#(cd build; gnutar -zcvf SDL.dmg.tar.gz SDL.dmg)\n\n";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ BECDF62C0761BA81005FE872 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BECDF62E0761BA81005FE872 /* SDL_audio.c in Sources */,
+ BECDF62F0761BA81005FE872 /* SDL_audiocvt.c in Sources */,
+ BECDF6300761BA81005FE872 /* SDL_audiodev.c in Sources */,
+ BECDF6320761BA81005FE872 /* SDL_mixer.c in Sources */,
+ BECDF6330761BA81005FE872 /* SDL_wave.c in Sources */,
+ BECDF6350761BA81005FE872 /* SDL_active.c in Sources */,
+ BECDF6360761BA81005FE872 /* SDL_events.c in Sources */,
+ BECDF6370761BA81005FE872 /* SDL_expose.c in Sources */,
+ BECDF6380761BA81005FE872 /* SDL_keyboard.c in Sources */,
+ BECDF6390761BA81005FE872 /* SDL_mouse.c in Sources */,
+ BECDF63A0761BA81005FE872 /* SDL_quit.c in Sources */,
+ BECDF63B0761BA81005FE872 /* SDL_resize.c in Sources */,
+ BECDF63C0761BA81005FE872 /* SDL_rwops.c in Sources */,
+ BECDF63E0761BA81005FE872 /* SDL_timer.c in Sources */,
+ BECDF63F0761BA81005FE872 /* SDL_blit.c in Sources */,
+ BECDF6400761BA81005FE872 /* SDL_blit_0.c in Sources */,
+ BECDF6410761BA81005FE872 /* SDL_blit_1.c in Sources */,
+ BECDF6420761BA81005FE872 /* SDL_blit_A.c in Sources */,
+ BECDF6430761BA81005FE872 /* SDL_blit_N.c in Sources */,
+ BECDF6440761BA81005FE872 /* SDL_bmp.c in Sources */,
+ BECDF6450761BA81005FE872 /* SDL_cursor.c in Sources */,
+ BECDF6460761BA81005FE872 /* SDL_gamma.c in Sources */,
+ BECDF6470761BA81005FE872 /* SDL_pixels.c in Sources */,
+ BECDF6480761BA81005FE872 /* SDL_RLEaccel.c in Sources */,
+ BECDF6490761BA81005FE872 /* SDL_surface.c in Sources */,
+ BECDF64A0761BA81005FE872 /* SDL_video.c in Sources */,
+ BECDF64B0761BA81005FE872 /* SDL_yuv.c in Sources */,
+ BECDF64C0761BA81005FE872 /* SDL_yuv_sw.c in Sources */,
+ BECDF64D0761BA81005FE872 /* SDL_error.c in Sources */,
+ BECDF64E0761BA81005FE872 /* SDL_fatal.c in Sources */,
+ BECDF6500761BA81005FE872 /* SDL.c in Sources */,
+ BECDF6510761BA81005FE872 /* SDL_thread.c in Sources */,
+ BECDF6520761BA81005FE872 /* SDL_cdrom.c in Sources */,
+ BECDF6530761BA81005FE872 /* SDL_joystick.c in Sources */,
+ BECDF6580761BA81005FE872 /* SDL_stretch.c in Sources */,
+ BECDF6590761BA81005FE872 /* SDL_sysjoystick.c in Sources */,
+ BECDF65B0761BA81005FE872 /* SDL_QuartzEvents.m in Sources */,
+ BECDF65C0761BA81005FE872 /* SDL_QuartzGL.m in Sources */,
+ BECDF65D0761BA81005FE872 /* SDL_QuartzVideo.m in Sources */,
+ BECDF65E0761BA81005FE872 /* SDL_QuartzWindow.m in Sources */,
+ BECDF65F0761BA81005FE872 /* SDL_QuartzWM.m in Sources */,
+ BECDF6610761BA81005FE872 /* SDL_cpuinfo.c in Sources */,
+ BECDF6620761BA81005FE872 /* SDL_syscdrom.c in Sources */,
+ BECDF6670761BA81005FE872 /* SDL_coreaudio.c in Sources */,
+ 004C2C8B0975E13300E9D430 /* AudioFilePlayer.c in Sources */,
+ 004C2C8C0975E13300E9D430 /* AudioFileReaderThread.c in Sources */,
+ 004C2C8D0975E13300E9D430 /* CDPlayer.c in Sources */,
+ 004C2C8E0975E13300E9D430 /* SDLOSXCAGuard.c in Sources */,
+ 00162D5309BD20DA0037C8D0 /* SDL_syscond.c in Sources */,
+ 00162D5409BD20DA0037C8D0 /* SDL_sysmutex.c in Sources */,
+ 00162D5609BD20DA0037C8D0 /* SDL_syssem.c in Sources */,
+ 00162D5709BD20DA0037C8D0 /* SDL_systhread.c in Sources */,
+ 00162D6109BD21010037C8D0 /* SDL_systimer.c in Sources */,
+ 00162D6B09BD214F0037C8D0 /* SDL_getenv.c in Sources */,
+ 00162D6C09BD214F0037C8D0 /* SDL_malloc.c in Sources */,
+ 00162D6D09BD214F0037C8D0 /* SDL_qsort.c in Sources */,
+ 00162D6E09BD214F0037C8D0 /* SDL_stdlib.c in Sources */,
+ 00162D6F09BD214F0037C8D0 /* SDL_string.c in Sources */,
+ 00162E6809BD27300037C8D0 /* SDL_mixer_MMX.c in Sources */,
+ 00162F3B09BE27FB0037C8D0 /* SDL_nullevents.c in Sources */,
+ 00162F3D09BE27FB0037C8D0 /* SDL_nullmouse.c in Sources */,
+ 00162F3F09BE27FB0037C8D0 /* SDL_nullvideo.c in Sources */,
+ 0014B7EF09C0D8D2003A99D5 /* SDL_dgaevents.c in Sources */,
+ 0014B7F109C0D8D2003A99D5 /* SDL_dgamouse.c in Sources */,
+ 0014B7F209C0D8D2003A99D5 /* SDL_dgavideo.c in Sources */,
+ 0014B84F09C0D977003A99D5 /* SDL_x11dga.c in Sources */,
+ 0014B85009C0D977003A99D5 /* SDL_x11dyn.c in Sources */,
+ 0014B85309C0D977003A99D5 /* SDL_x11events.c in Sources */,
+ 0014B85509C0D977003A99D5 /* SDL_x11gamma.c in Sources */,
+ 0014B85709C0D977003A99D5 /* SDL_x11gl.c in Sources */,
+ 0014B85909C0D977003A99D5 /* SDL_x11image.c in Sources */,
+ 0014B85B09C0D977003A99D5 /* SDL_x11modes.c in Sources */,
+ 0014B85D09C0D977003A99D5 /* SDL_x11mouse.c in Sources */,
+ 0014B85F09C0D977003A99D5 /* SDL_x11video.c in Sources */,
+ 0014B86209C0D977003A99D5 /* SDL_x11wm.c in Sources */,
+ 0014B86409C0D977003A99D5 /* SDL_x11yuv.c in Sources */,
+ 0014B89209C0DA94003A99D5 /* XF86DGA.c in Sources */,
+ 0014B89309C0DA94003A99D5 /* XF86DGA2.c in Sources */,
+ 0014B89709C0DAA1003A99D5 /* XF86VMode.c in Sources */,
+ 0014B89B09C0DAAE003A99D5 /* Xv.c in Sources */,
+ 0014B8A009C0DAB9003A99D5 /* Xinerama.c in Sources */,
+ 0014B8A309C0DAC4003A99D5 /* xme.c in Sources */,
+ 002F328609CA049100EBEB88 /* SDL_iconv.c in Sources */,
+ 002F32D709CA0BE700EBEB88 /* SDL_diskaudio.c in Sources */,
+ 002F32E509CA0BF600EBEB88 /* SDL_dummyaudio.c in Sources */,
+ 046B91EC0A11B53500FB151C /* SDL_sysloadso.c in Sources */,
+ 046B92130A11B8AD00FB151C /* SDL_dlcompat.c in Sources */,
+ 00EAE6FC0C4D3F84009A420A /* SDL_yuv_mmx.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BECDF6790761BA81005FE872 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BECDF67A0761BA81005FE872 /* SDL_audio.c in Sources */,
+ BECDF67B0761BA81005FE872 /* SDL_audiocvt.c in Sources */,
+ BECDF67D0761BA81005FE872 /* SDL_audiodev.c in Sources */,
+ BECDF67E0761BA81005FE872 /* SDL_mixer.c in Sources */,
+ BECDF67F0761BA81005FE872 /* SDL_wave.c in Sources */,
+ BECDF6810761BA81005FE872 /* SDL_cdrom.c in Sources */,
+ BECDF6830761BA81005FE872 /* SDL_active.c in Sources */,
+ BECDF6840761BA81005FE872 /* SDL_events.c in Sources */,
+ BECDF6850761BA81005FE872 /* SDL_expose.c in Sources */,
+ BECDF6860761BA81005FE872 /* SDL_keyboard.c in Sources */,
+ BECDF6870761BA81005FE872 /* SDL_mouse.c in Sources */,
+ BECDF6880761BA81005FE872 /* SDL_quit.c in Sources */,
+ BECDF6890761BA81005FE872 /* SDL_resize.c in Sources */,
+ BECDF68A0761BA81005FE872 /* SDL_rwops.c in Sources */,
+ BECDF68B0761BA81005FE872 /* SDL_joystick.c in Sources */,
+ BECDF68C0761BA81005FE872 /* SDL_thread.c in Sources */,
+ BECDF6920761BA81005FE872 /* SDL_timer.c in Sources */,
+ BECDF6930761BA81005FE872 /* SDL_blit.c in Sources */,
+ BECDF6940761BA81005FE872 /* SDL_blit_0.c in Sources */,
+ BECDF6950761BA81005FE872 /* SDL_blit_1.c in Sources */,
+ BECDF6960761BA81005FE872 /* SDL_blit_A.c in Sources */,
+ BECDF6970761BA81005FE872 /* SDL_blit_N.c in Sources */,
+ BECDF6980761BA81005FE872 /* SDL_bmp.c in Sources */,
+ BECDF6990761BA81005FE872 /* SDL_cursor.c in Sources */,
+ BECDF69A0761BA81005FE872 /* SDL_gamma.c in Sources */,
+ BECDF69B0761BA81005FE872 /* SDL_pixels.c in Sources */,
+ BECDF69C0761BA81005FE872 /* SDL_RLEaccel.c in Sources */,
+ BECDF69D0761BA81005FE872 /* SDL_stretch.c in Sources */,
+ BECDF69E0761BA81005FE872 /* SDL_surface.c in Sources */,
+ BECDF69F0761BA81005FE872 /* SDL_video.c in Sources */,
+ BECDF6A00761BA81005FE872 /* SDL_yuv.c in Sources */,
+ BECDF6A10761BA81005FE872 /* SDL_yuv_sw.c in Sources */,
+ BECDF6A20761BA81005FE872 /* SDL_error.c in Sources */,
+ BECDF6A30761BA81005FE872 /* SDL_fatal.c in Sources */,
+ BECDF6A50761BA81005FE872 /* SDL.c in Sources */,
+ BECDF6A60761BA81005FE872 /* SDL_sysjoystick.c in Sources */,
+ BECDF6A80761BA81005FE872 /* SDL_syscdrom.c in Sources */,
+ BECDF6A90761BA81005FE872 /* SDL_QuartzEvents.m in Sources */,
+ BECDF6AA0761BA81005FE872 /* SDL_QuartzGL.m in Sources */,
+ BECDF6AB0761BA81005FE872 /* SDL_QuartzVideo.m in Sources */,
+ BECDF6AC0761BA81005FE872 /* SDL_QuartzWindow.m in Sources */,
+ BECDF6AD0761BA81005FE872 /* SDL_QuartzWM.m in Sources */,
+ BECDF6AF0761BA81005FE872 /* SDL_cpuinfo.c in Sources */,
+ BECDF6B00761BA81005FE872 /* SDL_coreaudio.c in Sources */,
+ 004C2C900975E13300E9D430 /* AudioFilePlayer.c in Sources */,
+ 004C2C910975E13300E9D430 /* AudioFileReaderThread.c in Sources */,
+ 004C2C920975E13300E9D430 /* CDPlayer.c in Sources */,
+ 004C2C930975E13300E9D430 /* SDLOSXCAGuard.c in Sources */,
+ 00162D5909BD20DA0037C8D0 /* SDL_syscond.c in Sources */,
+ 00162D5A09BD20DA0037C8D0 /* SDL_sysmutex.c in Sources */,
+ 00162D5C09BD20DA0037C8D0 /* SDL_syssem.c in Sources */,
+ 00162D5D09BD20DA0037C8D0 /* SDL_systhread.c in Sources */,
+ 00162D6209BD21010037C8D0 /* SDL_systimer.c in Sources */,
+ 00162D7009BD214F0037C8D0 /* SDL_getenv.c in Sources */,
+ 00162D7109BD214F0037C8D0 /* SDL_malloc.c in Sources */,
+ 00162D7209BD214F0037C8D0 /* SDL_qsort.c in Sources */,
+ 00162D7309BD214F0037C8D0 /* SDL_stdlib.c in Sources */,
+ 00162D7409BD214F0037C8D0 /* SDL_string.c in Sources */,
+ 00162E6A09BD27360037C8D0 /* SDL_mixer_MMX.c in Sources */,
+ 00162F4109BE27FB0037C8D0 /* SDL_nullevents.c in Sources */,
+ 00162F4309BE27FB0037C8D0 /* SDL_nullmouse.c in Sources */,
+ 00162F4509BE27FB0037C8D0 /* SDL_nullvideo.c in Sources */,
+ 0014B7F509C0D8D2003A99D5 /* SDL_dgaevents.c in Sources */,
+ 0014B7F709C0D8D2003A99D5 /* SDL_dgamouse.c in Sources */,
+ 0014B7F809C0D8D2003A99D5 /* SDL_dgavideo.c in Sources */,
+ 0014B86609C0D977003A99D5 /* SDL_x11dga.c in Sources */,
+ 0014B86709C0D977003A99D5 /* SDL_x11dyn.c in Sources */,
+ 0014B86A09C0D977003A99D5 /* SDL_x11events.c in Sources */,
+ 0014B86C09C0D977003A99D5 /* SDL_x11gamma.c in Sources */,
+ 0014B86E09C0D977003A99D5 /* SDL_x11gl.c in Sources */,
+ 0014B87009C0D977003A99D5 /* SDL_x11image.c in Sources */,
+ 0014B87209C0D977003A99D5 /* SDL_x11modes.c in Sources */,
+ 0014B87409C0D977003A99D5 /* SDL_x11mouse.c in Sources */,
+ 0014B87609C0D977003A99D5 /* SDL_x11video.c in Sources */,
+ 0014B87909C0D977003A99D5 /* SDL_x11wm.c in Sources */,
+ 0014B87B09C0D977003A99D5 /* SDL_x11yuv.c in Sources */,
+ 0014B89409C0DA94003A99D5 /* XF86DGA.c in Sources */,
+ 0014B89509C0DA94003A99D5 /* XF86DGA2.c in Sources */,
+ 0014B89809C0DAA1003A99D5 /* XF86VMode.c in Sources */,
+ 0014B89D09C0DAAE003A99D5 /* Xv.c in Sources */,
+ 0014B8A109C0DAB9003A99D5 /* Xinerama.c in Sources */,
+ 0014B8A409C0DAC4003A99D5 /* xme.c in Sources */,
+ 002F328709CA049100EBEB88 /* SDL_iconv.c in Sources */,
+ 002F32D909CA0BE700EBEB88 /* SDL_diskaudio.c in Sources */,
+ 002F32E709CA0BF600EBEB88 /* SDL_dummyaudio.c in Sources */,
+ 046B91ED0A11B53500FB151C /* SDL_sysloadso.c in Sources */,
+ 046B92140A11B8AD00FB151C /* SDL_dlcompat.c in Sources */,
+ 00EAE6FD0C4D3F88009A420A /* SDL_yuv_mmx.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BECDF6B60761BA81005FE872 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BECDF6B70761BA81005FE872 /* SDLMain.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 008310001072D94A00A531F1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 0032354F1070931700C76517 /* Generate Doxygen DocSet */;
+ targetProxy = 00830FFF1072D94A00A531F1 /* PBXContainerItemProxy */;
+ };
+ BECDF6C60761BA81005FE872 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BECDF5FE0761BA81005FE872 /* Framework */;
+ targetProxy = BECDF6C50761BA81005FE872 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 003235521070931700C76517 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DOXYGEN_EXE = /Applications/Doxygen.app/Contents/Resources/doxygen;
+ PRODUCT_NAME = "Generate Doxygen DocSet";
+ };
+ name = Debug;
+ };
+ 003235531070931700C76517 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DOXYGEN_EXE = /Applications/Doxygen.app/Contents/Resources/doxygen;
+ PRODUCT_NAME = "Generate Doxygen DocSet";
+ };
+ name = Release;
+ };
+ 00CFA621106A567900758660 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ DEPLOYMENT_POSTPROCESSING = YES;
+ GCC_ALTIVEC_EXTENSIONS = YES;
+ GCC_AUTO_VECTORIZATION = YES;
+ GCC_ENABLE_CPP_EXCEPTIONS = NO;
+ GCC_ENABLE_CPP_RTTI = NO;
+ GCC_ENABLE_SSE3_EXTENSIONS = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_OPTIMIZATION_LEVEL = s;
+ MACOSX_DEPLOYMENT_TARGET = 10.5;
+ SDKROOT = macosx;
+ SEPARATE_STRIP = YES;
+ STRIP_STYLE = "non-global";
+ WARNING_CFLAGS = "";
+ };
+ name = Release;
+ };
+ 00CFA622106A567900758660 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 12.4;
+ FRAMEWORK_VERSION = A;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(GCC_PREPROCESSOR_DEFINITIONS)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_2)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_3)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_4)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ HEADER_SEARCH_PATHS = /usr/X11R6/include;
+ INFOPLIST_FILE = "Info-Framework.plist";
+ INSTALL_PATH = "@rpath";
+ OTHER_CFLAGS = "$(OTHER_CFLAGS_$(CURRENT_ARCH))";
+ OTHER_CFLAGS_i386 = "";
+ OTHER_CFLAGS_ppc = "";
+ OTHER_LDFLAGS_ppc = "-prebind -seg1addr 0x30000000";
+ PRODUCT_NAME = SDL;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Release;
+ };
+ 00CFA623106A567900758660 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(GCC_PREPROCESSOR_DEFINITIONS)",
+ "SDL_VIDEO_DRIVER_DGA=1",
+ "SDL_VIDEO_DRIVER_X11=1",
+ "SDL_VIDEO_DRIVER_X11_DGAMOUSE=1",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_2)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_3)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_4)",
+ "SDL_VIDEO_DRIVER_X11_VIDMODE=1",
+ "SDL_VIDEO_DRIVER_X11_XINERAMA=1",
+ "SDL_VIDEO_DRIVER_X11_XME=1",
+ "SDL_VIDEO_DRIVER_X11_XRANDR=1",
+ "SDL_VIDEO_DRIVER_X11_XV=1",
+ );
+ GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1 = "SDL_VIDEO_DRIVER_X11_DYNAMIC=\\\"/usr/X11R6/lib/libX11.6.dylib\\\"";
+ GCC_PREPROCESSOR_DEFINITIONS_QUOTED_2 = "SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT=\\\"/usr/X11R6/lib/libXext.6.dylib\\\"";
+ GCC_PREPROCESSOR_DEFINITIONS_QUOTED_3 = "SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR=\\\"/usr/X11R6/lib/libXrandr.2.dylib\\\"";
+ GCC_PREPROCESSOR_DEFINITIONS_QUOTED_4 = "SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER=\\\"/usr/X11R6/lib/libXrender.1.dylib\\\"";
+ HEADER_SEARCH_PATHS = /usr/X11R6/include;
+ OTHER_CFLAGS = "$(OTHER_CFLAGS_$(CURRENT_ARCH))";
+ OTHER_CFLAGS_i386 = "";
+ OTHER_CFLAGS_ppc = "";
+ PRODUCT_NAME = SDL;
+ };
+ name = Release;
+ };
+ 00CFA624106A567900758660 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = SDLmain;
+ };
+ name = Release;
+ };
+ 00CFA625106A567900758660 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "Standard DMG";
+ };
+ name = Release;
+ };
+ 00CFA626106A567900758660 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "Developer Extras Package";
+ };
+ name = Release;
+ };
+ 00CFA627106A568900758660 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ GCC_ALTIVEC_EXTENSIONS = YES;
+ GCC_AUTO_VECTORIZATION = YES;
+ GCC_ENABLE_CPP_EXCEPTIONS = NO;
+ GCC_ENABLE_CPP_RTTI = NO;
+ GCC_ENABLE_SSE3_EXTENSIONS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ MACOSX_DEPLOYMENT_TARGET = 10.5;
+ SDKROOT = macosx;
+ WARNING_CFLAGS = "";
+ };
+ name = Debug;
+ };
+ 00CFA628106A568900758660 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 12.4;
+ FRAMEWORK_VERSION = A;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(GCC_PREPROCESSOR_DEFINITIONS)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_2)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_3)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_4)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ HEADER_SEARCH_PATHS = /usr/X11R6/include;
+ INFOPLIST_FILE = "Info-Framework.plist";
+ INSTALL_PATH = "@rpath";
+ OTHER_CFLAGS = "$(OTHER_CFLAGS_$(CURRENT_ARCH))";
+ OTHER_CFLAGS_i386 = "";
+ OTHER_CFLAGS_ppc = "";
+ PRODUCT_NAME = SDL;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Debug;
+ };
+ 00CFA629106A568900758660 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(GCC_PREPROCESSOR_DEFINITIONS)",
+ "SDL_VIDEO_DRIVER_DGA=1",
+ "SDL_VIDEO_DRIVER_X11=1",
+ "SDL_VIDEO_DRIVER_X11_DGAMOUSE=1",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_2)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_3)",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_4)",
+ "SDL_VIDEO_DRIVER_X11_VIDMODE=1",
+ "SDL_VIDEO_DRIVER_X11_XINERAMA=1",
+ "SDL_VIDEO_DRIVER_X11_XME=1",
+ "SDL_VIDEO_DRIVER_X11_XRANDR=1",
+ "SDL_VIDEO_DRIVER_X11_XV=1",
+ );
+ GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1 = "SDL_VIDEO_DRIVER_X11_DYNAMIC=\\\"/usr/X11R6/lib/libX11.6.dylib\\\"";
+ GCC_PREPROCESSOR_DEFINITIONS_QUOTED_2 = "SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT=\\\"/usr/X11R6/lib/libXext.6.dylib\\\"";
+ GCC_PREPROCESSOR_DEFINITIONS_QUOTED_3 = "SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR=\\\"/usr/X11R6/lib/libXrandr.2.dylib\\\"";
+ GCC_PREPROCESSOR_DEFINITIONS_QUOTED_4 = "SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER=\\\"/usr/X11R6/lib/libXrender.1.dylib\\\"";
+ HEADER_SEARCH_PATHS = /usr/X11R6/include;
+ OTHER_CFLAGS = "$(OTHER_CFLAGS_$(CURRENT_ARCH))";
+ OTHER_CFLAGS_i386 = "";
+ OTHER_CFLAGS_ppc = "";
+ PRODUCT_NAME = SDL;
+ };
+ name = Debug;
+ };
+ 00CFA62A106A568900758660 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = SDLmain;
+ };
+ name = Debug;
+ };
+ 00CFA62B106A568900758660 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "Standard DMG";
+ };
+ name = Debug;
+ };
+ 00CFA62C106A568900758660 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "Developer Extras Package";
+ };
+ name = Debug;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 003235571070933500C76517 /* Build configuration list for PBXAggregateTarget "Generate Doxygen DocSet" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 003235521070931700C76517 /* Debug */,
+ 003235531070931700C76517 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 0073177A0858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Framework" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 00CFA628106A568900758660 /* Debug */,
+ 00CFA622106A567900758660 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 0073177E0858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Static Library" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 00CFA629106A568900758660 /* Debug */,
+ 00CFA623106A567900758660 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 007317820858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Main Library" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 00CFA62A106A568900758660 /* Debug */,
+ 00CFA624106A567900758660 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 007317860858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Standard DMG" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 00CFA62B106A568900758660 /* Debug */,
+ 00CFA625106A567900758660 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 0073178A0858DB0500B2BC32 /* Build configuration list for PBXNativeTarget "Developer Extras Package" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 00CFA62C106A568900758660 /* Debug */,
+ 00CFA626106A567900758660 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 0073178E0858DB0500B2BC32 /* Build configuration list for PBXProject "SDL" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 00CFA627106A568900758660 /* Debug */,
+ 00CFA621106A567900758660 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/Readme SDL Developer.txt b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/Readme SDL Developer.txt
new file mode 100755
index 0000000..aa32284
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/Readme SDL Developer.txt
@@ -0,0 +1,282 @@
+SDL Mac OS X Developer Notes:
+ This is an optional developer package to provide extras that an
+ SDL developer might benefit from.
+
+ Make sure you have already installed the SDL.framework
+ from the SDL.dmg.
+
+ For more complete documentation, please see READMEs included
+ with the SDL source code. Also, don't forget about the API
+ documentation (also included with this package).
+
+
+This package contains:
+- SDL API Documentation
+- A variety of SDLMain and .Nib files to choose from
+- Xcode project templates
+
+
+SDL API Documentation:
+ We include both the HTML documentation and the man files.
+ And new to 1.2.14, we introduce an Xocde DocSet which
+ is generated via Doxygen. These require Xcode 3.0 or greater.
+
+ You will need to drill down into the XcodeDocSet directory
+ from the Documentation folder and find the
+ org.libsdl.sdl.docset bundle. We recommend you copy this to:
+
+ /Library/Developer/Shared/Documentation/DocSets
+
+ Again, this follows all the standard Xcode patterns
+ described with the project templates (below). You may need
+ to create the directories if they don't already exist.
+ You may install it on a per-user basis.
+ And you may target specific versions of Xcode
+ in lieu of using the "Shared" directory.
+
+ To use, it is quite simple. Just bring up the Xcode
+ Documentation Browser window (can be activated through
+ the Xcode Help Menu) and start searching for something.
+
+ If nothing is found on a legitimate search, verify that
+ the SDL documentation is enabled by opening up the DocSet
+ popup box below the toolbar in Snow Leopard.
+ (In Leopard, the DocSets appear in the left-side panel.)
+
+ Another handy trick is to use the mouse and Option-Double-Click
+ on a function or keyword to bring up documentation on the
+ selected item. Prior to Xcode 3.2 (Snow Leopard), this would
+ jump you to the entry in the Xcode Documentation Browser.
+
+ However, in Xcode 3.2 (Snow Leopard), this behavior has been
+ altered and you are now given a hovering connected popup box
+ on the selected item (called Quick Help). Unfortunately, the
+ Doxygen generated DocSet doesn't currently provide Quick Help
+ information. You can either follow a link to the main
+ Documentation Browser from the Quick Help, or alternatively,
+ you can bypass Quick Help by using Command-Option-Double-Click
+ instead of Option-Double-Click. (Please file feedback with both
+ Doxygen and Apple to improve Quick Help integration.)
+
+
+ For those that want to tweak the documentation output,
+ you can find my Doxyfile in the XcodeDocSet directory in
+ the Xcode directory of the SDL source code base (and in this package).
+
+ One of the most significant options is "Separate Member Pages"
+ which I disable. When disabled, the documentation is about 6MB.
+ When enabled, the documentation is closer to 1.6GB (yes gigabytes).
+ Obviously, distribution will be really hard with sizes that huge
+ so I disable the option.
+
+ I also disabled Dot because there didn't seem to be
+ much benefit of generating graphs for public C functions.
+
+ One thing I would like to see is a CSS file that makes the
+ Doxygen DocSet look more like the native Apple documentation
+ style. Style sheets are outside my expertise so I am asking for
+ contributions on this one. Meanwhile, I also request you send
+ feedback to Doxygen and Apple about this issue too.
+
+
+ Finally for convenience, I have added a new shell script target
+ to the Xcode project that builds SDL that refers to my Doxyfile
+ and generate the DocSet we distribute.
+
+
+SDLMain:
+ We include several different variations of SDLMain and the
+ .Nibs. (Each of these are demonstrated by the different PB/Xcode
+ project templates.) You get to pick which one you want to use,
+ or you can write your own to meet your own specific needs. We do
+ not currently provide a libSDLMain.a. You can build it yourself
+ once you decide which one you want to use though it is easier and
+ recommended in the SDL FAQ that you just copy the SDLMain.h and
+ SDLMain.m directly into your project. If you are puzzled by this,
+ we strongly recommend you look at the different PB/Xcode project
+ templates to understand their uses and differences. (See Project
+ Template info below.) Note that the "Nibless" version is the same
+ version of SDLMain we include the the devel-lite section of the
+ main SDL.dmg.
+
+
+Xocde Project Templates:
+ For convenience, we provide Project Templates for Xcode.
+ Using Xcode is *not* a requirement for using
+ the SDL.framework. However, for newbies, we do recommend trying
+ out the Xcode templates first (and work your way back to raw gcc
+ if you desire), as the Xcode templates try to setup everything
+ for you in a working state. This avoids the need to ask those
+ many reoccuring questions that appear on the mailing list
+ or the SDL FAQ.
+
+
+ We have provided 3 different kinds of SDL templates for Xcode and have
+ a different set of templates for each version of Xcode (which generally
+ correspond with a particular Mac OS X version).
+ The installion directory depends on which version of Xcode you have.
+ (Note: These directories may not already exist on your system so you must create them yourself.)
+
+ For Leopard and Snow Leopard (Xcode 2.5, 3+), we recommend you install to:
+ /Library/Application Support/Developer/Shared/Xcode/Project Templates/Application
+
+ For Xcode 1.0 to 2.4,
+ /Library/Application Support/Apple/Developer Tools/Project Templates/Appllcation
+
+
+ Also note you may place it in per-user locations, e.g.
+ ~/Library/Application Support/Developer/Shared/Xcode/Project Templates/Application
+
+
+ And for advanced users who have multiple versions of Xcode installed on a single system,
+ you may put each set in a directory with the Xcode version number instead of using "Shared", e.g.
+ /Library/Application Support/Developer/2.5/Xcode/Project Templates/Application
+ /Library/Application Support/Developer/3.1/Xcode/Project Templates/Application
+ /Library/Application Support/Developer/3.2/Xcode/Project Templates/Application
+
+
+ Copy each of the SDL/Xcode template directories into the correct location (e.g. "SDL OpenGL Application").
+ Do not copy our enclosing folder into the location (e.g. TemplatesForXcodeSnowLeopard).
+ So for example, in:
+ /Library/Application Support/Developer/Shared/Xcode/Project Templates/Application
+ you should have the 3 folders:
+ SDL Application
+ SDL Cocoa Application
+ SDL OpenGL Application
+
+
+ After doing this, when doing a File->New Project, you will see the
+ projects under the Application category.
+ (Newer versions of Xcode have a separate section for User Templates and it will
+ appear in the Application category of the User Templates section.)
+
+
+
+ How to create a new SDL project:
+
+ 1. Open Xcode
+ 2. Select File->New Project
+ 3. Select SDL Application
+ 4. Name, Save, and Finish
+ 5. Add your sources.
+ *6. That's it!
+
+ * If you installed the SDL.framework to $(HOME)/Library/Frameworks
+ instead of /Library/Frameworks, you will need to update the
+ location of the SDL.framework in the "Groups & Files" browser.
+
+
+ The project templates we provide are:
+ - SDL Application
+ This is the barebones, most basic version. There is no
+ customized .Nib file. While still utilizing Cocoa under
+ the hood, this version may be best suited for fullscreen
+ applications.
+
+ - SDL Cocoa Application
+ This demonstrates the integration of using native
+ Cocoa Menus with an SDL Application. For applications
+ designed to run in Windowed mode, Mac users may appreciate
+ having access to standard menus for things
+ like Preferences and Quiting (among other things).
+
+ - SDL OpenGL Application
+ This reuses the same SDLMain from the "SDL Application"
+ temmplate, but also demonstrates how to
+ bring OpenGL into the mix.
+
+
+Special Notes:
+Only the 10.6 Snow Leopard templates (and later) will include 64-bit in the Universal Binary as
+prior versions of OS X lacked the API support SDL requires for 64-bit to work correctly.
+To prevent 64-bit SDL executables from being launched on 10.5 Leopard, a special key has been set
+in the Info.plist in our Snow Leopard SDL/Xcode templates.
+
+
+Xcode Tips and Tricks:
+
+- Building from command line
+ Use the command line tool: xcodebuild (see man page)
+
+- Running your app
+ You can send command line args to your app by either
+ invoking it from the command line (in *.app/Contents/MacOS)
+ or by entering them in the "Executables" panel of the target
+ settings.
+
+- Working directory
+ As defined in the SDLMain.m file, the working directory of
+ your SDL app is by default set to its parent. You may wish to
+ change this to better suit your needs.
+
+
+
+Additional References:
+
+ - Screencast tutorials for getting started with OpenSceneGraph/Mac OS X are
+ available at:
+ http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/MacOSXTips
+ Though these are OpenSceneGraph centric, the same exact concepts apply to
+ SDL, thus the videos are recommended for everybody getting started with
+ developing on Mac OS X. (You can skim over the PlugIns stuff since SDL
+ doesn't have any PlugIns to worry about.)
+
+
+Partial History:
+2009-09-21 - CustomView template project was removed because it was broken by
+ the removal of legacy Quicktime support while moving to 64-bit.
+ ProjectBuilder templates were removed.
+ Tiger, Leopard, and Snow Leopard Xcode templates were introduced instead of
+ using a single common template due to the differences between the 3.
+ (Tiger used a chevron marker for substitution while Leopard/Snow Leopard use ___
+ and we need the 10.6 SDK for 64-bit.)
+
+2007-12-30 - Updated documentation to reflect new template paths in Leopard
+ Xcode. Added reference to OSG screencasts.
+
+2006-03-17 - Changed the package format from a .pkg based
+ installer to a .dmg to avoid requiring administrator/root
+ to access contents, for better transparency, and to allow
+ users to more easily control which components
+ they actually want to install.
+ Introduced and updated documentation.
+ Created brand new Xcode project templates for Xcode 2.1
+ based on the old Project Builder templates as they
+ required Xcode users to "Upgrade to Native Target". The new
+ templates try to leveage more default options and leverage
+ more Xcode conventions. The major change that may introduce
+ some breakage is that I now link to the SDL framework
+ via the "Group & Files" browser instead of using build
+ options. The downside to this is that if the user
+ installs the SDL.framework to a place other than
+ /Library/Frameworks (e.g. $(HOME)/Library/Frameworks),
+ the framework will not be found to link to and the user
+ has to manually fix this. But the upshot is (in addition to
+ being visually displayed in the forefront) is that it is
+ really easy to copy (embed) the framework automatically
+ into the .app bundle on build. So I have added this
+ feature, which makes the application potentially
+ drag-and-droppable ready. The Project Builder templates
+ are mostly unchanged due to the fact that I don't have
+ Project Builder. I did rename a file extension to .pbxproj
+ for the SDL Custom Cocoa Application template because
+ the .pbx extension would not load in my version of Xcode.
+ For both Project Builder and Xcode templates, I resync'd
+ the SDLMain.* files for the SDL App and OpenGL App
+ templates. I think people forget that we have 2 other
+ SDLMain's (and .Nib's) and somebody needs to go
+ through them and merge the new changes into those.
+ I also wrote a fix for the SDL Custom Cocoa App
+ template in MyController.m. The sprite loading code
+ needed to be able to find the icon.bmp in the .app
+ bundle's Resources folder. This change was needed to get
+ the app to run out of the box. This might change is untested
+ with Project Builder though and might break it.
+ There also seemed to be some corruption in the .nib itself.
+ Merely opening it and saving (allowing IB to correct the
+ .nib) seemed to correct things.
+ (Eric Wing)
+
+
+
+
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/SDL-devel.info b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/SDL-devel.info
new file mode 100755
index 0000000..698f1d6
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/SDL-devel.info
@@ -0,0 +1,15 @@
+Title SDL 1.2.9
+Version 1
+Description SDL Library for Mac OS X (http://www.libsdl.org)
+DefaultLocation /Developer/Documentation/SDL
+Diskname (null)
+DeleteWarning
+NeedsAuthorization YES
+DisableStop NO
+UseUserMask YES
+Application NO
+Relocatable NO
+Required NO
+InstallOnly NO
+RequiresReboot NO
+InstallFat NO
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/SDL.info b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/SDL.info
new file mode 100755
index 0000000..ca37a7f
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/SDL.info
@@ -0,0 +1,15 @@
+Title SDL 1.2.8
+Version 1
+Description SDL Library for Mac OS X (http://www.libsdl.org)
+DefaultLocation /Library/Frameworks
+Diskname (null)
+DeleteWarning
+NeedsAuthorization NO
+DisableStop NO
+UseUserMask NO
+Application NO
+Relocatable YES
+Required NO
+InstallOnly NO
+RequiresReboot NO
+InstallFat NO
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/ReadMe.txt b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/ReadMe.txt
new file mode 100755
index 0000000..f4fe361
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/ReadMe.txt
@@ -0,0 +1,5 @@
+The Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators.
+
+The Simple DirectMedia Layer library source code is available from: http://www.libsdl.org/
+
+This library is distributed under the terms of the GNU LGPL license: http://www.gnu.org/copyleft/lesser.html \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/Welcome.txt b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/Welcome.txt
new file mode 100755
index 0000000..9b0d286
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/Welcome.txt
@@ -0,0 +1,5 @@
+This package installs documentation and Project Builder stationary for the SDL framework.
+
+The SDL documentation is installed into /Developer/Documentation/SDL.
+
+The SDL Mac OS X Readme is installed into your home directory.
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/install.sh b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/install.sh
new file mode 100755
index 0000000..e7a4ded
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/devel-resources/install.sh
@@ -0,0 +1,76 @@
+#!/bin/sh
+# finish up the installation
+# this script should be executed using the sudo command
+# this file is copied to SDL-devel.post_install and SDL-devel.post_upgrade
+# inside the .pkg bundle
+echo "Running post-install script"
+umask 022
+
+USER=`basename ~`
+echo "User is \"$USER\""
+
+ROOT=/Developer/Documentation/SDL
+echo "Fixing framework permissions"
+find $ROOT -type d -exec chmod a+rx {} \;
+find $ROOT -type f -exec chmod a+r {} \;
+
+## We're not installing frameworks here anymore. The single
+## framework should be installed to /Library/Frameworks which
+## is handled by the standard package (not developer package).
+## Using the home directory here is problematic for multi-user systems too.
+# echo "Moving SDL.framework to ~/Library/Frameworks"
+# move SDL to its proper home, so the target stationary works
+#sudo -u $USER mkdir -p ~/Library/Frameworks
+#sudo -u $USER /Developer/Tools/CpMac -r $ROOT/SDL.framework ~/Library/Frameworks
+
+## I'm not sure where this gets created and what's put in there.
+rm -rf $ROOT/SDL.framework
+
+## I think precompiled headers have changed through the revisions of Apple's gcc.
+## I don't know how useful this is anymore w.r.t. Apple's newest system for precompiled headers.
+## I'm removing this for now.
+# echo "Precompiling Header"
+# precompile header for speedier compiles
+#sudo -u $USER /usr/bin/cc -precomp ~/Library/Frameworks/SDL.framework/Headers/SDL.h -o ~/Library/Frameworks/SDL.framework/Headers/SDL.p
+
+# find the directory to store stationary in
+if [ -e "/Library/Application Support/Apple/Developer Tools" ] ; then
+ echo "Installing project stationary for XCode"
+ PBXDIR="/Library/Application Support/Apple/Developer Tools"
+else
+ echo "Installing project stationary for Project Builder"
+ PBXDIR="/Developer/ProjectBuilder Extras"
+fi
+
+# move stationary to its proper home
+mkdir -p "$PBXDIR/Project Templates/Application"
+mkdir -p "$PBXDIR/Target Templates/SDL"
+
+cp -r "$ROOT/Project Stationary/SDL Application" "$PBXDIR/Project Templates/Application/"
+cp -r "$ROOT/Project Stationary/SDL Cocoa Application" "$PBXDIR/Project Templates/Application/"
+cp -r "$ROOT/Project Stationary/SDL Custom Cocoa Application" "$PBXDIR/Project Templates/Application/"
+cp -r "$ROOT/Project Stationary/SDL OpenGL Application" "$PBXDIR/Project Templates/Application/"
+cp "$ROOT/Project Stationary/Application.trgttmpl" "$PBXDIR/Target Templates/SDL/"
+
+rm -rf "$ROOT/Project Stationary"
+
+# Actually, man doesn't check this directory by default, so this isn't
+# very helpful anymore.
+#echo "Installing Man Pages"
+## remove old man pages
+#rm -rf "/Developer/Documentation/ManPages/man3/SDL"*
+#
+## install man pages
+#mkdir -p "/Developer/Documentation/ManPages/man3"
+#cp "$ROOT/docs/man3/SDL"* "/Developer/Documentation/ManPages/man3/"
+#rm -rf "$ROOT/docs/man3"
+#
+#echo "Rebuilding Apropos Database"
+## rebuild apropos database
+#/usr/libexec/makewhatis
+
+# copy README file to your home directory
+sudo -u $USER cp "$ROOT/Readme SDL Developer.txt" ~/
+
+# open up the README file
+sudo -u $USER open ~/"Readme SDL Developer.txt"
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/License.rtf b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/License.rtf
new file mode 100755
index 0000000..706980d
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/License.rtf
@@ -0,0 +1,283 @@
+{\rtf1\mac\ansicpg10000\cocoartf102
+{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fswiss\fcharset77 Helvetica-Oblique;
+}
+{\colortbl;\red255\green255\blue255;\red64\green64\blue64;}
+\paperw11900\paperh16840\margl1440\margr1440\vieww9080\viewh13160\viewkind0
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\qc
+
+\f0\b\fs36 \cf0 GNU LESSER GENERAL PUBLIC LICENSE
+\fs24 \
+Version 2.1, February 1999
+\f1\b0 \
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf0 \
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\qc
+
+\f2\i \cf0 Copyright (C) 1991, 1999 Free Software Foundation, Inc.\
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\
+ Everyone is permitted to copy and distribute verbatim copies\
+ of this license document, but changing it is not allowed.\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+
+\f1\i0 \cf0 \
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf2 [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]\cf0 \
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\qc
+
+\f0\b \cf0 Preamble
+\f1\b0 \
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf0 \
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.\
+\
+This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below.\
+\
+When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.\
+\
+To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it.\
+\
+For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights.\
+\
+We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.\
+\
+To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.\
+\
+Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license.\
+\
+Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We this license for certain libraries in order to permit linking those libraries into non-free programs.\
+\
+When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.\
+\
+We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances.\
+\
+For example, on rare occasions, there may be a special need to encourage widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License.\
+\
+Another cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.\
+\
+Although the Lesser General Public License is Less protective of the users' freedom, it does insure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library.\
+\
+The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.\
+\
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\qc
+
+\f0\b \cf0 GNU LESSER GENERAL PUBLIC LICENSE\
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+
+\f1\b0 \cf0 \
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+
+\f0\b \cf0 0.
+\f1\b0 This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".\
+\
+A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.\
+\
+The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)\
+\
+"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.\
+\
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.\
+ \
+
+\f0\b 1.
+\f1\b0 You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.\
+\
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.\
+\
+
+\f0\b 2.
+\f1\b0 You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:\
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\li240\ql\qnatural
+
+\f0\b \cf0 a)
+\f1\b0 The modified work must itself be a software library.\
+\
+
+\f0\b b)
+\f1\b0 You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.\
+\
+
+\f0\b c)
+\f1\b0 You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.\
+\
+
+\f0\b d)
+\f1\b0 If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.\
+\
+(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf0 \
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.\
+\
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.\
+\
+In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.\
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+
+\f0\b \cf0 3.
+\f1\b0 You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.\
+\
+Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.\
+\
+This option is useful when you wish to copy part of the code of the Library into a program that is not a library.\
+\
+
+\f0\b 4.
+\f1\b0 You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.\
+\
+If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.\
+\
+
+\f0\b 5.
+\f1\b0 A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.\
+\
+However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.\
+\
+When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.\
+\
+If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)\
+\
+Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.\
+\
+
+\f0\b 6.
+\f1\b0 As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.\
+\
+You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:\
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\li240\ql\qnatural
+
+\f0\b \cf0 a)
+\f1\b0 Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)\
+\
+
+\f0\b b)
+\f1\b0 Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.\
+\
+
+\f0\b c)
+\f1\b0 Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.\
+\
+
+\f0\b d)
+\f1\b0 If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.\
+\
+
+\f0\b e)
+\f1\b0 Verify that the user has already received a copy of these materials or that you have already sent this user a copy.\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf0 \
+For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.\
+\
+It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.\
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+
+\f0\b \cf0 7.
+\f1\b0 You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:\
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\li240\ql\qnatural
+
+\f0\b \cf0 a)
+\f1\b0 Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.\
+\
+
+\f0\b b)
+\f1\b0 Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf0 \
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+
+\f0\b \cf0 8.
+\f1\b0 You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.\
+\
+
+\f0\b 9.
+\f1\b0 You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.\
+\
+
+\f0\b 10.
+\f1\b0 Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.\
+\
+
+\f0\b 11.
+\f1\b0 If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.\
+\
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.\
+\
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.\
+\
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.\
+\
+
+\f0\b 12.
+\f1\b0 If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.\
+\
+
+\f0\b 13.
+\f1\b0 The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.\
+\
+Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.\
+\
+
+\f0\b 14.
+\f1\b0 If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.\
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\qc
+
+\f0\b \cf0 NO WARRANTY
+\f1\b0 \
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf0 \
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+
+\f0\b \cf0 15.
+\f1\b0 BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\
+\
+
+\f0\b 16.
+\f1\b0 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\qc
+
+\f0\b \cf0 END OF TERMS AND CONDITIONS
+\f1\b0 \
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf0 \
+\
+How to Apply These Terms to Your New Libraries\
+\
+If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License).\
+\
+To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.\
+\
+\pard\tx220\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\li240\ql\qnatural
+\cf0 <one line to give the library's name and a brief idea of what it does.>\
+Copyright (C) <year> <name of author>\
+\
+This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\
+\
+This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.\
+\
+You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf0 \
+Also add information on how to contact you by electronic and paper mail.\
+\
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:\
+\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\li240\ql\qnatural
+\cf0 Yoyodyne, Inc., hereby disclaims all copyright interest in the library\
+`Frob' (a library for tweaking knobs) written by James Random Hacker.\
+\
+<signature of Ty Coon>, 1 April 1990\
+Ty Coon, President of Vice\
+\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural
+\cf0 \
+That's all there is to it!\
+\
+} \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/ReadMe.txt b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/ReadMe.txt
new file mode 100755
index 0000000..0731150
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/ReadMe.txt
@@ -0,0 +1,171 @@
+The Simple DirectMedia Layer (SDL for short) is a cross-platform
+library designed to make it easy to write multi-media software,
+such as games and emulators.
+
+The Simple DirectMedia Layer library source code is available from:
+http://www.libsdl.org/
+
+This library is distributed under the terms of the GNU LGPL license:
+http://www.gnu.org/copyleft/lesser.html
+
+
+This packages contains the SDL.framework for OS X.
+Conforming with Apple guidelines, this framework
+contains both the SDL runtime component and development header files.
+
+
+To Install:
+Copy the SDL.framework to /Library/Frameworks
+
+You may alternatively install it in <Your home directory>/Library/Frameworks
+if your access privileges are not high enough.
+(Be aware that the Xcode templates we provide in the SDL Developer Extras
+package may require some adjustment for your system if you do this.)
+
+
+Known Issues:
+???
+
+
+Additional References:
+
+ - Screencast tutorials for getting started with OpenSceneGraph/Mac OS X are
+ available at:
+ http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/MacOSXTips
+ Though these are OpenSceneGraph centric, the same exact concepts apply to
+ SDL, thus the videos are recommended for everybody getting started with
+ developing on Mac OS X. (You can skim over the PlugIns stuff since SDL
+ doesn't have any PlugIns to worry about.)
+
+
+
+(Partial) History of PB/Xcode projects:
+2009-09-21 - Added 64-bit for Snow Leopard. 10.4 is the new minimum requirement.
+ Removed 'no X11' targets as
+ new codebase will assume you have them. Also removed specific #defines
+ for X11, but needed to add search path to /usr/X11R6/include
+
+2007-12-31 - Enabled strip -x in the Xcode settings and removed it
+ from the Build DMG script.
+ Added a per-arch setting for the Deployment targets for OTHER_LDFLAGS_ppc
+ to re-enable prebinding.
+ Need to remember to copy these changes to the SDL satellite projects.
+
+2007-12-30 - Updated documentation to reflect new installation paths for
+ Xcode project templates under Leopard (Xcode 2.5/3.0).
+
+????-??-?? - Added extra targets for building formal releases against the
+ 10.2 SDK so we don't have to keep modifying the settings.
+
+????-??-?? - Added fancy DMG (background logo) support with automation.
+
+2006-05-09 - Added shell script phase to deal with new SDL_config.h
+ behavior. Encountered what seems to be an Xcode bug with
+ multiple files of the same name, even when conditional compiling
+ is controlled by custom #defines (SDL_sysloadso.c). Multiple or
+ undefined symbols are the result of this.
+ Recommended that macosx/SDL_sysloadso.c be modified to directly
+ include the dlopen version of the file via #ifdef's so only
+ one version needs to exist. Filed a formal bug report with Apple
+ about this (4542369).
+
+2006-03-22 - gcc 4 visibility features have been added to the code base so I
+ enabled the switch in Xcode to take advantage of it. Be aware that only
+ our x86 builds will be exposed to this feature as we still build ppc
+ with gcc 3.3.
+
+ Christian Walther has sent me some great feedback on things that are
+ broken, so I have made some of these fixes. Among the issues are
+ compatibility and current library versions are not set to 1 (breaks
+ backwards compatibility), documentation errors, resource copying
+ location problems for the SDLTest apps, missing HAVE_OPENGL and
+ OpenGL.framework linking in testgl.
+ (Eric Wing)
+
+2006-03-17 - Because the X11 headers are not installed by default with Xcode,
+ we decided to offer two variants of the same targets (one with X11 stuff
+ and one without). By default, since the X11 stuff does not necessarily
+ conflict with the native stuff, we build the libraries with the X11 stuff
+ so advanced developers can access it by default. However, in the case
+ that a developer did not install X11 (or just doesn't want the extra bloat),
+ the user may directly select those targets and build those instead.
+
+ Once again, we are attempting to remove the exported symbols file. If
+ I recall correctly, the clashing symbol problems we got were related
+ to the CD-ROM code which was formerly in C++. Now that the C++ code
+ has been purged, we are speculating that we might be able to remove
+ the exports file safely. The long term solution is to utilize gcc 4's
+ visibility features.
+
+ For the developer extras package, I changed the package format
+ from a .pkg based installer to a .dmg to avoid requiring
+ administrator/root to access contents, for better
+ transparency, and to allow users to more easily control which components
+ they actually want to install.
+ I also made changes and updates to the PB/Xcode project templates (see Developer ReadMe).
+ (Eric Wing)
+
+2006-03-07 - The entire code base has been reorganized and platform specific
+ defines have been pushed into header files (SDL_config_*.h). This means
+ that defines that previously had to be defined in the Xcode projects can
+ be removed (which I have started doing). Furthermore, it appears that the
+ MMX/SSE code has been rewritten and refactored so it now compiles without
+ nasm and without making us do strange things to support OS X. However, this
+ Xcode project still employs architecture specific build options in order to
+ achieve the mandated 10.2 compatibility. As a result of the code base changes,
+ there are new public headers. But also as a result of these changes, there are
+ also new headers that qualify as "PrivateHeaders". Private Headers are headers
+ that must be exported because a public header includes them, but users shouldn't
+ directly invoke these. SDL_config_macosx.h and SDL_config_dreamcast.h are
+ examples of this. We have considered marking these headers as Private, but it
+ requires that the public headers invoke them via framework conventions, i.e.
+ #include <FrameworkName/Header.h>
+ e.g.
+ #include <SDL/SDL_config_macosx.h>
+ and not
+ #include "SDL_config_macosx.h"
+ However this imposes the restriction that non-framework distributions must
+ place their headers in a directory called SDL/ (and not SDL11/ like FreeBSD).
+ Currently, I do not believe this would pose a problem for any of the current
+ distributions (Fink, DarwinPorts). Or alternatively, users could be
+ expected/forced to also include the header path:
+ -I/Library/Frameworks/SDL.framework/PrivateHeaders,
+ but most people would probably not read the documentation on this.
+ But currently, we have decided to be conservative and have opted not to
+ use the PrivateHeaders feature.
+ (Eric Wing)
+
+2006-01-31 - Updates to build Universal Binaries while retaining 10.2 compatibility.
+ We were unable to get MMX/SSE support enabled. It is believed that a rewrite of
+ the assembly code will be necessary to make it position independent and not
+ require nasm. Altivec has finally been enabled for PPC. (Eric Wing)
+
+2005-09-?? - Had to add back the exports file because it was causing build problems
+ for some cases. (Eric Wing)
+
+2005-08-21 - First entry in history. Updated for SDL 1.2.9 and Xcode 2.1. Getting
+ ready for Universal Binaries. Removed the .pkg system for .dmg for due to problems
+ with broken packages in the past several SDL point releases. Removed usage of SDL
+ exports file because it has become another point of failure. Introduced new documentation
+ about SDLMain and how to compile in an devel-lite section of the SDL.dmg. (Eric Wing)
+
+Before history:
+SDL 1.2.6? to 1.2.8
+Started updating Project Builder projects to Xcode for Panther and Tiger. Also removed
+the system that split the single framework into separate runtime and headers frameworks.
+This is against Apple conventions and causes problems on multiuser systems.
+We now distribute a single framework.
+The .pkg system has repeatedly been broken with every new release of OS X.
+With 1.2.8, started migrating stuff to .dmg based system to simplify distribution process.
+Tried updating the exports file and Perl script generation system for changing syntax. (Eric Wing)
+
+Pre-SDL 1.2.6
+Created Project Builder projects for SDL and .pkg based distribution system. (Darrell Walisser)
+
+
+
+
+
+
+
+
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/ReadMeDevLite.txt b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/ReadMeDevLite.txt
new file mode 100644
index 0000000..d2cd793
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/ReadMeDevLite.txt
@@ -0,0 +1,12 @@
+This directory is for developers. This directory contains some basic essentials you will need for developing SDL based applications on OS X. The SDL-devel package contains all of this stuff plus more, so you can ignore this if you install the SDL-devel.pkg. The SDL-devel package contains Xcode templates, SDL documentation, and different variations of SDLmain and NIB files for SDL.
+
+To compile an SDL based application on OS X, SDLMain.m must be compiled into your program. (See the SDL FAQ). The SDL-devel.pkg includes Xcode templates which already do this for you. But for those who may not want to install the dev package, an SDLMain is provided here as a convenience. Be aware that there are different variations of SDLMain.m depending on what class of SDL application you make and they are intended to work with NIB files. Only one SDLMain variant is provided here and without any NIB files. You should look to the SDL-devel package for the others. We currently do not provide a SDLMain.a file, partly to call to attention that there are different variations of SDLmain.
+
+To build from the command line, your gcc line will look something like this:
+
+gcc -I/Library/Frameworks/SDL.framework/Headers MyProgram.c SDLmain.m -framework SDL -framework Cocoa
+
+An SDL/OpenGL based application might look like:
+
+gcc -I/Library/Frameworks/SDL.framework/Headers -I/System/Library/Frameworks/OpenGL.framework/Headers MyProgram.c SDLmain.m -framework SDL -framework Cocoa -framework OpenGL
+
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/SDL_DS_Store b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/SDL_DS_Store
new file mode 100644
index 0000000..f15a5e7
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/SDL_DS_Store
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/UniversalBinaryNotes.rtf b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/UniversalBinaryNotes.rtf
new file mode 100644
index 0000000..5585ecb
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/resources/UniversalBinaryNotes.rtf
@@ -0,0 +1,150 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf110
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 LucidaGrande;\f2\fmodern\fcharset0 Courier-Oblique;
+}
+{\colortbl;\red255\green255\blue255;}
+{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}}
+{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
+
+\f0\b\fs24 \cf0 64-bit Universal Binary Notes:\
+
+\b0 \
+SDL 1.2.14 is our first release with Snow Leopard on the market. In order to make SDL compile and run in 64-bit, we had to remove code that depended on deprecated Mac APIs and move over to more modern Mac APIs.\
+\
+In addition, Apple has stopped shipping gcc 3.3 and the 10.3 SDK.\
+\
+Because of all these combined factors, we have made the decision to make Mac OS X 10.4 the new minimum requirement for SDL.\
+\
+Our official SDL.framework is compiled as a 3-way Universal Binary (64-bit Intel, 32-bit Intel, 32-bit PowerPC.)\
+\
+Certain APIs that SDL relies on were not made 64-bit ready by Apple until 10.6. This means even though 10.5 had preliminary 64-bit support, SDL will not compile or run correctly in 64-bit mode on 10.5. So there are two fallout items from this.\
+\
+First, you can only compile 64-bit code on Snow Leopard or greater (which removes the possibility of 64-bit PowerPC). \
+\
+Second, this presents a corner-case where if you have a 64-bit Intel executable in your Universal binary and try to run on 10.5 on an 64-bit Intel Mac, it will launch and crash. To force 10.5 to use the 32-bit version instead of the 64-bit, you should set the LaunchServices key, LSMinimumSystemVersionByArchitecture, in your application's Info.plist. Our SDL/Xcode templates for Snow Leopard already set this up for you.\
+\
+\
+One additional fallout item is we had to remove the SDL Custom Cocoa Xcode template project. It depended on NSQuickTimeView which was deprecated and removed from the SDL codebase. It may still be possible to recreate the behavior that this template demonstrated, but we would need a volunteer to investigate this.\
+\
+\
+\
+In addition, the SDL satellite projects were affected by the 64-bit transition.\
+\
+- SDL_mixer depended on legacy Quicktime for midi playback support. We had to disable midi. (Recall that we also disabled MP3 support awhile back because we never got SMPEG working during the Tiger/Intel transition.) To fix this, we would need a native Core Audio backend for SDL_mixer.\
+\
+- Since we have changed the baseline to 10.4, we took this opportunity to switch SDL_image over to a new native ImageIO based backend. This makes the binary about 10x smaller, greatly simplifies our maintenance requirements and build process as we no longer have to maintain build systems for 3rd party dependencies, and gives us access to more image formats.\
+\
+- The static library target for SDL_ttf no longer works because we no longer have access to a libfreetype.a. We have been relying on Apple's supplied libfreetype.a, but they stopped shipping a static version starting in 10.5 which means we have no static 64-bit version. But since 10.4 is our new baseline, all these systems should have libfreetype.dylib installed, so it shouldn't be much of a problem to use SDL_ttf as a dynamic library which dynamically links to libfreetype.\
+\
+\
+-Eric Wing 2009-09-23\
+
+\b \
+\
+\
+\
+Universal Binary Notes: (historical, somewhat obsolete)\
+
+\b0 \
+Below is an overview of what we had to do to build Universal Binaries for SDL (and satellites). The document is provided to help others understand what the heck we had to do to get this to work so they know (and don't break) any settings we have set to accomplish this. It also describes areas of problems for those who might attempt to fix them after us.\
+\
+\
+It turns out that developing a Universal Binary for SDL was a painful process, but not for the typical reasons affecting most other developers. SDL is already platform clean and has an Xcode project which are usually the two biggest obstacles. (The only real code bug we had to fix was in SDL_mixer, but that was due to a Quicktime issue so we can blame the Quicktime authors.)\
+\
+But developing a Universal Binary was painful to us for several reasons:\
+\
+\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\ql\qnatural\pardirnatural
+\ls1\ilvl0\cf0 {\listtext \'95 }SDL must retain compatibility with 10.2 (Jaguar)\
+\
+{\listtext \'95 }SDL has processor specific optimizations (Altivec, MMX/SSE)\
+\
+{\listtext \'95 }The SDL satellites (SDL_mixer, SDL_image, SDL_ttf) have 3rd party dependencies which we currently statically link against. All of these dependencies needed to be updated/recompiled with the same above constraints.\
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
+\cf0 \
+For retaining compatibility with 10.2, we have experimentally determined that there is no reliable way to use gcc 4.0.x to compile a binary that works under Jaguar. With the gcc 4.0 that shipped in Xcode 2.1, libgcc_s was automatically linked against. This library does not exist on systems prior to 10.3.9. After filing a bug report, Apple removed this automatic linking in gcc 4.0.1 which shipped with Xcode 2.2, but we discovered that we suffered from undefined symbols to things in the printf family library. (They seem to be new symbols related to printing long doubles, etc.)\
+\
+So to accomplish our compatibility goals, we had to find and exploit some lesser known features of Xcode that allow us to specify architecture specific build flags found here:\
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
+{\field{\*\fldinst{HYPERLINK "http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide/Contents/Resources/en.lproj/05_07_bs_building_product/chapter_33_section_6.html#//apple_ref/doc/uid/TP40002693-SW3"}}{\fldrslt \cf0 http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide/Contents/Resources/en.lproj/05_07_bs_building_product/chapter_33_section_6.html#//apple_ref/doc/uid/TP40002693-SW3}}\
+\
+The first and most important of these is the
+\f1 GCC_VERSION flag which lets us set gcc 3.3 for PowerPC and gcc 4.0 for Intel.\
+\
+But we also needed to verify other options such as the deployment target and SDK. Experimentally, we found that the Deployment target did very little for us except retain prebinding. Setting it to anything less than 10.4 allows for prebinding to remain active.\
+\
+For the SDK's, we found that Apple does link against different versions of system components. But experimentally, we discovered we could still link to the 10.4u SDK and things would still work on Jaguar. Ideally we should probably link to the 10.2.8 SDK for PowerPC. But in reality, most people don't install the 10.2.8 SDK on their system (it is not a default component) so we didn't want to confuse people as setting this would likely cause people's compile to fail the first time they try and they would have to understand the reason for this. We did leave the architecture specific SDKROOT option set explicitly to make it easy to change in case we need to.\
+\
+For the Altivec and MMX/SSE options, we had to use architecture specific build flags. Furthermore, to use SSE, we also had to include the assembly code. This caused us problems because there is no easy way to tell Xcode to use files only for a specific architecture. So the PowerPC side got confused on the .asm files and would fail to compile. \
+\
+Pushing forward, we ignored PPC for the moment to see if we could at least build an optimized x86 build and then use lipo manually to merge the results. We encountered additional problems. First the alignment needed to be changed for reasons outside my knowledge base. We changed all instances of .align 16 to .align 8. This seemed to fix the compile problems. But at the linking stage, we got errors such as:\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li640\fi-640\ql\qnatural\pardirnatural
+
+\f2\i\fs22 \cf0 ld: /Users/ewing/DEVELOPMENT/CODETEST/UniversalBinarySDL/SDL12/Xcode/SDL/build/SDL.build/Deployment/Framework.build/Objects-normal/i386/SDL_yuv_mmx.o has local relocation entries in non-writable section (__TEXT,__text)\
+/usr/bin/libtool: internal link edit command failed\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f1\i0\fs24 \cf0 \
+Our belief is that the assembly code is not position independent and thus will not work for us. We double checked for any OS X gcc flags that control position independence, but everything seemed to be in order. As such, we cannot compile MMX/SSE optimizations until they are rewritten, preferably without the nasm requirement to accommodate the dual PPC/x86 Xcode limitations.\
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
+\cf0 \
+So for now, we have unchecked (checkbox) the assembly specific files in the Xcode project and have removed the -DUSE_ASMBLIT flag from OTHER_CFLAGS_i386. To reactivate this stuff, you will need to recheck the boxes and re-add the flag.\
+\
+The files are\
+SDL_mixer_MMX.c/h\
+The files under hermes\
+and SDL_yuv_mmx.c\
+\
+\
+\
+For the SDL satellites, it was more of the same. The painful part was that the 3rd library dependencies needed to be rebuilt. (Some of our libraries were out of date, so this was an opportunity to update them.) But this meant changing those build systems as well. \
+\
+These are the versions I used:\
+libpng-1.2.8\
+libjpeg-6b\
+libogg-1.1.3\
+libvorbis-1.1.2\
+smpeg cvs\
+\
+We found that Apple already had a libfreetype in the 10.4u SDK so we just used that one which seemed to work. (For the record, the question did come up of why we statically link against this when it seems to be a standard component on Panther and Tiger. We double checked, and it did not seem to be in Jaguar. So that's why.)\
+\
+The old libpng turned out to be from the 1.0.x branch so we needed to replace all the headers we had as well. Updating to the 1.2.x branch didn't seem to cause any problems we could detect.\
+\
+libpng and libjpeg lack an Xcode project so we mucked with their build system to produce Universal Binaries. But since we needed PPC to be compiled with 3.3 and Intel to be compiled with 4.0, it ended up that we built multiple times changing the compiler, and then using lipo to strip and combine the binaries.\
+\
+libogg/libvorbis did contain Xcode projects, but didn't build static libraries so we had to add that. We also discovered that not building with gcc 3.3 caused us addition missing symbol runtime problems with float versions of math functions (sinf, sqrtf, etc).\
+\
+It seems that once upon a time, the SDL_mixer framework supported MP3's via SMPEG, but this disappeared at some point. I don't know why or how this happened. But I also don't know how SMPEG was ever used with the framework as there was no preexisting infrastructure as with the other libraries. So I have attempted to correct this oversight, however, the SMPEG framework itself has MMX code which has also turned out to be problematic. I am getting compiler errors of "
+\f2\i\fs22 Unknown pseudo-op:"
+\f1\i0\fs24 for
+\f2\i\fs22 .type
+\f1\i0\fs24 and
+\f2\i\fs22 .size.
+\f1\i0\fs24 \
+So SMPEG is currently compiled without MMX optimizations.\
+\
+\
+\
+\
+Addendum: \
+2006-03-06:\
+The main SDL code base (not the satellites) have undergone an overhaul. The required platform specific defines have been moved out of the build system into platform specific header files (SDL_config_*.h). This allows us to simplify the Xcode projects somewhat, but we still must maintain the architecture specific build options to invoke gcc 3.3 to maintain our mandated 10.2 compatibilty requirement.\
+\
+Also it appears that the MMX/SSE code has been rewritten as well so that the obstacles we faced in compiling in these optimizations are no longer problems. The binaries we produce should now contain the processor specific optimizations. (Remember this note only applies to SDL and not the satellites, such as SMPEG.)\
+\
+\
+\
+Contributers:\
+Eric Wing (Xcode projects, 3rd party dependencies, documentation)\
+Christian Walther (10.2.8 and 10.3.9 testing/verification)\
+Ryan Gordon (converted C++ code in SDL/OSX code base to pure C)\
+Martin Storsj\'f6 (libgcc_s testing/verification)\
+Stephane Marchesin (MMX/SSE code expert)\
+\
+\
+\
+\
+\
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
+
+\f0 \cf0 \
+} \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/sdl_logo.pdf b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/sdl_logo.pdf
new file mode 100644
index 0000000..a172f97
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDL/pkg-support/sdl_logo.pdf
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-checkkeys__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-checkkeys__Upgraded_.plist
new file mode 100644
index 0000000..69321e3
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-checkkeys__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>checkkeys</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-graywin__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-graywin__Upgraded_.plist
new file mode 100644
index 0000000..0a9c04b
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-graywin__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>graywin</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-loopwave__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-loopwave__Upgraded_.plist
new file mode 100644
index 0000000..5f66864
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-loopwave__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>loopwave</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-test.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-test.plist
new file mode 100644
index 0000000..60d5db5
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-test.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testalpha</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testalpha__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testalpha__Upgraded_.plist
new file mode 100644
index 0000000..60d5db5
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testalpha__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testalpha</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testbitmap__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testbitmap__Upgraded_.plist
new file mode 100644
index 0000000..87ec271
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testbitmap__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testbitmap</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testblitspeed.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testblitspeed.plist
new file mode 100644
index 0000000..c7fbcfe
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testblitspeed.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testblitspeed</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testcdrom__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testcdrom__Upgraded_.plist
new file mode 100644
index 0000000..dde6614
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testcdrom__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testcdrom</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testdyngl.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testdyngl.plist
new file mode 100644
index 0000000..1874119
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testdyngl.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testdyngl</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testerror__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testerror__Upgraded_.plist
new file mode 100644
index 0000000..11cc0fd
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testerror__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testerror</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testfile.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testfile.plist
new file mode 100644
index 0000000..6488b54
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testfile.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testfile</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testgamma__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testgamma__Upgraded_.plist
new file mode 100644
index 0000000..6a6b5af
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testgamma__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testgamma</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testgl__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testgl__Upgraded_.plist
new file mode 100644
index 0000000..eecc9cc
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testgl__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testgl</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testiconv.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testiconv.plist
new file mode 100644
index 0000000..0ff003f
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testiconv.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testiconv</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testjoystick__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testjoystick__Upgraded_.plist
new file mode 100644
index 0000000..ef2e274
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testjoystick__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testjoystick</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testkeys__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testkeys__Upgraded_.plist
new file mode 100644
index 0000000..03eba70
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testkeys__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testkeys</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testlock__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testlock__Upgraded_.plist
new file mode 100644
index 0000000..50b71f2
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testlock__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testlock</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testoverlay2.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testoverlay2.plist
new file mode 100644
index 0000000..664e0ce
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testoverlay2.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testoverlay2</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testoverlay__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testoverlay__Upgraded_.plist
new file mode 100644
index 0000000..a7a8a77
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testoverlay__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string></string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testpalette__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testpalette__Upgraded_.plist
new file mode 100644
index 0000000..a08947e
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testpalette__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testpalette</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testplatform.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testplatform.plist
new file mode 100644
index 0000000..9b60de2
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testplatform.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testplatform</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testsem__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testsem__Upgraded_.plist
new file mode 100644
index 0000000..69235fe
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testsem__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testsem</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testsprite__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testsprite__Upgraded_.plist
new file mode 100644
index 0000000..91739c1
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testsprite__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testsprite</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testthread__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testthread__Upgraded_.plist
new file mode 100644
index 0000000..30147f0
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testthread__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testthread</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testtimer__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testtimer__Upgraded_.plist
new file mode 100644
index 0000000..a143244
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testtimer__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testtimer</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testtypes__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testtypes__Upgraded_.plist
new file mode 100644
index 0000000..f16490c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testtypes__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testtypes</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testversion__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testversion__Upgraded_.plist
new file mode 100644
index 0000000..ba635f7
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testversion__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testversion</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testvidinfo__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testvidinfo__Upgraded_.plist
new file mode 100644
index 0000000..35f13b4
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testvidinfo__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testvidinfo</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testwin__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testwin__Upgraded_.plist
new file mode 100644
index 0000000..f0e91c6
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testwin__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testwin</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testwm__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testwm__Upgraded_.plist
new file mode 100644
index 0000000..9979ee4
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-testwm__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>testwm</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-threadwin__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-threadwin__Upgraded_.plist
new file mode 100644
index 0000000..721763d
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-threadwin__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>threadwin</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/Info-torturethread__Upgraded_.plist b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-torturethread__Upgraded_.plist
new file mode 100644
index 0000000..3433469
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/Info-torturethread__Upgraded_.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>torturethread</string>
+ <key>CFBundleGetInfoString</key>
+ <string></string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string></string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string></string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1d1</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain.nib</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..938d60f
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj
@@ -0,0 +1,4514 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXAggregateTarget section */
+ BEC566920761D90300A33029 /* All */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = 001B599808BDB826006539E9 /* Build configuration list for PBXAggregateTarget "All" */;
+ buildPhases = (
+ );
+ dependencies = (
+ 003FA6A809400236000C53B3 /* PBXTargetDependency */,
+ BEC568010761D90600A33029 /* PBXTargetDependency */,
+ BEC568030761D90600A33029 /* PBXTargetDependency */,
+ BEC568050761D90600A33029 /* PBXTargetDependency */,
+ BEC568070761D90600A33029 /* PBXTargetDependency */,
+ BEC568090761D90600A33029 /* PBXTargetDependency */,
+ 002F347909CA215600EBEB88 /* PBXTargetDependency */,
+ BEC5680B0761D90600A33029 /* PBXTargetDependency */,
+ 002F347B09CA215600EBEB88 /* PBXTargetDependency */,
+ BEC5680D0761D90600A33029 /* PBXTargetDependency */,
+ 002F347D09CA215600EBEB88 /* PBXTargetDependency */,
+ BEC5680F0761D90600A33029 /* PBXTargetDependency */,
+ BEC568110761D90600A33029 /* PBXTargetDependency */,
+ 002F347F09CA215600EBEB88 /* PBXTargetDependency */,
+ BEC568150761D90600A33029 /* PBXTargetDependency */,
+ BEC568170761D90600A33029 /* PBXTargetDependency */,
+ BEC568190761D90600A33029 /* PBXTargetDependency */,
+ 002F348109CA215600EBEB88 /* PBXTargetDependency */,
+ 002F348309CA215600EBEB88 /* PBXTargetDependency */,
+ BEC5681B0761D90600A33029 /* PBXTargetDependency */,
+ 002F348509CA215600EBEB88 /* PBXTargetDependency */,
+ BEC5681D0761D90600A33029 /* PBXTargetDependency */,
+ BEC5681F0761D90600A33029 /* PBXTargetDependency */,
+ BEC568130761D90600A33029 /* PBXTargetDependency */,
+ BEC568210761D90600A33029 /* PBXTargetDependency */,
+ BEC568250761D90600A33029 /* PBXTargetDependency */,
+ BEC568270761D90600A33029 /* PBXTargetDependency */,
+ BEC568290761D90600A33029 /* PBXTargetDependency */,
+ BEC5682B0761D90600A33029 /* PBXTargetDependency */,
+ BEC5682D0761D90600A33029 /* PBXTargetDependency */,
+ BEC5682F0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = All;
+ productName = "Build All";
+ };
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+ 002F337509CA14F900EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ 002F337909CA14F900EBEB88 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ 002F337A09CA14F900EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 002F338B09CA16BF00EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ 002F338F09CA16BF00EBEB88 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ 002F339009CA16BF00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 002F339B09CA17BC00EBEB88 /* testblitspeed.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F339A09CA17BC00EBEB88 /* testblitspeed.c */; };
+ 002F33A809CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33A909CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33AA09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33AB09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33AC09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33AD09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33AE09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33AF09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B009CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B109CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B209CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B309CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B409CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B509CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B609CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B709CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B809CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33B909CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33BA09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33BB09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33BC09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33BD09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33BE09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33BF09CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33C009CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33C109CA188600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33CF09CA19A600EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ 002F33D209CA19A600EBEB88 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ 002F33D309CA19A600EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 002F33D409CA19A600EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F33E309CA1A0B00EBEB88 /* testdyngl.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F33E209CA1A0B00EBEB88 /* testdyngl.c */; };
+ 002F340609CA1BFF00EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ 002F340909CA1BFF00EBEB88 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ 002F340A09CA1BFF00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 002F340B09CA1BFF00EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F341809CA1C5B00EBEB88 /* testfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F341709CA1C5B00EBEB88 /* testfile.c */; };
+ 002F342509CA1F0300EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ 002F342809CA1F0300EBEB88 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ 002F342909CA1F0300EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 002F342A09CA1F0300EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F343709CA1F6F00EBEB88 /* testiconv.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F343609CA1F6F00EBEB88 /* testiconv.c */; };
+ 002F344109CA1FB300EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ 002F344409CA1FB300EBEB88 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ 002F344509CA1FB300EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 002F344609CA1FB300EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F345409CA202000EBEB88 /* testoverlay2.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F345209CA201C00EBEB88 /* testoverlay2.c */; };
+ 002F345E09CA204F00EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ 002F346109CA204F00EBEB88 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ 002F346209CA204F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 002F346309CA204F00EBEB88 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
+ 002F347009CA20A600EBEB88 /* testplatform.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F346F09CA20A600EBEB88 /* testplatform.c */; };
+ 003FA64D093FFDB3000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA64E093FFDB5000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA64F093FFDB7000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA650093FFDBA000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA651093FFDBC000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA652093FFDBE000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA653093FFDC1000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA654093FFDC3000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA655093FFDC6000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA656093FFDC8000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA657093FFDCA000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA658093FFDCC000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA659093FFDCF000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA65A093FFDD1000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA65B093FFDD3000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA65C093FFDD5000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA65D093FFDD7000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA65E093FFDDA000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA660093FFDDF000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA661093FFDE1000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA662093FFDE3000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA663093FFDE6000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA664093FFDE8000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 003FA665093FFDEA000C53B3 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL.framework */; };
+ 00794DD909D1F894003FC8A1 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00794DD809D1F894003FC8A1 /* OpenGL.framework */; };
+ 00794E6609D20865003FC8A1 /* sample.wav in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6209D20839003FC8A1 /* sample.wav */; };
+ 00794EA209D2344B003FC8A1 /* icon.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; };
+ 00794EB709D235F5003FC8A1 /* sample.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.bmp */; };
+ 00794EE709D236ED003FC8A1 /* sample.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.bmp */; };
+ 00794EF009D23739003FC8A1 /* utf8.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6309D20839003FC8A1 /* utf8.txt */; };
+ 00794EF709D237DE003FC8A1 /* moose.dat in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5E09D20839003FC8A1 /* moose.dat */; };
+ 00794EFE09D2382B003FC8A1 /* sail.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6009D20839003FC8A1 /* sail.bmp */; };
+ 00794F0409D23869003FC8A1 /* icon.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; };
+ 00794F0B09D238F4003FC8A1 /* sample.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.bmp */; };
+ 00794F1109D2392B003FC8A1 /* icon.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; };
+ 00794F8709D2413B003FC8A1 /* sample.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.bmp */; };
+ BEC566AF0761D90300A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC566B10761D90300A33029 /* checkkeys.c in Sources */ = {isa = PBXBuildFile; fileRef = 092D6D10FFB30A2C7F000001 /* checkkeys.c */; };
+ BEC566BC0761D90300A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC566BE0761D90300A33029 /* graywin.c in Sources */ = {isa = PBXBuildFile; fileRef = 092D6D1BFFB30C237F000001 /* graywin.c */; };
+ BEC566C90761D90300A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC566CB0761D90300A33029 /* loopwave.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4872006D84C97F000001 /* loopwave.c */; };
+ BEC566D70761D90300A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC566D90761D90300A33029 /* testalpha.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4874006D84F77F000001 /* testalpha.c */; };
+ BEC566E50761D90300A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC566E70761D90300A33029 /* testbitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = 092D6D25FFB30D1A7F000001 /* testbitmap.c */; };
+ BEC566F20761D90300A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC566F40761D90300A33029 /* testcdrom.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4876006D85297F000001 /* testcdrom.c */; };
+ BEC566FF0761D90300A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567010761D90300A33029 /* testerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4878006D85357F000001 /* testerror.c */; };
+ BEC5670C0761D90400A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC5670E0761D90400A33029 /* testgamma.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E487A006D85477F000001 /* testgamma.c */; };
+ BEC5671A0761D90400A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC5671C0761D90400A33029 /* testgl.c in Sources */ = {isa = PBXBuildFile; fileRef = 092D6D4EFFB311087F000001 /* testgl.c */; };
+ BEC567270761D90400A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567290761D90400A33029 /* testhread.c in Sources */ = {isa = PBXBuildFile; fileRef = 092D6D58FFB311A97F000001 /* testhread.c */; };
+ BEC567340761D90400A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567360761D90400A33029 /* testjoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = 092D6D62FFB312AA7F000001 /* testjoystick.c */; };
+ BEC567410761D90400A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567430761D90400A33029 /* testkeys.c in Sources */ = {isa = PBXBuildFile; fileRef = 092D6D6CFFB313437F000001 /* testkeys.c */; };
+ BEC5674E0761D90400A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567500761D90400A33029 /* testlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 092D6D75FFB313BB7F000001 /* testlock.c */; };
+ BEC5675D0761D90400A33029 /* testoverlay.c in Sources */ = {isa = PBXBuildFile; fileRef = F57DC39802A6E6A201D28762 /* testoverlay.c */; };
+ BEC567680761D90400A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC5676A0761D90400A33029 /* testpalette.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E487C006D856B7F000001 /* testpalette.c */; };
+ BEC567760761D90500A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567780761D90500A33029 /* testsem.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E487E006D86A17F000001 /* testsem.c */; };
+ BEC567830761D90500A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567850761D90500A33029 /* testsprite.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E487F006D86A17F000001 /* testsprite.c */; };
+ BEC567910761D90500A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567930761D90500A33029 /* testtimer.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4880006D86A17F000001 /* testtimer.c */; };
+ BEC567AB0761D90500A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567AD0761D90500A33029 /* testver.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4882006D86A17F000001 /* testver.c */; };
+ BEC567B80761D90500A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567BA0761D90500A33029 /* testvidinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4883006D86A17F000001 /* testvidinfo.c */; };
+ BEC567C50761D90500A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567C70761D90500A33029 /* testwin.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4884006D86A17F000001 /* testwin.c */; };
+ BEC567D30761D90500A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567D50761D90500A33029 /* testwm.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4885006D86A17F000001 /* testwm.c */; };
+ BEC567E10761D90600A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567E30761D90600A33029 /* threadwin.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4886006D86A17F000001 /* threadwin.c */; };
+ BEC567EE0761D90600A33029 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */; };
+ BEC567F00761D90600A33029 /* torturethread.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4887006D86A17F000001 /* torturethread.c */; };
+ BEC567F90761D90600A33029 /* SDLMain.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EECDF3B0086C5EA7F000001 /* SDLMain.h */; };
+ BEC567FA0761D90600A33029 /* libsdlmain_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = B207FF2404E1B19600A80002 /* libsdlmain_prefix.h */; };
+ BEC567FC0761D90600A33029 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EECDF3C0086C5EA7F000001 /* SDLMain.m */; };
+ BEC568620761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568630761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568640761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568650761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568660761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568670761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568680761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568690761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC5686A0761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC5686B0761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC5686C0761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC5686D0761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC5686E0761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC5686F0761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568700761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568710761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568720761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568730761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568750761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568760761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568770761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568780761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC568790761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+ BEC5687A0761D90600A33029 /* libsdlmain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEC567FF0761D90600A33029 /* libsdlmain.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 002F337209CA14F900EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ 002F338809CA16BF00EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ 002F33CC09CA19A600EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ 002F340309CA1BFF00EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ 002F342209CA1F0300EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ 002F343E09CA1FB300EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ 002F345B09CA204F00EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ 002F347809CA215600EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 002F338609CA16BF00EBEB88;
+ remoteInfo = testblitspeed;
+ };
+ 002F347A09CA215600EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 002F33CA09CA19A600EBEB88;
+ remoteInfo = testdyngl;
+ };
+ 002F347C09CA215600EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 002F340109CA1BFF00EBEB88;
+ remoteInfo = testfile;
+ };
+ 002F347E09CA215600EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 002F342009CA1F0300EBEB88;
+ remoteInfo = testiconv;
+ };
+ 002F348009CA215600EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567570761D90400A33029;
+ remoteInfo = "testoverlay (Upgraded)";
+ };
+ 002F348209CA215600EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 002F343C09CA1FB300EBEB88;
+ remoteInfo = testoverlay2;
+ };
+ 002F348409CA215600EBEB88 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 002F345909CA204F00EBEB88;
+ remoteInfo = testplatform;
+ };
+ 003FA642093FFD41000C53B3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BECDF66C0761BA81005FE872;
+ remoteInfo = Framework;
+ };
+ 003FA644093FFD41000C53B3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BECDF6B30761BA81005FE872;
+ remoteInfo = "Static Library";
+ };
+ 003FA646093FFD41000C53B3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BECDF6BA0761BA81005FE872;
+ remoteInfo = "Main Library";
+ };
+ 003FA648093FFD41000C53B3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BECDF6BE0761BA81005FE872;
+ remoteInfo = "Standard DMG";
+ };
+ 003FA64A093FFD41000C53B3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = BECDF6C30761BA81005FE872;
+ remoteInfo = "Devel Extras Package";
+ };
+ 003FA6A709400236000C53B3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = BECDF5FE0761BA81005FE872;
+ remoteInfo = Framework;
+ };
+ BEC568000761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC566AB0761D90300A33029;
+ remoteInfo = "checkkeys (Upgraded)";
+ };
+ BEC568020761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC566B80761D90300A33029;
+ remoteInfo = "graywin (Upgraded)";
+ };
+ BEC568040761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC566C50761D90300A33029;
+ remoteInfo = "loopwave (Upgraded)";
+ };
+ BEC568060761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC566D30761D90300A33029;
+ remoteInfo = "testalpha (Upgraded)";
+ };
+ BEC568080761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC566E10761D90300A33029;
+ remoteInfo = "testbitmap (Upgraded)";
+ };
+ BEC5680A0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC566EE0761D90300A33029;
+ remoteInfo = "testcdrom (Upgraded)";
+ };
+ BEC5680C0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC566FB0761D90300A33029;
+ remoteInfo = "testerror (Upgraded)";
+ };
+ BEC5680E0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567080761D90400A33029;
+ remoteInfo = "testgamma (Upgraded)";
+ };
+ BEC568100761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567160761D90400A33029;
+ remoteInfo = "testgl (Upgraded)";
+ };
+ BEC568120761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567230761D90400A33029;
+ remoteInfo = "testthread (Upgraded)";
+ };
+ BEC568140761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567300761D90400A33029;
+ remoteInfo = "testjoystick (Upgraded)";
+ };
+ BEC568160761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC5673D0761D90400A33029;
+ remoteInfo = "testkeys (Upgraded)";
+ };
+ BEC568180761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC5674A0761D90400A33029;
+ remoteInfo = "testlock (Upgraded)";
+ };
+ BEC5681A0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567640761D90400A33029;
+ remoteInfo = "testpalette (Upgraded)";
+ };
+ BEC5681C0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567720761D90500A33029;
+ remoteInfo = "testsem (Upgraded)";
+ };
+ BEC5681E0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC5677F0761D90500A33029;
+ remoteInfo = "testsprite (Upgraded)";
+ };
+ BEC568200761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC5678D0761D90500A33029;
+ remoteInfo = "testtimer (Upgraded)";
+ };
+ BEC568240761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567A70761D90500A33029;
+ remoteInfo = "testversion (Upgraded)";
+ };
+ BEC568260761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567B40761D90500A33029;
+ remoteInfo = "testvidinfo (Upgraded)";
+ };
+ BEC568280761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567C10761D90500A33029;
+ remoteInfo = "testwin (Upgraded)";
+ };
+ BEC5682A0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567CF0761D90500A33029;
+ remoteInfo = "testwm (Upgraded)";
+ };
+ BEC5682C0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567DD0761D90600A33029;
+ remoteInfo = "threadwin (Upgraded)";
+ };
+ BEC5682E0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567EA0761D90600A33029;
+ remoteInfo = "torturethread (Upgraded)";
+ };
+ BEC568300761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568320761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568340761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568360761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568380761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC5683A0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC5683C0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC5683E0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568400761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568420761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568440761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568460761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568480761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC5684A0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC5684C0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC5684E0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568500761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568520761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568560761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568580761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC5685A0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC5685C0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC5685E0761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+ BEC568600761D90600A33029 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BEC567F70761D90600A33029;
+ remoteInfo = "libsdlmain.a (Upgraded)";
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 00794E6409D2084F003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794E6609D20865003FC8A1 /* sample.wav in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794EA009D2343A003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794EA209D2344B003FC8A1 /* icon.bmp in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794EA909D234E8003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794EB709D235F5003FC8A1 /* sample.bmp in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794EE509D236E4003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794EE709D236ED003FC8A1 /* sample.bmp in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794EEC09D2371F003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794EF009D23739003FC8A1 /* utf8.txt in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794EF409D237C7003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794EF709D237DE003FC8A1 /* moose.dat in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794EFC09D2381C003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794EFE09D2382B003FC8A1 /* sail.bmp in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794F0209D2385F003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794F0409D23869003FC8A1 /* icon.bmp in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794F0909D238E3003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794F0B09D238F4003FC8A1 /* sample.bmp in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794F0F09D23923003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794F1109D2392B003FC8A1 /* icon.bmp in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 00794F6109D24125003FC8A1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 16;
+ files = (
+ 00794F8709D2413B003FC8A1 /* sample.bmp in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F338109CA14F900EBEB88 /* test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = test.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 002F339709CA16BF00EBEB88 /* testblitspeed.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testblitspeed.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 002F339A09CA17BC00EBEB88 /* testblitspeed.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testblitspeed.c; path = ../../test/testblitspeed.c; sourceTree = SOURCE_ROOT; };
+ 002F33A709CA188600EBEB88 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 002F33DB09CA19A600EBEB88 /* testdyngl.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testdyngl.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 002F33E209CA1A0B00EBEB88 /* testdyngl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testdyngl.c; path = ../../test/testdyngl.c; sourceTree = SOURCE_ROOT; };
+ 002F341209CA1BFF00EBEB88 /* testfile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testfile.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 002F341709CA1C5B00EBEB88 /* testfile.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testfile.c; path = ../../test/testfile.c; sourceTree = SOURCE_ROOT; };
+ 002F343109CA1F0300EBEB88 /* testiconv.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testiconv.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 002F343609CA1F6F00EBEB88 /* testiconv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testiconv.c; path = ../../test/testiconv.c; sourceTree = SOURCE_ROOT; };
+ 002F344D09CA1FB300EBEB88 /* testoverlay2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testoverlay2.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 002F345209CA201C00EBEB88 /* testoverlay2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testoverlay2.c; path = ../../test/testoverlay2.c; sourceTree = SOURCE_ROOT; };
+ 002F346A09CA204F00EBEB88 /* testplatform.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testplatform.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 002F346F09CA20A600EBEB88 /* testplatform.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testplatform.c; path = ../../test/testplatform.c; sourceTree = SOURCE_ROOT; };
+ 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL.xcodeproj; path = ../SDL/SDL.xcodeproj; sourceTree = SOURCE_ROOT; };
+ 00794DD809D1F894003FC8A1 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
+ 00794E5D09D20839003FC8A1 /* icon.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; name = icon.bmp; path = ../../test/icon.bmp; sourceTree = SOURCE_ROOT; };
+ 00794E5E09D20839003FC8A1 /* moose.dat */ = {isa = PBXFileReference; lastKnownFileType = file; name = moose.dat; path = ../../test/moose.dat; sourceTree = SOURCE_ROOT; };
+ 00794E5F09D20839003FC8A1 /* picture.xbm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = picture.xbm; path = ../../test/picture.xbm; sourceTree = SOURCE_ROOT; };
+ 00794E6009D20839003FC8A1 /* sail.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; name = sail.bmp; path = ../../test/sail.bmp; sourceTree = SOURCE_ROOT; };
+ 00794E6109D20839003FC8A1 /* sample.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; name = sample.bmp; path = ../../test/sample.bmp; sourceTree = SOURCE_ROOT; };
+ 00794E6209D20839003FC8A1 /* sample.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = sample.wav; path = ../../test/sample.wav; sourceTree = SOURCE_ROOT; };
+ 00794E6309D20839003FC8A1 /* utf8.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = utf8.txt; path = ../../test/utf8.txt; sourceTree = SOURCE_ROOT; };
+ 083E4872006D84C97F000001 /* loopwave.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = loopwave.c; path = ../../test/loopwave.c; sourceTree = SOURCE_ROOT; };
+ 083E4874006D84F77F000001 /* testalpha.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testalpha.c; path = ../../test/testalpha.c; sourceTree = SOURCE_ROOT; };
+ 083E4876006D85297F000001 /* testcdrom.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testcdrom.c; path = ../../test/testcdrom.c; sourceTree = SOURCE_ROOT; };
+ 083E4878006D85357F000001 /* testerror.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testerror.c; path = ../../test/testerror.c; sourceTree = SOURCE_ROOT; };
+ 083E487A006D85477F000001 /* testgamma.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testgamma.c; path = ../../test/testgamma.c; sourceTree = SOURCE_ROOT; };
+ 083E487C006D856B7F000001 /* testpalette.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testpalette.c; path = ../../test/testpalette.c; sourceTree = SOURCE_ROOT; };
+ 083E487E006D86A17F000001 /* testsem.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testsem.c; path = ../../test/testsem.c; sourceTree = SOURCE_ROOT; };
+ 083E487F006D86A17F000001 /* testsprite.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testsprite.c; path = ../../test/testsprite.c; sourceTree = SOURCE_ROOT; };
+ 083E4880006D86A17F000001 /* testtimer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testtimer.c; path = ../../test/testtimer.c; sourceTree = SOURCE_ROOT; };
+ 083E4882006D86A17F000001 /* testver.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testver.c; path = ../../test/testver.c; sourceTree = SOURCE_ROOT; };
+ 083E4883006D86A17F000001 /* testvidinfo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testvidinfo.c; path = ../../test/testvidinfo.c; sourceTree = SOURCE_ROOT; };
+ 083E4884006D86A17F000001 /* testwin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testwin.c; path = ../../test/testwin.c; sourceTree = SOURCE_ROOT; };
+ 083E4885006D86A17F000001 /* testwm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testwm.c; path = ../../test/testwm.c; sourceTree = SOURCE_ROOT; };
+ 083E4886006D86A17F000001 /* threadwin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = threadwin.c; path = ../../test/threadwin.c; sourceTree = SOURCE_ROOT; };
+ 083E4887006D86A17F000001 /* torturethread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = torturethread.c; path = ../../test/torturethread.c; sourceTree = SOURCE_ROOT; };
+ 092D6D10FFB30A2C7F000001 /* checkkeys.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = checkkeys.c; path = ../../test/checkkeys.c; sourceTree = SOURCE_ROOT; };
+ 092D6D1BFFB30C237F000001 /* graywin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = graywin.c; path = ../../test/graywin.c; sourceTree = SOURCE_ROOT; };
+ 092D6D25FFB30D1A7F000001 /* testbitmap.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testbitmap.c; path = ../../test/testbitmap.c; sourceTree = SOURCE_ROOT; };
+ 092D6D4EFFB311087F000001 /* testgl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testgl.c; path = ../../test/testgl.c; sourceTree = SOURCE_ROOT; };
+ 092D6D58FFB311A97F000001 /* testhread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testhread.c; path = ../../test/testhread.c; sourceTree = SOURCE_ROOT; };
+ 092D6D62FFB312AA7F000001 /* testjoystick.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testjoystick.c; path = ../../test/testjoystick.c; sourceTree = SOURCE_ROOT; };
+ 092D6D6CFFB313437F000001 /* testkeys.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testkeys.c; path = ../../test/testkeys.c; sourceTree = SOURCE_ROOT; };
+ 092D6D75FFB313BB7F000001 /* testlock.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testlock.c; path = ../../test/testlock.c; sourceTree = SOURCE_ROOT; };
+ 2EECDF3B0086C5EA7F000001 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDLMain.h; path = ../../src/main/macosx/SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 2EECDF3C0086C5EA7F000001 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SDLMain.m; path = ../../src/main/macosx/SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = SDLMain.nib; path = ../../src/main/macosx/SDLMain.nib; sourceTree = SOURCE_ROOT; };
+ B207FF2404E1B19600A80002 /* libsdlmain_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libsdlmain_prefix.h; sourceTree = "<group>"; };
+ BEC566B60761D90300A33029 /* checkkeys.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = checkkeys.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC566C30761D90300A33029 /* graywin.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = graywin.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC566D10761D90300A33029 /* loopwave.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = loopwave.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC566DF0761D90300A33029 /* testalpha.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testalpha.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC566EC0761D90300A33029 /* testbitmap.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testbitmap.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC566F90761D90300A33029 /* testcdrom.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testcdrom.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567060761D90400A33029 /* testerror.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testerror.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567140761D90400A33029 /* testgamma.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testgamma.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567210761D90400A33029 /* testgl.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testgl.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC5672E0761D90400A33029 /* testthread.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testthread.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC5673B0761D90400A33029 /* testjoystick.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testjoystick.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567480761D90400A33029 /* testkeys.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testkeys.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567550761D90400A33029 /* testlock.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testlock.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567620761D90400A33029 /* testoverlay.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testoverlay.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567700761D90500A33029 /* testpalette.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testpalette.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC5677D0761D90500A33029 /* testsem.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testsem.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC5678B0761D90500A33029 /* testsprite.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testsprite.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567980761D90500A33029 /* testtimer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testtimer.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567B20761D90500A33029 /* testversion.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testversion.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567BF0761D90500A33029 /* testvidinfo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testvidinfo.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567CD0761D90500A33029 /* testwin.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testwin.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567DB0761D90600A33029 /* testwm.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testwm.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567E80761D90600A33029 /* threadwin.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = threadwin.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567F50761D90600A33029 /* torturethread.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = torturethread.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BEC567FF0761D90600A33029 /* libsdlmain.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libsdlmain.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ F57DC39802A6E6A201D28762 /* testoverlay.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = testoverlay.c; path = ../../test/testoverlay.c; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 002F337809CA14F900EBEB88 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F337909CA14F900EBEB88 /* libsdlmain.a in Frameworks */,
+ 002F337A09CA14F900EBEB88 /* SDL.framework in Frameworks */,
+ 002F33A909CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F338E09CA16BF00EBEB88 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F338F09CA16BF00EBEB88 /* libsdlmain.a in Frameworks */,
+ 002F339009CA16BF00EBEB88 /* SDL.framework in Frameworks */,
+ 002F33A809CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F33D109CA19A600EBEB88 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F33D209CA19A600EBEB88 /* libsdlmain.a in Frameworks */,
+ 002F33D309CA19A600EBEB88 /* SDL.framework in Frameworks */,
+ 002F33D409CA19A600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F340809CA1BFF00EBEB88 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F340909CA1BFF00EBEB88 /* libsdlmain.a in Frameworks */,
+ 002F340A09CA1BFF00EBEB88 /* SDL.framework in Frameworks */,
+ 002F340B09CA1BFF00EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F342709CA1F0300EBEB88 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F342809CA1F0300EBEB88 /* libsdlmain.a in Frameworks */,
+ 002F342909CA1F0300EBEB88 /* SDL.framework in Frameworks */,
+ 002F342A09CA1F0300EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F344309CA1FB300EBEB88 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F344409CA1FB300EBEB88 /* libsdlmain.a in Frameworks */,
+ 002F344509CA1FB300EBEB88 /* SDL.framework in Frameworks */,
+ 002F344609CA1FB300EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F346009CA204F00EBEB88 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F346109CA204F00EBEB88 /* libsdlmain.a in Frameworks */,
+ 002F346209CA204F00EBEB88 /* SDL.framework in Frameworks */,
+ 002F346309CA204F00EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566B20761D90300A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568620761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA64D093FFDB3000C53B3 /* SDL.framework in Frameworks */,
+ 002F33C109CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566BF0761D90300A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568630761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA64E093FFDB5000C53B3 /* SDL.framework in Frameworks */,
+ 002F33C009CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566CC0761D90300A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568640761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA64F093FFDB7000C53B3 /* SDL.framework in Frameworks */,
+ 002F33BF09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566DA0761D90300A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568650761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA650093FFDBA000C53B3 /* SDL.framework in Frameworks */,
+ 002F33BE09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566E80761D90300A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568660761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA651093FFDBC000C53B3 /* SDL.framework in Frameworks */,
+ 002F33BD09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566F50761D90300A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568670761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA652093FFDBE000C53B3 /* SDL.framework in Frameworks */,
+ 002F33BB09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567020761D90300A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568680761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA653093FFDC1000C53B3 /* SDL.framework in Frameworks */,
+ 002F33BC09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5670F0761D90400A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568690761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA654093FFDC3000C53B3 /* SDL.framework in Frameworks */,
+ 002F33BA09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5671D0761D90400A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5686A0761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA655093FFDC6000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B909CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ 00794DD909D1F894003FC8A1 /* OpenGL.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5672A0761D90400A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5686B0761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA656093FFDC8000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B809CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567370761D90400A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5686C0761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA657093FFDCA000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B709CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567440761D90400A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5686D0761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA658093FFDCC000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B509CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567510761D90400A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5686E0761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA659093FFDCF000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B609CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5675E0761D90400A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5686F0761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA65A093FFDD1000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B409CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5676B0761D90400A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568700761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA65B093FFDD3000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B309CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567790761D90500A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568710761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA65C093FFDD5000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B209CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567860761D90500A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568720761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA65D093FFDD7000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B109CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567940761D90500A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568730761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA65E093FFDDA000C53B3 /* SDL.framework in Frameworks */,
+ 002F33B009CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567AE0761D90500A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568750761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA660093FFDDF000C53B3 /* SDL.framework in Frameworks */,
+ 002F33AF09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567BB0761D90500A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568760761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA661093FFDE1000C53B3 /* SDL.framework in Frameworks */,
+ 002F33AE09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567C80761D90500A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568770761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA662093FFDE3000C53B3 /* SDL.framework in Frameworks */,
+ 002F33AD09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567D60761D90500A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568780761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA663093FFDE6000C53B3 /* SDL.framework in Frameworks */,
+ 002F33AC09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567E40761D90600A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC568790761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA665093FFDEA000C53B3 /* SDL.framework in Frameworks */,
+ 002F33AB09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567F10761D90600A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5687A0761D90600A33029 /* libsdlmain.a in Frameworks */,
+ 003FA664093FFDE8000C53B3 /* SDL.framework in Frameworks */,
+ 002F33AA09CA188600EBEB88 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567FD0761D90600A33029 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 002F33A209CA183B00EBEB88 /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 00794DD809D1F894003FC8A1 /* OpenGL.framework */,
+ 002F33A709CA188600EBEB88 /* Cocoa.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 003FA63B093FFD41000C53B3 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 003FA643093FFD41000C53B3 /* SDL.framework */,
+ 003FA645093FFD41000C53B3 /* libSDL.a */,
+ 003FA647093FFD41000C53B3 /* libSDLmain.a */,
+ 003FA649093FFD41000C53B3 /* Standard DMG */,
+ 003FA64B093FFD41000C53B3 /* Developer Extras Package */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 00794E4609D207B4003FC8A1 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 00794E5D09D20839003FC8A1 /* icon.bmp */,
+ 00794E5E09D20839003FC8A1 /* moose.dat */,
+ 00794E5F09D20839003FC8A1 /* picture.xbm */,
+ 00794E6009D20839003FC8A1 /* sail.bmp */,
+ 00794E6109D20839003FC8A1 /* sample.bmp */,
+ 00794E6209D20839003FC8A1 /* sample.wav */,
+ 00794E6309D20839003FC8A1 /* utf8.txt */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 08FB7794FE84155DC02AAC07 /* SDLTest */ = {
+ isa = PBXGroup;
+ children = (
+ 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */,
+ 08FB7795FE84155DC02AAC07 /* Source */,
+ 2EECDF3B0086C5EA7F000001 /* SDLMain.h */,
+ 2EECDF3C0086C5EA7F000001 /* SDLMain.m */,
+ B207FF2404E1B19600A80002 /* libsdlmain_prefix.h */,
+ 2EECDF3D0086C5EA7F000001 /* SDLMain.nib */,
+ 002F33A209CA183B00EBEB88 /* Linked Frameworks */,
+ 00794E4609D207B4003FC8A1 /* Resources */,
+ 1AB674ADFE9D54B511CA2CBB /* Products */,
+ );
+ comments = "I made these tests link against our \"default\" framework which includes X11 stuff. If you didn't install the X11 headers with Xcode, you might have problems building the SDL.framework (which is a dependency). You can swap the dependencies around to get around this, or you can modify the default SDL.framework target to not include X11 stuff. (Go into its target build options and remove all the Preprocessor macros.)\n\n\n\nWe are sort of in a half-way state at the moment. Going \"all-the-way\" means we copy the SDL.framework inside the app bundle so we can run the test without the step of the user \"installing\" the framework. But there is an oversight/bug in Xcode that doesn't correctly find the location of the framework when in an embedded/nested Xcode project. We could probably try to hack this with a shell script that checks multiple directories for existence, but this is messier and more work than I prefer, so I rather just wait for Apple to fix this. In the meantime...\n\nThe \"All\" target will build the SDL framework from the Xcode project. The other targets do not have this dependency set (for flexibility reasons in case we make changes). If you have not built the framework, you will probably be unable to link. You will either need to build the framework, or you need to add \"-framework SDL\" to the link options and make sure you have the SDL.framework installed somewhere where it can be seen (like /Library/Frameworks...I think we already set this one up.) \n\nTo run though, you should have a copy of the SDL.framework in /Library/Frameworks or ~/Library/Frameworks.\n\n\n\n\ntestgl and testdyngl need -DHAVE_OPENGL\ntestgl needs to link against OpenGL.framework\n\n";
+ name = SDLTest;
+ sourceTree = "<group>";
+ };
+ 08FB7795FE84155DC02AAC07 /* Source */ = {
+ isa = PBXGroup;
+ children = (
+ 092D6D10FFB30A2C7F000001 /* checkkeys.c */,
+ 092D6D1BFFB30C237F000001 /* graywin.c */,
+ 083E4872006D84C97F000001 /* loopwave.c */,
+ 083E4874006D84F77F000001 /* testalpha.c */,
+ 092D6D25FFB30D1A7F000001 /* testbitmap.c */,
+ 002F339A09CA17BC00EBEB88 /* testblitspeed.c */,
+ 083E4876006D85297F000001 /* testcdrom.c */,
+ 002F33E209CA1A0B00EBEB88 /* testdyngl.c */,
+ 083E4878006D85357F000001 /* testerror.c */,
+ 002F343609CA1F6F00EBEB88 /* testiconv.c */,
+ 002F341709CA1C5B00EBEB88 /* testfile.c */,
+ 083E487A006D85477F000001 /* testgamma.c */,
+ 092D6D4EFFB311087F000001 /* testgl.c */,
+ 092D6D58FFB311A97F000001 /* testhread.c */,
+ 092D6D62FFB312AA7F000001 /* testjoystick.c */,
+ 092D6D6CFFB313437F000001 /* testkeys.c */,
+ 092D6D75FFB313BB7F000001 /* testlock.c */,
+ F57DC39802A6E6A201D28762 /* testoverlay.c */,
+ 002F345209CA201C00EBEB88 /* testoverlay2.c */,
+ 083E487C006D856B7F000001 /* testpalette.c */,
+ 002F346F09CA20A600EBEB88 /* testplatform.c */,
+ 083E487E006D86A17F000001 /* testsem.c */,
+ 083E487F006D86A17F000001 /* testsprite.c */,
+ 083E4880006D86A17F000001 /* testtimer.c */,
+ 083E4882006D86A17F000001 /* testver.c */,
+ 083E4883006D86A17F000001 /* testvidinfo.c */,
+ 083E4884006D86A17F000001 /* testwin.c */,
+ 083E4885006D86A17F000001 /* testwm.c */,
+ 083E4886006D86A17F000001 /* threadwin.c */,
+ 083E4887006D86A17F000001 /* torturethread.c */,
+ );
+ name = Source;
+ sourceTree = "<group>";
+ };
+ 1AB674ADFE9D54B511CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ BEC566B60761D90300A33029 /* checkkeys.app */,
+ BEC566C30761D90300A33029 /* graywin.app */,
+ BEC566D10761D90300A33029 /* loopwave.app */,
+ BEC566DF0761D90300A33029 /* testalpha.app */,
+ BEC566EC0761D90300A33029 /* testbitmap.app */,
+ BEC566F90761D90300A33029 /* testcdrom.app */,
+ BEC567060761D90400A33029 /* testerror.app */,
+ BEC567140761D90400A33029 /* testgamma.app */,
+ BEC567210761D90400A33029 /* testgl.app */,
+ BEC5672E0761D90400A33029 /* testthread.app */,
+ BEC5673B0761D90400A33029 /* testjoystick.app */,
+ BEC567480761D90400A33029 /* testkeys.app */,
+ BEC567550761D90400A33029 /* testlock.app */,
+ BEC567620761D90400A33029 /* testoverlay.app */,
+ BEC567700761D90500A33029 /* testpalette.app */,
+ BEC5677D0761D90500A33029 /* testsem.app */,
+ BEC5678B0761D90500A33029 /* testsprite.app */,
+ BEC567980761D90500A33029 /* testtimer.app */,
+ BEC567B20761D90500A33029 /* testversion.app */,
+ BEC567BF0761D90500A33029 /* testvidinfo.app */,
+ BEC567CD0761D90500A33029 /* testwin.app */,
+ BEC567DB0761D90600A33029 /* testwm.app */,
+ BEC567E80761D90600A33029 /* threadwin.app */,
+ BEC567F50761D90600A33029 /* torturethread.app */,
+ BEC567FF0761D90600A33029 /* libsdlmain.a */,
+ 002F338109CA14F900EBEB88 /* test.app */,
+ 002F339709CA16BF00EBEB88 /* testblitspeed.app */,
+ 002F33DB09CA19A600EBEB88 /* testdyngl.app */,
+ 002F341209CA1BFF00EBEB88 /* testfile.app */,
+ 002F343109CA1F0300EBEB88 /* testiconv.app */,
+ 002F344D09CA1FB300EBEB88 /* testoverlay2.app */,
+ 002F346A09CA204F00EBEB88 /* testplatform.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 002F337309CA14F900EBEB88 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F338909CA16BF00EBEB88 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F33CD09CA19A600EBEB88 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F340409CA1BFF00EBEB88 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F342309CA1F0300EBEB88 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F343F09CA1FB300EBEB88 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F345C09CA204F00EBEB88 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566AD0761D90300A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566BA0761D90300A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566C70761D90300A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566D50761D90300A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566E30761D90300A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566F00761D90300A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566FD0761D90300A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5670A0761D90400A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567180761D90400A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567250761D90400A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567320761D90400A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5673F0761D90400A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5674C0761D90400A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567590761D90400A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567660761D90400A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567740761D90500A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567810761D90500A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5678F0761D90500A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567A90761D90500A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567B60761D90500A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567C30761D90500A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567D10761D90500A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567DF0761D90600A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567EC0761D90600A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567F80761D90600A33029 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567F90761D90600A33029 /* SDLMain.h in Headers */,
+ BEC567FA0761D90600A33029 /* libsdlmain_prefix.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 002F337009CA14F900EBEB88 /* test */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 002F337D09CA14F900EBEB88 /* Build configuration list for PBXNativeTarget "test" */;
+ buildPhases = (
+ 002F337309CA14F900EBEB88 /* Headers */,
+ 002F337409CA14F900EBEB88 /* Resources */,
+ 002F337609CA14F900EBEB88 /* Sources */,
+ 002F337809CA14F900EBEB88 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 002F337109CA14F900EBEB88 /* PBXTargetDependency */,
+ );
+ name = test;
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testalpha;
+ productReference = 002F338109CA14F900EBEB88 /* test.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 002F338609CA16BF00EBEB88 /* testblitspeed */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 002F339309CA16BF00EBEB88 /* Build configuration list for PBXNativeTarget "testblitspeed" */;
+ buildPhases = (
+ 002F338909CA16BF00EBEB88 /* Headers */,
+ 002F338A09CA16BF00EBEB88 /* Resources */,
+ 002F338C09CA16BF00EBEB88 /* Sources */,
+ 002F338E09CA16BF00EBEB88 /* Frameworks */,
+ 00794EA909D234E8003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 002F338709CA16BF00EBEB88 /* PBXTargetDependency */,
+ );
+ name = testblitspeed;
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testalpha;
+ productReference = 002F339709CA16BF00EBEB88 /* testblitspeed.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 002F33CA09CA19A600EBEB88 /* testdyngl */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 002F33D709CA19A600EBEB88 /* Build configuration list for PBXNativeTarget "testdyngl" */;
+ buildPhases = (
+ 002F33CD09CA19A600EBEB88 /* Headers */,
+ 002F33CE09CA19A600EBEB88 /* Resources */,
+ 002F33D009CA19A600EBEB88 /* Sources */,
+ 002F33D109CA19A600EBEB88 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 002F33CB09CA19A600EBEB88 /* PBXTargetDependency */,
+ );
+ name = testdyngl;
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testalpha;
+ productReference = 002F33DB09CA19A600EBEB88 /* testdyngl.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 002F340109CA1BFF00EBEB88 /* testfile */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 002F340E09CA1BFF00EBEB88 /* Build configuration list for PBXNativeTarget "testfile" */;
+ buildPhases = (
+ 002F340409CA1BFF00EBEB88 /* Headers */,
+ 002F340509CA1BFF00EBEB88 /* Resources */,
+ 002F340709CA1BFF00EBEB88 /* Sources */,
+ 002F340809CA1BFF00EBEB88 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 002F340209CA1BFF00EBEB88 /* PBXTargetDependency */,
+ );
+ name = testfile;
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testalpha;
+ productReference = 002F341209CA1BFF00EBEB88 /* testfile.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 002F342009CA1F0300EBEB88 /* testiconv */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 002F342D09CA1F0300EBEB88 /* Build configuration list for PBXNativeTarget "testiconv" */;
+ buildPhases = (
+ 002F342309CA1F0300EBEB88 /* Headers */,
+ 002F342409CA1F0300EBEB88 /* Resources */,
+ 002F342609CA1F0300EBEB88 /* Sources */,
+ 002F342709CA1F0300EBEB88 /* Frameworks */,
+ 00794EEC09D2371F003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 002F342109CA1F0300EBEB88 /* PBXTargetDependency */,
+ );
+ name = testiconv;
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testalpha;
+ productReference = 002F343109CA1F0300EBEB88 /* testiconv.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 002F343C09CA1FB300EBEB88 /* testoverlay2 */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 002F344909CA1FB300EBEB88 /* Build configuration list for PBXNativeTarget "testoverlay2" */;
+ buildPhases = (
+ 002F343F09CA1FB300EBEB88 /* Headers */,
+ 002F344009CA1FB300EBEB88 /* Resources */,
+ 002F344209CA1FB300EBEB88 /* Sources */,
+ 002F344309CA1FB300EBEB88 /* Frameworks */,
+ 00794EF409D237C7003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 002F343D09CA1FB300EBEB88 /* PBXTargetDependency */,
+ );
+ name = testoverlay2;
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testalpha;
+ productReference = 002F344D09CA1FB300EBEB88 /* testoverlay2.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 002F345909CA204F00EBEB88 /* testplatform */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 002F346609CA204F00EBEB88 /* Build configuration list for PBXNativeTarget "testplatform" */;
+ buildPhases = (
+ 002F345C09CA204F00EBEB88 /* Headers */,
+ 002F345D09CA204F00EBEB88 /* Resources */,
+ 002F345F09CA204F00EBEB88 /* Sources */,
+ 002F346009CA204F00EBEB88 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 002F345A09CA204F00EBEB88 /* PBXTargetDependency */,
+ );
+ name = testplatform;
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testalpha;
+ productReference = 002F346A09CA204F00EBEB88 /* testplatform.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC566AB0761D90300A33029 /* checkkeys (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B593808BDB826006539E9 /* Build configuration list for PBXNativeTarget "checkkeys (Upgraded)" */;
+ buildPhases = (
+ BEC566AD0761D90300A33029 /* Headers */,
+ BEC566AE0761D90300A33029 /* Resources */,
+ BEC566B00761D90300A33029 /* Sources */,
+ BEC566B20761D90300A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568310761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "checkkeys (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = checkkeys;
+ productReference = BEC566B60761D90300A33029 /* checkkeys.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC566B80761D90300A33029 /* graywin (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B593C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "graywin (Upgraded)" */;
+ buildPhases = (
+ BEC566BA0761D90300A33029 /* Headers */,
+ BEC566BB0761D90300A33029 /* Resources */,
+ BEC566BD0761D90300A33029 /* Sources */,
+ BEC566BF0761D90300A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568330761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "graywin (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = graywin;
+ productReference = BEC566C30761D90300A33029 /* graywin.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC566C50761D90300A33029 /* loopwave (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B594008BDB826006539E9 /* Build configuration list for PBXNativeTarget "loopwave (Upgraded)" */;
+ buildPhases = (
+ BEC566C70761D90300A33029 /* Headers */,
+ BEC566C80761D90300A33029 /* Resources */,
+ BEC566CA0761D90300A33029 /* Sources */,
+ BEC566CC0761D90300A33029 /* Frameworks */,
+ 00794E6409D2084F003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568350761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "loopwave (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = loopwave;
+ productReference = BEC566D10761D90300A33029 /* loopwave.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC566D30761D90300A33029 /* testalpha (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B594408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testalpha (Upgraded)" */;
+ buildPhases = (
+ BEC566D50761D90300A33029 /* Headers */,
+ BEC566D60761D90300A33029 /* Resources */,
+ BEC566D80761D90300A33029 /* Sources */,
+ BEC566DA0761D90300A33029 /* Frameworks */,
+ 00794EA009D2343A003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568370761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testalpha (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testalpha;
+ productReference = BEC566DF0761D90300A33029 /* testalpha.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC566E10761D90300A33029 /* testbitmap (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B594808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testbitmap (Upgraded)" */;
+ buildPhases = (
+ BEC566E30761D90300A33029 /* Headers */,
+ BEC566E40761D90300A33029 /* Resources */,
+ BEC566E60761D90300A33029 /* Sources */,
+ BEC566E80761D90300A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568390761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testbitmap (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testbitmap;
+ productReference = BEC566EC0761D90300A33029 /* testbitmap.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC566EE0761D90300A33029 /* testcdrom (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B594C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testcdrom (Upgraded)" */;
+ buildPhases = (
+ BEC566F00761D90300A33029 /* Headers */,
+ BEC566F10761D90300A33029 /* Resources */,
+ BEC566F30761D90300A33029 /* Sources */,
+ BEC566F50761D90300A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC5683B0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testcdrom (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testcdrom;
+ productReference = BEC566F90761D90300A33029 /* testcdrom.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC566FB0761D90300A33029 /* testerror (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B595008BDB826006539E9 /* Build configuration list for PBXNativeTarget "testerror (Upgraded)" */;
+ buildPhases = (
+ BEC566FD0761D90300A33029 /* Headers */,
+ BEC566FE0761D90300A33029 /* Resources */,
+ BEC567000761D90300A33029 /* Sources */,
+ BEC567020761D90300A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC5683D0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testerror (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testerror;
+ productReference = BEC567060761D90400A33029 /* testerror.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567080761D90400A33029 /* testgamma (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B595408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testgamma (Upgraded)" */;
+ buildPhases = (
+ BEC5670A0761D90400A33029 /* Headers */,
+ BEC5670B0761D90400A33029 /* Resources */,
+ BEC5670D0761D90400A33029 /* Sources */,
+ BEC5670F0761D90400A33029 /* Frameworks */,
+ 00794EE509D236E4003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC5683F0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testgamma (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testgamma;
+ productReference = BEC567140761D90400A33029 /* testgamma.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567160761D90400A33029 /* testgl (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B595808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testgl (Upgraded)" */;
+ buildPhases = (
+ BEC567180761D90400A33029 /* Headers */,
+ BEC567190761D90400A33029 /* Resources */,
+ BEC5671B0761D90400A33029 /* Sources */,
+ BEC5671D0761D90400A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568410761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testgl (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testgl;
+ productReference = BEC567210761D90400A33029 /* testgl.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567230761D90400A33029 /* testthread (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B595C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testthread (Upgraded)" */;
+ buildPhases = (
+ BEC567250761D90400A33029 /* Headers */,
+ BEC567260761D90400A33029 /* Resources */,
+ BEC567280761D90400A33029 /* Sources */,
+ BEC5672A0761D90400A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568430761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testthread (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testthread;
+ productReference = BEC5672E0761D90400A33029 /* testthread.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567300761D90400A33029 /* testjoystick (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B596008BDB826006539E9 /* Build configuration list for PBXNativeTarget "testjoystick (Upgraded)" */;
+ buildPhases = (
+ BEC567320761D90400A33029 /* Headers */,
+ BEC567330761D90400A33029 /* Resources */,
+ BEC567350761D90400A33029 /* Sources */,
+ BEC567370761D90400A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568450761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testjoystick (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testjoystick;
+ productReference = BEC5673B0761D90400A33029 /* testjoystick.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC5673D0761D90400A33029 /* testkeys (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B596408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testkeys (Upgraded)" */;
+ buildPhases = (
+ BEC5673F0761D90400A33029 /* Headers */,
+ BEC567400761D90400A33029 /* Resources */,
+ BEC567420761D90400A33029 /* Sources */,
+ BEC567440761D90400A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568470761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testkeys (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testkeys;
+ productReference = BEC567480761D90400A33029 /* testkeys.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC5674A0761D90400A33029 /* testlock (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B596808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testlock (Upgraded)" */;
+ buildPhases = (
+ BEC5674C0761D90400A33029 /* Headers */,
+ BEC5674D0761D90400A33029 /* Resources */,
+ BEC5674F0761D90400A33029 /* Sources */,
+ BEC567510761D90400A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568490761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testlock (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testlock;
+ productReference = BEC567550761D90400A33029 /* testlock.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567570761D90400A33029 /* testoverlay (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B599C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testoverlay (Upgraded)" */;
+ buildPhases = (
+ BEC567590761D90400A33029 /* Headers */,
+ BEC5675A0761D90400A33029 /* Resources */,
+ BEC5675C0761D90400A33029 /* Sources */,
+ BEC5675E0761D90400A33029 /* Frameworks */,
+ 00794F6109D24125003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC5684B0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testoverlay (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testoverlay;
+ productReference = BEC567620761D90400A33029 /* testoverlay.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567640761D90400A33029 /* testpalette (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B596C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testpalette (Upgraded)" */;
+ buildPhases = (
+ BEC567660761D90400A33029 /* Headers */,
+ BEC567670761D90400A33029 /* Resources */,
+ BEC567690761D90400A33029 /* Sources */,
+ BEC5676B0761D90400A33029 /* Frameworks */,
+ 00794EFC09D2381C003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC5684D0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testpalette (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testpalette;
+ productReference = BEC567700761D90500A33029 /* testpalette.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567720761D90500A33029 /* testsem (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B597008BDB826006539E9 /* Build configuration list for PBXNativeTarget "testsem (Upgraded)" */;
+ buildPhases = (
+ BEC567740761D90500A33029 /* Headers */,
+ BEC567750761D90500A33029 /* Resources */,
+ BEC567770761D90500A33029 /* Sources */,
+ BEC567790761D90500A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC5684F0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testsem (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testsem;
+ productReference = BEC5677D0761D90500A33029 /* testsem.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC5677F0761D90500A33029 /* testsprite (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B597408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testsprite (Upgraded)" */;
+ buildPhases = (
+ BEC567810761D90500A33029 /* Headers */,
+ BEC567820761D90500A33029 /* Resources */,
+ BEC567840761D90500A33029 /* Sources */,
+ BEC567860761D90500A33029 /* Frameworks */,
+ 00794F0209D2385F003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568510761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testsprite (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testsprite;
+ productReference = BEC5678B0761D90500A33029 /* testsprite.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC5678D0761D90500A33029 /* testtimer (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B597808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testtimer (Upgraded)" */;
+ buildPhases = (
+ BEC5678F0761D90500A33029 /* Headers */,
+ BEC567900761D90500A33029 /* Resources */,
+ BEC567920761D90500A33029 /* Sources */,
+ BEC567940761D90500A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568530761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testtimer (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testtimer;
+ productReference = BEC567980761D90500A33029 /* testtimer.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567A70761D90500A33029 /* testversion (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B598008BDB826006539E9 /* Build configuration list for PBXNativeTarget "testversion (Upgraded)" */;
+ buildPhases = (
+ BEC567A90761D90500A33029 /* Headers */,
+ BEC567AA0761D90500A33029 /* Resources */,
+ BEC567AC0761D90500A33029 /* Sources */,
+ BEC567AE0761D90500A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568570761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testversion (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testversion;
+ productReference = BEC567B20761D90500A33029 /* testversion.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567B40761D90500A33029 /* testvidinfo (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B598408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testvidinfo (Upgraded)" */;
+ buildPhases = (
+ BEC567B60761D90500A33029 /* Headers */,
+ BEC567B70761D90500A33029 /* Resources */,
+ BEC567B90761D90500A33029 /* Sources */,
+ BEC567BB0761D90500A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568590761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testvidinfo (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testvidinfo;
+ productReference = BEC567BF0761D90500A33029 /* testvidinfo.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567C10761D90500A33029 /* testwin (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B598808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testwin (Upgraded)" */;
+ buildPhases = (
+ BEC567C30761D90500A33029 /* Headers */,
+ BEC567C40761D90500A33029 /* Resources */,
+ BEC567C60761D90500A33029 /* Sources */,
+ BEC567C80761D90500A33029 /* Frameworks */,
+ 00794F0909D238E3003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC5685B0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testwin (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testwin;
+ productReference = BEC567CD0761D90500A33029 /* testwin.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567CF0761D90500A33029 /* testwm (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B598C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testwm (Upgraded)" */;
+ buildPhases = (
+ BEC567D10761D90500A33029 /* Headers */,
+ BEC567D20761D90500A33029 /* Resources */,
+ BEC567D40761D90500A33029 /* Sources */,
+ BEC567D60761D90500A33029 /* Frameworks */,
+ 00794F0F09D23923003FC8A1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC5685D0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "testwm (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = testwm;
+ productReference = BEC567DB0761D90600A33029 /* testwm.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567DD0761D90600A33029 /* threadwin (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B599008BDB826006539E9 /* Build configuration list for PBXNativeTarget "threadwin (Upgraded)" */;
+ buildPhases = (
+ BEC567DF0761D90600A33029 /* Headers */,
+ BEC567E00761D90600A33029 /* Resources */,
+ BEC567E20761D90600A33029 /* Sources */,
+ BEC567E40761D90600A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC5685F0761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "threadwin (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = threadwin;
+ productReference = BEC567E80761D90600A33029 /* threadwin.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567EA0761D90600A33029 /* torturethread (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B599408BDB826006539E9 /* Build configuration list for PBXNativeTarget "torturethread (Upgraded)" */;
+ buildPhases = (
+ BEC567EC0761D90600A33029 /* Headers */,
+ BEC567ED0761D90600A33029 /* Resources */,
+ BEC567EF0761D90600A33029 /* Sources */,
+ BEC567F10761D90600A33029 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ BEC568610761D90600A33029 /* PBXTargetDependency */,
+ );
+ name = "torturethread (Upgraded)";
+ productInstallPath = "$(USER_APPS_DIR)";
+ productName = tortureThread;
+ productReference = BEC567F50761D90600A33029 /* torturethread.app */;
+ productType = "com.apple.product-type.application";
+ };
+ BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 001B593408BDB826006539E9 /* Build configuration list for PBXNativeTarget "libsdlmain.a (Upgraded)" */;
+ buildPhases = (
+ BEC567F80761D90600A33029 /* Headers */,
+ BEC567FB0761D90600A33029 /* Sources */,
+ BEC567FD0761D90600A33029 /* Frameworks */,
+ BEC567FE0761D90600A33029 /* Rez */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "libsdlmain.a (Upgraded)";
+ productInstallPath = /usr/local/lib;
+ productName = libsdlmain.a;
+ productReference = BEC567FF0761D90600A33029 /* libsdlmain.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 08FB7793FE84155DC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 001B5A0C08BDB826006539E9 /* Build configuration list for PBXProject "SDLTest" */;
+ compatibilityVersion = "Xcode 2.4";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = 08FB7794FE84155DC02AAC07 /* SDLTest */;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 003FA63B093FFD41000C53B3 /* Products */;
+ ProjectRef = 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ BEC566920761D90300A33029 /* All */,
+ BEC566AB0761D90300A33029 /* checkkeys (Upgraded) */,
+ BEC566B80761D90300A33029 /* graywin (Upgraded) */,
+ BEC566C50761D90300A33029 /* loopwave (Upgraded) */,
+ BEC566D30761D90300A33029 /* testalpha (Upgraded) */,
+ BEC566E10761D90300A33029 /* testbitmap (Upgraded) */,
+ 002F338609CA16BF00EBEB88 /* testblitspeed */,
+ BEC566EE0761D90300A33029 /* testcdrom (Upgraded) */,
+ 002F33CA09CA19A600EBEB88 /* testdyngl */,
+ BEC566FB0761D90300A33029 /* testerror (Upgraded) */,
+ 002F340109CA1BFF00EBEB88 /* testfile */,
+ BEC567080761D90400A33029 /* testgamma (Upgraded) */,
+ BEC567160761D90400A33029 /* testgl (Upgraded) */,
+ 002F342009CA1F0300EBEB88 /* testiconv */,
+ BEC567300761D90400A33029 /* testjoystick (Upgraded) */,
+ BEC5673D0761D90400A33029 /* testkeys (Upgraded) */,
+ BEC5674A0761D90400A33029 /* testlock (Upgraded) */,
+ BEC567570761D90400A33029 /* testoverlay (Upgraded) */,
+ 002F343C09CA1FB300EBEB88 /* testoverlay2 */,
+ BEC567640761D90400A33029 /* testpalette (Upgraded) */,
+ 002F345909CA204F00EBEB88 /* testplatform */,
+ BEC567720761D90500A33029 /* testsem (Upgraded) */,
+ BEC5677F0761D90500A33029 /* testsprite (Upgraded) */,
+ BEC567230761D90400A33029 /* testthread (Upgraded) */,
+ BEC5678D0761D90500A33029 /* testtimer (Upgraded) */,
+ BEC567A70761D90500A33029 /* testversion (Upgraded) */,
+ BEC567B40761D90500A33029 /* testvidinfo (Upgraded) */,
+ BEC567C10761D90500A33029 /* testwin (Upgraded) */,
+ BEC567CF0761D90500A33029 /* testwm (Upgraded) */,
+ BEC567DD0761D90600A33029 /* threadwin (Upgraded) */,
+ BEC567EA0761D90600A33029 /* torturethread (Upgraded) */,
+ BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */,
+ 002F337009CA14F900EBEB88 /* test */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+ 003FA643093FFD41000C53B3 /* SDL.framework */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.framework;
+ path = SDL.framework;
+ remoteRef = 003FA642093FFD41000C53B3 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 003FA645093FFD41000C53B3 /* libSDL.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libSDL.a;
+ remoteRef = 003FA644093FFD41000C53B3 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 003FA647093FFD41000C53B3 /* libSDLmain.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libSDLmain.a;
+ remoteRef = 003FA646093FFD41000C53B3 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 003FA649093FFD41000C53B3 /* Standard DMG */ = {
+ isa = PBXReferenceProxy;
+ fileType = "compiled.mach-o.executable";
+ path = "Standard DMG";
+ remoteRef = 003FA648093FFD41000C53B3 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 003FA64B093FFD41000C53B3 /* Developer Extras Package */ = {
+ isa = PBXReferenceProxy;
+ fileType = "compiled.mach-o.executable";
+ path = "Developer Extras Package";
+ remoteRef = 003FA64A093FFD41000C53B3 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 002F337409CA14F900EBEB88 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F337509CA14F900EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F338A09CA16BF00EBEB88 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F338B09CA16BF00EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F33CE09CA19A600EBEB88 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F33CF09CA19A600EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F340509CA1BFF00EBEB88 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F340609CA1BFF00EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F342409CA1F0300EBEB88 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F342509CA1F0300EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F344009CA1FB300EBEB88 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F344109CA1FB300EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F345D09CA204F00EBEB88 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F345E09CA204F00EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566AE0761D90300A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566AF0761D90300A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566BB0761D90300A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566BC0761D90300A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566C80761D90300A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566C90761D90300A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566D60761D90300A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566D70761D90300A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566E40761D90300A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566E50761D90300A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566F10761D90300A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566F20761D90300A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566FE0761D90300A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566FF0761D90300A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5670B0761D90400A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5670C0761D90400A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567190761D90400A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5671A0761D90400A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567260761D90400A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567270761D90400A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567330761D90400A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567340761D90400A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567400761D90400A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567410761D90400A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5674D0761D90400A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5674E0761D90400A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5675A0761D90400A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567670761D90400A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567680761D90400A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567750761D90500A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567760761D90500A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567820761D90500A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567830761D90500A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567900761D90500A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567910761D90500A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567AA0761D90500A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567AB0761D90500A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567B70761D90500A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567B80761D90500A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567C40761D90500A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567C50761D90500A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567D20761D90500A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567D30761D90500A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567E00761D90600A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567E10761D90600A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567ED0761D90600A33029 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567EE0761D90600A33029 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXRezBuildPhase section */
+ BEC567FE0761D90600A33029 /* Rez */ = {
+ isa = PBXRezBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXRezBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 002F337609CA14F900EBEB88 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F338C09CA16BF00EBEB88 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F339B09CA17BC00EBEB88 /* testblitspeed.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F33D009CA19A600EBEB88 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F33E309CA1A0B00EBEB88 /* testdyngl.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F340709CA1BFF00EBEB88 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F341809CA1C5B00EBEB88 /* testfile.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F342609CA1F0300EBEB88 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F343709CA1F6F00EBEB88 /* testiconv.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F344209CA1FB300EBEB88 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F345409CA202000EBEB88 /* testoverlay2.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 002F345F09CA204F00EBEB88 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F347009CA20A600EBEB88 /* testplatform.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566B00761D90300A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566B10761D90300A33029 /* checkkeys.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566BD0761D90300A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566BE0761D90300A33029 /* graywin.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566CA0761D90300A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566CB0761D90300A33029 /* loopwave.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566D80761D90300A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566D90761D90300A33029 /* testalpha.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566E60761D90300A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566E70761D90300A33029 /* testbitmap.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC566F30761D90300A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC566F40761D90300A33029 /* testcdrom.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567000761D90300A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567010761D90300A33029 /* testerror.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5670D0761D90400A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5670E0761D90400A33029 /* testgamma.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5671B0761D90400A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5671C0761D90400A33029 /* testgl.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567280761D90400A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567290761D90400A33029 /* testhread.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567350761D90400A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567360761D90400A33029 /* testjoystick.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567420761D90400A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567430761D90400A33029 /* testkeys.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5674F0761D90400A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567500761D90400A33029 /* testlock.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC5675C0761D90400A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5675D0761D90400A33029 /* testoverlay.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567690761D90400A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC5676A0761D90400A33029 /* testpalette.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567770761D90500A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567780761D90500A33029 /* testsem.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567840761D90500A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567850761D90500A33029 /* testsprite.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567920761D90500A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567930761D90500A33029 /* testtimer.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567AC0761D90500A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567AD0761D90500A33029 /* testver.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567B90761D90500A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567BA0761D90500A33029 /* testvidinfo.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567C60761D90500A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567C70761D90500A33029 /* testwin.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567D40761D90500A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567D50761D90500A33029 /* testwm.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567E20761D90600A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567E30761D90600A33029 /* threadwin.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567EF0761D90600A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567F00761D90600A33029 /* torturethread.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BEC567FB0761D90600A33029 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BEC567FC0761D90600A33029 /* SDLMain.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 002F337109CA14F900EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = 002F337209CA14F900EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F338709CA16BF00EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = 002F338809CA16BF00EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F33CB09CA19A600EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = 002F33CC09CA19A600EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F340209CA1BFF00EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = 002F340309CA1BFF00EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F342109CA1F0300EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = 002F342209CA1F0300EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F343D09CA1FB300EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = 002F343E09CA1FB300EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F345A09CA204F00EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = 002F345B09CA204F00EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F347909CA215600EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 002F338609CA16BF00EBEB88 /* testblitspeed */;
+ targetProxy = 002F347809CA215600EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F347B09CA215600EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 002F33CA09CA19A600EBEB88 /* testdyngl */;
+ targetProxy = 002F347A09CA215600EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F347D09CA215600EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 002F340109CA1BFF00EBEB88 /* testfile */;
+ targetProxy = 002F347C09CA215600EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F347F09CA215600EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 002F342009CA1F0300EBEB88 /* testiconv */;
+ targetProxy = 002F347E09CA215600EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F348109CA215600EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567570761D90400A33029 /* testoverlay (Upgraded) */;
+ targetProxy = 002F348009CA215600EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F348309CA215600EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 002F343C09CA1FB300EBEB88 /* testoverlay2 */;
+ targetProxy = 002F348209CA215600EBEB88 /* PBXContainerItemProxy */;
+ };
+ 002F348509CA215600EBEB88 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 002F345909CA204F00EBEB88 /* testplatform */;
+ targetProxy = 002F348409CA215600EBEB88 /* PBXContainerItemProxy */;
+ };
+ 003FA6A809400236000C53B3 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = Framework;
+ targetProxy = 003FA6A709400236000C53B3 /* PBXContainerItemProxy */;
+ };
+ BEC568010761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC566AB0761D90300A33029 /* checkkeys (Upgraded) */;
+ targetProxy = BEC568000761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568030761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC566B80761D90300A33029 /* graywin (Upgraded) */;
+ targetProxy = BEC568020761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568050761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC566C50761D90300A33029 /* loopwave (Upgraded) */;
+ targetProxy = BEC568040761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568070761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC566D30761D90300A33029 /* testalpha (Upgraded) */;
+ targetProxy = BEC568060761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568090761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC566E10761D90300A33029 /* testbitmap (Upgraded) */;
+ targetProxy = BEC568080761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5680B0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC566EE0761D90300A33029 /* testcdrom (Upgraded) */;
+ targetProxy = BEC5680A0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5680D0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC566FB0761D90300A33029 /* testerror (Upgraded) */;
+ targetProxy = BEC5680C0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5680F0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567080761D90400A33029 /* testgamma (Upgraded) */;
+ targetProxy = BEC5680E0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568110761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567160761D90400A33029 /* testgl (Upgraded) */;
+ targetProxy = BEC568100761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568130761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567230761D90400A33029 /* testthread (Upgraded) */;
+ targetProxy = BEC568120761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568150761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567300761D90400A33029 /* testjoystick (Upgraded) */;
+ targetProxy = BEC568140761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568170761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC5673D0761D90400A33029 /* testkeys (Upgraded) */;
+ targetProxy = BEC568160761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568190761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC5674A0761D90400A33029 /* testlock (Upgraded) */;
+ targetProxy = BEC568180761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5681B0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567640761D90400A33029 /* testpalette (Upgraded) */;
+ targetProxy = BEC5681A0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5681D0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567720761D90500A33029 /* testsem (Upgraded) */;
+ targetProxy = BEC5681C0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5681F0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC5677F0761D90500A33029 /* testsprite (Upgraded) */;
+ targetProxy = BEC5681E0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568210761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC5678D0761D90500A33029 /* testtimer (Upgraded) */;
+ targetProxy = BEC568200761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568250761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567A70761D90500A33029 /* testversion (Upgraded) */;
+ targetProxy = BEC568240761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568270761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567B40761D90500A33029 /* testvidinfo (Upgraded) */;
+ targetProxy = BEC568260761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568290761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567C10761D90500A33029 /* testwin (Upgraded) */;
+ targetProxy = BEC568280761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5682B0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567CF0761D90500A33029 /* testwm (Upgraded) */;
+ targetProxy = BEC5682A0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5682D0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567DD0761D90600A33029 /* threadwin (Upgraded) */;
+ targetProxy = BEC5682C0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5682F0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567EA0761D90600A33029 /* torturethread (Upgraded) */;
+ targetProxy = BEC5682E0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568310761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568300761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568330761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568320761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568350761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568340761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568370761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568360761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568390761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568380761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5683B0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC5683A0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5683D0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC5683C0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5683F0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC5683E0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568410761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568400761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568430761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568420761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568450761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568440761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568470761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568460761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568490761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568480761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5684B0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC5684A0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5684D0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC5684C0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5684F0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC5684E0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568510761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568500761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568530761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568520761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568570761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568560761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568590761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568580761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5685B0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC5685A0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5685D0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC5685C0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC5685F0761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC5685E0761D90600A33029 /* PBXContainerItemProxy */;
+ };
+ BEC568610761D90600A33029 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BEC567F70761D90600A33029 /* libsdlmain.a (Upgraded) */;
+ targetProxy = BEC568600761D90600A33029 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 001B593508BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREFIX_HEADER = libsdlmain_prefix.h;
+ PRODUCT_NAME = sdlmain;
+ };
+ name = Deployment;
+ };
+ 001B593608BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREFIX_HEADER = libsdlmain_prefix.h;
+ PRODUCT_NAME = sdlmain;
+ };
+ name = Development;
+ };
+ 001B593708BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREFIX_HEADER = libsdlmain_prefix.h;
+ PRODUCT_NAME = sdlmain;
+ };
+ name = Default;
+ };
+ 001B593908BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-checkkeys__Upgraded_.plist";
+ PRODUCT_NAME = checkkeys;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B593A08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-checkkeys__Upgraded_.plist";
+ PRODUCT_NAME = checkkeys;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B593B08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-checkkeys__Upgraded_.plist";
+ PRODUCT_NAME = checkkeys;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B593D08BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-graywin__Upgraded_.plist";
+ PRODUCT_NAME = graywin;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B593E08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-graywin__Upgraded_.plist";
+ PRODUCT_NAME = graywin;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B593F08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-graywin__Upgraded_.plist";
+ PRODUCT_NAME = graywin;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B594108BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-loopwave__Upgraded_.plist";
+ PRODUCT_NAME = loopwave;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B594208BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-loopwave__Upgraded_.plist";
+ PRODUCT_NAME = loopwave;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B594308BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-loopwave__Upgraded_.plist";
+ PRODUCT_NAME = loopwave;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B594508BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testalpha__Upgraded_.plist";
+ PRODUCT_NAME = testalpha;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B594608BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testalpha__Upgraded_.plist";
+ PRODUCT_NAME = testalpha;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B594708BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testalpha__Upgraded_.plist";
+ PRODUCT_NAME = testalpha;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B594908BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testbitmap__Upgraded_.plist";
+ PRODUCT_NAME = testbitmap;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B594A08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testbitmap__Upgraded_.plist";
+ PRODUCT_NAME = testbitmap;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B594B08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testbitmap__Upgraded_.plist";
+ PRODUCT_NAME = testbitmap;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B594D08BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testcdrom__Upgraded_.plist";
+ PRODUCT_NAME = testcdrom;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B594E08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testcdrom__Upgraded_.plist";
+ PRODUCT_NAME = testcdrom;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B594F08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testcdrom__Upgraded_.plist";
+ PRODUCT_NAME = testcdrom;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B595108BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testerror__Upgraded_.plist";
+ PRODUCT_NAME = testerror;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B595208BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testerror__Upgraded_.plist";
+ PRODUCT_NAME = testerror;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B595308BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testerror__Upgraded_.plist";
+ PRODUCT_NAME = testerror;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B595508BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testgamma__Upgraded_.plist";
+ PRODUCT_NAME = testgamma;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B595608BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testgamma__Upgraded_.plist";
+ PRODUCT_NAME = testgamma;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B595708BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testgamma__Upgraded_.plist";
+ PRODUCT_NAME = testgamma;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B595908BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = HAVE_OPENGL;
+ INFOPLIST_FILE = "Info-testgl__Upgraded_.plist";
+ PRODUCT_NAME = testgl;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B595A08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = HAVE_OPENGL;
+ INFOPLIST_FILE = "Info-testgl__Upgraded_.plist";
+ PRODUCT_NAME = testgl;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B595B08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = HAVE_OPENGL;
+ INFOPLIST_FILE = "Info-testgl__Upgraded_.plist";
+ PRODUCT_NAME = testgl;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B595D08BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testthread__Upgraded_.plist";
+ PRODUCT_NAME = testthread;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B595E08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testthread__Upgraded_.plist";
+ PRODUCT_NAME = testthread;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B595F08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testthread__Upgraded_.plist";
+ PRODUCT_NAME = testthread;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B596108BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testjoystick__Upgraded_.plist";
+ PRODUCT_NAME = testjoystick;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B596208BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testjoystick__Upgraded_.plist";
+ PRODUCT_NAME = testjoystick;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B596308BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testjoystick__Upgraded_.plist";
+ PRODUCT_NAME = testjoystick;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B596508BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testkeys__Upgraded_.plist";
+ PRODUCT_NAME = testkeys;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B596608BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testkeys__Upgraded_.plist";
+ PRODUCT_NAME = testkeys;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B596708BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testkeys__Upgraded_.plist";
+ PRODUCT_NAME = testkeys;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B596908BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testlock__Upgraded_.plist";
+ PRODUCT_NAME = testlock;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B596A08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testlock__Upgraded_.plist";
+ PRODUCT_NAME = testlock;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B596B08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testlock__Upgraded_.plist";
+ PRODUCT_NAME = testlock;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B596D08BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testpalette__Upgraded_.plist";
+ PRODUCT_NAME = testpalette;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B596E08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testpalette__Upgraded_.plist";
+ PRODUCT_NAME = testpalette;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B596F08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testpalette__Upgraded_.plist";
+ PRODUCT_NAME = testpalette;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B597108BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testsem__Upgraded_.plist";
+ PRODUCT_NAME = testsem;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B597208BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testsem__Upgraded_.plist";
+ PRODUCT_NAME = testsem;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B597308BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testsem__Upgraded_.plist";
+ PRODUCT_NAME = testsem;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B597508BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testsprite__Upgraded_.plist";
+ PRODUCT_NAME = testsprite;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B597608BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testsprite__Upgraded_.plist";
+ PRODUCT_NAME = testsprite;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B597708BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testsprite__Upgraded_.plist";
+ PRODUCT_NAME = testsprite;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B597908BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testtimer__Upgraded_.plist";
+ PRODUCT_NAME = testtimer;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B597A08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testtimer__Upgraded_.plist";
+ PRODUCT_NAME = testtimer;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B597B08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testtimer__Upgraded_.plist";
+ PRODUCT_NAME = testtimer;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B598108BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testversion__Upgraded_.plist";
+ PRODUCT_NAME = testversion;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B598208BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testversion__Upgraded_.plist";
+ PRODUCT_NAME = testversion;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B598308BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testversion__Upgraded_.plist";
+ PRODUCT_NAME = testversion;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B598508BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testvidinfo__Upgraded_.plist";
+ PRODUCT_NAME = testvidinfo;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B598608BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testvidinfo__Upgraded_.plist";
+ PRODUCT_NAME = testvidinfo;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B598708BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testvidinfo__Upgraded_.plist";
+ PRODUCT_NAME = testvidinfo;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B598908BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testwin__Upgraded_.plist";
+ PRODUCT_NAME = testwin;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B598A08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testwin__Upgraded_.plist";
+ PRODUCT_NAME = testwin;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B598B08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testwin__Upgraded_.plist";
+ PRODUCT_NAME = testwin;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B598D08BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testwm__Upgraded_.plist";
+ PRODUCT_NAME = testwm;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B598E08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testwm__Upgraded_.plist";
+ PRODUCT_NAME = testwm;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B598F08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testwm__Upgraded_.plist";
+ PRODUCT_NAME = testwm;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B599108BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-threadwin__Upgraded_.plist";
+ PRODUCT_NAME = threadwin;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B599208BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-threadwin__Upgraded_.plist";
+ PRODUCT_NAME = threadwin;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B599308BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-threadwin__Upgraded_.plist";
+ PRODUCT_NAME = threadwin;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B599508BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-torturethread__Upgraded_.plist";
+ PRODUCT_NAME = torturethread;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B599608BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-torturethread__Upgraded_.plist";
+ PRODUCT_NAME = torturethread;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B599708BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-torturethread__Upgraded_.plist";
+ PRODUCT_NAME = torturethread;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B599908BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUGGING_SYMBOLS = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ OTHER_REZFLAGS = "";
+ PRODUCT_NAME = "Build All";
+ SECTORDER_FLAGS = "";
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ ZERO_LINK = NO;
+ };
+ name = Deployment;
+ };
+ 001B599A08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ OTHER_REZFLAGS = "";
+ PRODUCT_NAME = "Build All";
+ SECTORDER_FLAGS = "";
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ ZERO_LINK = YES;
+ };
+ name = Development;
+ };
+ 001B599B08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ OTHER_REZFLAGS = "";
+ PRODUCT_NAME = "Build All";
+ SECTORDER_FLAGS = "";
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ };
+ name = Default;
+ };
+ 001B599D08BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testoverlay__Upgraded_.plist";
+ PRODUCT_NAME = testoverlay;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 001B599E08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testoverlay__Upgraded_.plist";
+ PRODUCT_NAME = testoverlay;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 001B599F08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testoverlay__Upgraded_.plist";
+ PRODUCT_NAME = testoverlay;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 001B5A0D08BDB826006539E9 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
+ ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SRCROOT)/../SDL/build/$(CONFIGURATION)",
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ );
+ GCC_VERSION_i386 = 4.0;
+ GCC_VERSION_ppc = 4.0;
+ GCC_VERSION_x86_64 = 4.2;
+ HEADER_SEARCH_PATHS = (
+ ../../include,
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ );
+ MACOSX_DEPLOYMENT_TARGET_i386 = 10.4;
+ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ MACOSX_DEPLOYMENT_TARGET_x86_64 = 10.6;
+ WARNING_CFLAGS = "-Wmost";
+ ZERO_LINK = NO;
+ };
+ name = Deployment;
+ };
+ 001B5A0E08BDB826006539E9 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
+ ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SRCROOT)/../SDL/build/$(CONFIGURATION)",
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ );
+ GCC_VERSION_i386 = 4.0;
+ GCC_VERSION_ppc = 4.0;
+ GCC_VERSION_x86_64 = 4.2;
+ HEADER_SEARCH_PATHS = (
+ ../../include,
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ );
+ MACOSX_DEPLOYMENT_TARGET_i386 = 10.4;
+ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ MACOSX_DEPLOYMENT_TARGET_x86_64 = 10.6;
+ WARNING_CFLAGS = "-Wmost";
+ ZERO_LINK = NO;
+ };
+ name = Development;
+ };
+ 001B5A0F08BDB826006539E9 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
+ ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SRCROOT)/../SDL/build/$(CONFIGURATION)",
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ );
+ GCC_VERSION_i386 = 4.0;
+ GCC_VERSION_ppc = 4.0;
+ GCC_VERSION_x86_64 = 4.2;
+ HEADER_SEARCH_PATHS = (
+ ../../include,
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ );
+ MACOSX_DEPLOYMENT_TARGET_i386 = 10.4;
+ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ MACOSX_DEPLOYMENT_TARGET_x86_64 = 10.6;
+ WARNING_CFLAGS = "-Wmost";
+ ZERO_LINK = NO;
+ };
+ name = Default;
+ };
+ 002F337E09CA14F900EBEB88 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-test.plist";
+ PRODUCT_NAME = test;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 002F337F09CA14F900EBEB88 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-test.plist";
+ PRODUCT_NAME = test;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 002F338009CA14F900EBEB88 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-test.plist";
+ PRODUCT_NAME = test;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 002F339409CA16BF00EBEB88 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testblitspeed.plist";
+ PRODUCT_NAME = testblitspeed;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 002F339509CA16BF00EBEB88 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testblitspeed.plist";
+ PRODUCT_NAME = testblitspeed;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 002F339609CA16BF00EBEB88 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testblitspeed.plist";
+ PRODUCT_NAME = testblitspeed;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 002F33D809CA19A600EBEB88 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(GCC_PREPROCESSOR_DEFINITIONS)",
+ HAVE_OPENGL,
+ );
+ INFOPLIST_FILE = "Info-testdyngl.plist";
+ PRODUCT_NAME = testdyngl;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 002F33D909CA19A600EBEB88 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(GCC_PREPROCESSOR_DEFINITIONS)",
+ HAVE_OPENGL,
+ );
+ INFOPLIST_FILE = "Info-testdyngl.plist";
+ PRODUCT_NAME = testdyngl;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 002F33DA09CA19A600EBEB88 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(GCC_PREPROCESSOR_DEFINITIONS)",
+ HAVE_OPENGL,
+ );
+ INFOPLIST_FILE = "Info-testdyngl.plist";
+ PRODUCT_NAME = testdyngl;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 002F340F09CA1BFF00EBEB88 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testfile.plist";
+ PRODUCT_NAME = testfile;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 002F341009CA1BFF00EBEB88 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testfile.plist";
+ PRODUCT_NAME = testfile;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 002F341109CA1BFF00EBEB88 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testfile.plist";
+ PRODUCT_NAME = testfile;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 002F342E09CA1F0300EBEB88 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testiconv.plist";
+ PRODUCT_NAME = testiconv;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 002F342F09CA1F0300EBEB88 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testiconv.plist";
+ PRODUCT_NAME = testiconv;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 002F343009CA1F0300EBEB88 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testiconv.plist";
+ PRODUCT_NAME = testiconv;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 002F344A09CA1FB300EBEB88 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testoverlay2.plist";
+ PRODUCT_NAME = testoverlay2;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 002F344B09CA1FB300EBEB88 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testoverlay2.plist";
+ PRODUCT_NAME = testoverlay2;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 002F344C09CA1FB300EBEB88 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testoverlay2.plist";
+ PRODUCT_NAME = testoverlay2;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 002F346709CA204F00EBEB88 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testplatform.plist";
+ PRODUCT_NAME = testplatform;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Deployment;
+ };
+ 002F346809CA204F00EBEB88 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testplatform.plist";
+ PRODUCT_NAME = testplatform;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Development;
+ };
+ 002F346909CA204F00EBEB88 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "Info-testplatform.plist";
+ PRODUCT_NAME = testplatform;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 001B593408BDB826006539E9 /* Build configuration list for PBXNativeTarget "libsdlmain.a (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B593508BDB826006539E9 /* Deployment */,
+ 001B593608BDB826006539E9 /* Development */,
+ 001B593708BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B593808BDB826006539E9 /* Build configuration list for PBXNativeTarget "checkkeys (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B593908BDB826006539E9 /* Deployment */,
+ 001B593A08BDB826006539E9 /* Development */,
+ 001B593B08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B593C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "graywin (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B593D08BDB826006539E9 /* Deployment */,
+ 001B593E08BDB826006539E9 /* Development */,
+ 001B593F08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B594008BDB826006539E9 /* Build configuration list for PBXNativeTarget "loopwave (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B594108BDB826006539E9 /* Deployment */,
+ 001B594208BDB826006539E9 /* Development */,
+ 001B594308BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B594408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testalpha (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B594508BDB826006539E9 /* Deployment */,
+ 001B594608BDB826006539E9 /* Development */,
+ 001B594708BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B594808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testbitmap (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B594908BDB826006539E9 /* Deployment */,
+ 001B594A08BDB826006539E9 /* Development */,
+ 001B594B08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B594C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testcdrom (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B594D08BDB826006539E9 /* Deployment */,
+ 001B594E08BDB826006539E9 /* Development */,
+ 001B594F08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B595008BDB826006539E9 /* Build configuration list for PBXNativeTarget "testerror (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B595108BDB826006539E9 /* Deployment */,
+ 001B595208BDB826006539E9 /* Development */,
+ 001B595308BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B595408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testgamma (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B595508BDB826006539E9 /* Deployment */,
+ 001B595608BDB826006539E9 /* Development */,
+ 001B595708BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B595808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testgl (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B595908BDB826006539E9 /* Deployment */,
+ 001B595A08BDB826006539E9 /* Development */,
+ 001B595B08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B595C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testthread (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B595D08BDB826006539E9 /* Deployment */,
+ 001B595E08BDB826006539E9 /* Development */,
+ 001B595F08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B596008BDB826006539E9 /* Build configuration list for PBXNativeTarget "testjoystick (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B596108BDB826006539E9 /* Deployment */,
+ 001B596208BDB826006539E9 /* Development */,
+ 001B596308BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B596408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testkeys (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B596508BDB826006539E9 /* Deployment */,
+ 001B596608BDB826006539E9 /* Development */,
+ 001B596708BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B596808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testlock (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B596908BDB826006539E9 /* Deployment */,
+ 001B596A08BDB826006539E9 /* Development */,
+ 001B596B08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B596C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testpalette (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B596D08BDB826006539E9 /* Deployment */,
+ 001B596E08BDB826006539E9 /* Development */,
+ 001B596F08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B597008BDB826006539E9 /* Build configuration list for PBXNativeTarget "testsem (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B597108BDB826006539E9 /* Deployment */,
+ 001B597208BDB826006539E9 /* Development */,
+ 001B597308BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B597408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testsprite (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B597508BDB826006539E9 /* Deployment */,
+ 001B597608BDB826006539E9 /* Development */,
+ 001B597708BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B597808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testtimer (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B597908BDB826006539E9 /* Deployment */,
+ 001B597A08BDB826006539E9 /* Development */,
+ 001B597B08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B598008BDB826006539E9 /* Build configuration list for PBXNativeTarget "testversion (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B598108BDB826006539E9 /* Deployment */,
+ 001B598208BDB826006539E9 /* Development */,
+ 001B598308BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B598408BDB826006539E9 /* Build configuration list for PBXNativeTarget "testvidinfo (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B598508BDB826006539E9 /* Deployment */,
+ 001B598608BDB826006539E9 /* Development */,
+ 001B598708BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B598808BDB826006539E9 /* Build configuration list for PBXNativeTarget "testwin (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B598908BDB826006539E9 /* Deployment */,
+ 001B598A08BDB826006539E9 /* Development */,
+ 001B598B08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B598C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testwm (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B598D08BDB826006539E9 /* Deployment */,
+ 001B598E08BDB826006539E9 /* Development */,
+ 001B598F08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B599008BDB826006539E9 /* Build configuration list for PBXNativeTarget "threadwin (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B599108BDB826006539E9 /* Deployment */,
+ 001B599208BDB826006539E9 /* Development */,
+ 001B599308BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B599408BDB826006539E9 /* Build configuration list for PBXNativeTarget "torturethread (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B599508BDB826006539E9 /* Deployment */,
+ 001B599608BDB826006539E9 /* Development */,
+ 001B599708BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B599808BDB826006539E9 /* Build configuration list for PBXAggregateTarget "All" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B599908BDB826006539E9 /* Deployment */,
+ 001B599A08BDB826006539E9 /* Development */,
+ 001B599B08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B599C08BDB826006539E9 /* Build configuration list for PBXNativeTarget "testoverlay (Upgraded)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B599D08BDB826006539E9 /* Deployment */,
+ 001B599E08BDB826006539E9 /* Development */,
+ 001B599F08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 001B5A0C08BDB826006539E9 /* Build configuration list for PBXProject "SDLTest" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 001B5A0D08BDB826006539E9 /* Deployment */,
+ 001B5A0E08BDB826006539E9 /* Development */,
+ 001B5A0F08BDB826006539E9 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 002F337D09CA14F900EBEB88 /* Build configuration list for PBXNativeTarget "test" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 002F337E09CA14F900EBEB88 /* Deployment */,
+ 002F337F09CA14F900EBEB88 /* Development */,
+ 002F338009CA14F900EBEB88 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 002F339309CA16BF00EBEB88 /* Build configuration list for PBXNativeTarget "testblitspeed" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 002F339409CA16BF00EBEB88 /* Deployment */,
+ 002F339509CA16BF00EBEB88 /* Development */,
+ 002F339609CA16BF00EBEB88 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 002F33D709CA19A600EBEB88 /* Build configuration list for PBXNativeTarget "testdyngl" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 002F33D809CA19A600EBEB88 /* Deployment */,
+ 002F33D909CA19A600EBEB88 /* Development */,
+ 002F33DA09CA19A600EBEB88 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 002F340E09CA1BFF00EBEB88 /* Build configuration list for PBXNativeTarget "testfile" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 002F340F09CA1BFF00EBEB88 /* Deployment */,
+ 002F341009CA1BFF00EBEB88 /* Development */,
+ 002F341109CA1BFF00EBEB88 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 002F342D09CA1F0300EBEB88 /* Build configuration list for PBXNativeTarget "testiconv" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 002F342E09CA1F0300EBEB88 /* Deployment */,
+ 002F342F09CA1F0300EBEB88 /* Development */,
+ 002F343009CA1F0300EBEB88 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 002F344909CA1FB300EBEB88 /* Build configuration list for PBXNativeTarget "testoverlay2" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 002F344A09CA1FB300EBEB88 /* Deployment */,
+ 002F344B09CA1FB300EBEB88 /* Development */,
+ 002F344C09CA1FB300EBEB88 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 002F346609CA204F00EBEB88 /* Build configuration list for PBXNativeTarget "testplatform" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 002F346709CA204F00EBEB88 /* Deployment */,
+ 002F346809CA204F00EBEB88 /* Development */,
+ 002F346909CA204F00EBEB88 /* Default */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/SDLTest/libsdlmain_prefix.h b/distrib/sdl-1.2.15/Xcode/SDLTest/libsdlmain_prefix.h
new file mode 100644
index 0000000..ed41c97
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/SDLTest/libsdlmain_prefix.h
@@ -0,0 +1,13 @@
+/*
+ * libsdlmain_prefix.h
+ * SDLTest
+ *
+ * Created by Darrell Walisser on Wed Aug 06 2003.
+ * Copyright (c) 2003 __MyCompanyName__. All rights reserved.
+ *
+ */
+
+#include <Cocoa/Cocoa.h>
+#include <Carbon/Carbon.h>
+#include "SDL.h"
+#include "SDLMain.h" \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/English.lproj/InfoPlist.strings b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/English.lproj/InfoPlist.strings
new file mode 100644
index 0000000..6e721b0
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/Info.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/Info.plist
new file mode 100644
index 0000000..e433204
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/Info.plist
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.___PROJECTNAMEASXML___</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+ <key>LSMinimumSystemVersionByArchitecture</key>
+ <dict>
+ <key>x86_64</key>
+ <string>10.6.0</string>
+ <key>i386</key>
+ <string>10.4.0</string>
+ <key>ppc</key>
+ <string>10.4.0</string>
+ </dict>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.h
new file mode 100644
index 0000000..c56d90c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.h
@@ -0,0 +1,16 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#ifndef _SDLMain_h_
+#define _SDLMain_h_
+
+#import <Cocoa/Cocoa.h>
+
+@interface SDLMain : NSObject
+@end
+
+#endif /* _SDLMain_h_ */
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.m b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.m
new file mode 100644
index 0000000..b065a20
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.m
@@ -0,0 +1,383 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#include "SDL.h"
+#include "SDLMain.h"
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
+
+/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
+ but the method still is there and works. To avoid warnings, we declare
+ it ourselves here. */
+@interface NSApplication(SDL_Missing_Methods)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+
+/* Use this flag to determine whether we use SDLMain.nib or not */
+#define SDL_USE_NIB_FILE 0
+
+/* Use this flag to determine whether we use CPS (docking) or not */
+#define SDL_USE_CPS 1
+#ifdef SDL_USE_CPS
+/* Portions of CPS.h */
+typedef struct CPSProcessSerNum
+{
+ UInt32 lo;
+ UInt32 hi;
+} CPSProcessSerNum;
+
+extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
+extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
+extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
+
+#endif /* SDL_USE_CPS */
+
+static int gArgc;
+static char **gArgv;
+static BOOL gFinderLaunch;
+static BOOL gCalledAppMainline = FALSE;
+
+static NSString *getApplicationName(void)
+{
+ const NSDictionary *dict;
+ NSString *appName = 0;
+
+ /* Determine the application name */
+ dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ if (dict)
+ appName = [dict objectForKey: @"CFBundleName"];
+
+ if (![appName length])
+ appName = [[NSProcessInfo processInfo] processName];
+
+ return appName;
+}
+
+#if SDL_USE_NIB_FILE
+/* A helper category for NSString */
+@interface NSString (ReplaceSubString)
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
+@end
+#endif
+
+@interface SDLApplication : NSApplication
+@end
+
+@implementation SDLApplication
+/* Invoked from the Quit menu item */
+- (void)terminate:(id)sender
+{
+ /* Post a SDL_QUIT event */
+ SDL_Event event;
+ event.type = SDL_QUIT;
+ SDL_PushEvent(&event);
+}
+@end
+
+/* The main class of the application, the application's delegate */
+@implementation SDLMain
+
+/* Set the working directory to the .app's parent directory */
+- (void) setupWorkingDirectory:(BOOL)shouldChdir
+{
+ if (shouldChdir)
+ {
+ char parentdir[MAXPATHLEN];
+ CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
+ if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
+ }
+ CFRelease(url);
+ CFRelease(url2);
+ }
+}
+
+#if SDL_USE_NIB_FILE
+
+/* Fix menu to contain the real app name instead of "SDL App" */
+- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
+{
+ NSRange aRange;
+ NSEnumerator *enumerator;
+ NSMenuItem *menuItem;
+
+ aRange = [[aMenu title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
+
+ enumerator = [[aMenu itemArray] objectEnumerator];
+ while ((menuItem = [enumerator nextObject]))
+ {
+ aRange = [[menuItem title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
+ if ([menuItem hasSubmenu])
+ [self fixMenu:[menuItem submenu] withAppName:appName];
+ }
+ [ aMenu sizeToFit ];
+}
+
+#else
+
+static void setApplicationMenu(void)
+{
+ /* warning: this code is very odd */
+ NSMenu *appleMenu;
+ NSMenuItem *menuItem;
+ NSString *title;
+ NSString *appName;
+
+ appName = getApplicationName();
+ appleMenu = [[NSMenu alloc] initWithTitle:@""];
+
+ /* Add menu items */
+ title = [@"About " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Hide " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
+
+ menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
+ [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
+
+ [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Quit " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
+
+
+ /* Put menu into the menubar */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
+ [menuItem setSubmenu:appleMenu];
+ [[NSApp mainMenu] addItem:menuItem];
+
+ /* Tell the application object that this is now the application menu */
+ [NSApp setAppleMenu:appleMenu];
+
+ /* Finally give up our references to the objects */
+ [appleMenu release];
+ [menuItem release];
+}
+
+/* Create a window menu */
+static void setupWindowMenu(void)
+{
+ NSMenu *windowMenu;
+ NSMenuItem *windowMenuItem;
+ NSMenuItem *menuItem;
+
+ windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
+
+ /* "Minimize" item */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
+ [windowMenu addItem:menuItem];
+ [menuItem release];
+
+ /* Put menu into the menubar */
+ windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
+ [windowMenuItem setSubmenu:windowMenu];
+ [[NSApp mainMenu] addItem:windowMenuItem];
+
+ /* Tell the application object that this is now the window menu */
+ [NSApp setWindowsMenu:windowMenu];
+
+ /* Finally give up our references to the objects */
+ [windowMenu release];
+ [windowMenuItem release];
+}
+
+/* Replacement for NSApplicationMain */
+static void CustomApplicationMain (int argc, char **argv)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ SDLMain *sdlMain;
+
+ /* Ensure the application object is initialised */
+ [SDLApplication sharedApplication];
+
+#ifdef SDL_USE_CPS
+ {
+ CPSProcessSerNum PSN;
+ /* Tell the dock about us */
+ if (!CPSGetCurrentProcess(&PSN))
+ if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
+ if (!CPSSetFrontProcess(&PSN))
+ [SDLApplication sharedApplication];
+ }
+#endif /* SDL_USE_CPS */
+
+ /* Set up the menubar */
+ [NSApp setMainMenu:[[NSMenu alloc] init]];
+ setApplicationMenu();
+ setupWindowMenu();
+
+ /* Create SDLMain and make it the app delegate */
+ sdlMain = [[SDLMain alloc] init];
+ [NSApp setDelegate:sdlMain];
+
+ /* Start the main event loop */
+ [NSApp run];
+
+ [sdlMain release];
+ [pool release];
+}
+
+#endif
+
+
+/*
+ * Catch document open requests...this lets us notice files when the app
+ * was launched by double-clicking a document, or when a document was
+ * dragged/dropped on the app's icon. You need to have a
+ * CFBundleDocumentsType section in your Info.plist to get this message,
+ * apparently.
+ *
+ * Files are added to gArgv, so to the app, they'll look like command line
+ * arguments. Previously, apps launched from the finder had nothing but
+ * an argv[0].
+ *
+ * This message may be received multiple times to open several docs on launch.
+ *
+ * This message is ignored once the app's mainline has been called.
+ */
+- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
+{
+ const char *temparg;
+ size_t arglen;
+ char *arg;
+ char **newargv;
+
+ if (!gFinderLaunch) /* MacOS is passing command line args. */
+ return FALSE;
+
+ if (gCalledAppMainline) /* app has started, ignore this document. */
+ return FALSE;
+
+ temparg = [filename UTF8String];
+ arglen = SDL_strlen(temparg) + 1;
+ arg = (char *) SDL_malloc(arglen);
+ if (arg == NULL)
+ return FALSE;
+
+ newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
+ if (newargv == NULL)
+ {
+ SDL_free(arg);
+ return FALSE;
+ }
+ gArgv = newargv;
+
+ SDL_strlcpy(arg, temparg, arglen);
+ gArgv[gArgc++] = arg;
+ gArgv[gArgc] = NULL;
+ return TRUE;
+}
+
+
+/* Called when the internal event loop has just started running */
+- (void) applicationDidFinishLaunching: (NSNotification *) note
+{
+ int status;
+
+ /* Set the working directory to the .app's parent directory */
+ [self setupWorkingDirectory:gFinderLaunch];
+
+#if SDL_USE_NIB_FILE
+ /* Set the main menu to contain the real app name instead of "SDL App" */
+ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
+#endif
+
+ /* Hand off to main application code */
+ gCalledAppMainline = TRUE;
+ status = SDL_main (gArgc, gArgv);
+
+ /* We're done, thank you for playing */
+ exit(status);
+}
+@end
+
+
+@implementation NSString (ReplaceSubString)
+
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
+{
+ unsigned int bufferSize;
+ unsigned int selfLen = [self length];
+ unsigned int aStringLen = [aString length];
+ unichar *buffer;
+ NSRange localRange;
+ NSString *result;
+
+ bufferSize = selfLen + aStringLen - aRange.length;
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+
+ /* Get first part into buffer */
+ localRange.location = 0;
+ localRange.length = aRange.location;
+ [self getCharacters:buffer range:localRange];
+
+ /* Get middle part into buffer */
+ localRange.location = 0;
+ localRange.length = aStringLen;
+ [aString getCharacters:(buffer+aRange.location) range:localRange];
+
+ /* Get last part into buffer */
+ localRange.location = aRange.location + aRange.length;
+ localRange.length = selfLen - localRange.location;
+ [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
+
+ /* Build output string */
+ result = [NSString stringWithCharacters:buffer length:bufferSize];
+
+ NSDeallocateMemoryPages(buffer, bufferSize);
+
+ return result;
+}
+
+@end
+
+
+
+#ifdef main
+# undef main
+#endif
+
+
+/* Main entry point to executable - should *not* be SDL_main! */
+int main (int argc, char **argv)
+{
+ /* Copy the arguments into a global variable */
+ /* This is passed if we are launched by double-clicking */
+ if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
+ gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
+ gArgv[0] = argv[0];
+ gArgv[1] = NULL;
+ gArgc = 1;
+ gFinderLaunch = YES;
+ } else {
+ int i;
+ gArgc = argc;
+ gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
+ for (i = 0; i <= argc; i++)
+ gArgv[i] = argv[i];
+ gFinderLaunch = NO;
+ }
+
+#if SDL_USE_NIB_FILE
+ [SDLApplication poseAsClass:[NSApplication class]];
+ NSApplicationMain (argc, argv);
+#else
+ CustomApplicationMain (argc, argv);
+#endif
+ return 0;
+}
+
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
new file mode 100644
index 0000000..0009507
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project
+//
+
+#include "SDL.h"
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
new file mode 100644
index 0000000..ae0b02b
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
new file mode 100644
index 0000000..d9ca454
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,12 @@
+{
+ FilesToRename = {
+ "SDLApp_Prefix.pch" = "ÇPROJECTNAMEÈ_Prefix.pch";
+ };
+ FilesToMacroExpand = (
+ "ÇPROJECTNAMEÈ_Prefix.pch",
+ "Info.plist",
+ "English.lproj/InfoPlist.strings",
+ "main.c",
+ );
+ Description = "This project builds an SDL-based application.";
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..0cff0a3
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
@@ -0,0 +1,308 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; };
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A3E09D088BA00EBEB88 /* main.c */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
+ );
+ name = "Copy Frameworks into .app bundle";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 002F3A3E09D088BA00EBEB88 /* main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = SOURCE_ROOT; };
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "___PROJECTNAME___.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */,
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 002F39F909D0881F00EBEB88 /* SDL.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = "___PROJECTNAMEASXML___";
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */,
+ 002F3A3E09D088BA00EBEB88 /* main.c */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "___PROJECTNAME___";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "___PROJECTNAME___";
+ productReference = 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */;
+ compatibilityVersion = "Xcode 2.4";
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */,
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
+ ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
+ ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/main.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/main.c
new file mode 100644
index 0000000..7115de9
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Application/main.c
@@ -0,0 +1,65 @@
+
+/* Simple program: Create a blank window, wait for keypress, quit.
+
+ Please see the SDL documentation for details on using the SDL API:
+ /Developer/Documentation/SDL/docs.html
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "SDL.h"
+
+int main(int argc, char *argv[])
+{
+ Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
+ SDL_Surface *screen;
+ Uint8 video_bpp = 0;
+ Uint32 videoflags = SDL_SWSURFACE;
+ int done;
+ SDL_Event event;
+
+ /* Initialize the SDL library */
+ if ( SDL_Init(initflags) < 0 ) {
+ fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ SDL_GetError());
+ exit(1);
+ }
+
+ /* Set 640x480 video mode */
+ screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
+ if (screen == NULL) {
+ fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n",
+ video_bpp, SDL_GetError());
+ SDL_Quit();
+ exit(2);
+ }
+
+ done = 0;
+ while ( !done ) {
+
+ /* Check for events */
+ while ( SDL_PollEvent(&event) ) {
+ switch (event.type) {
+
+ case SDL_MOUSEMOTION:
+ break;
+ case SDL_MOUSEBUTTONDOWN:
+ break;
+ case SDL_KEYDOWN:
+ /* Any keypress quits the app... */
+ case SDL_QUIT:
+ done = 1;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ /* Clean up the SDL library */
+ SDL_Quit();
+ return(0);
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings
new file mode 100644
index 0000000..6e721b0
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib
new file mode 100644
index 0000000..799eaad
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib
@@ -0,0 +1,19 @@
+{
+ IBClasses = (
+ {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
+ {
+ ACTIONS = {
+ help = id;
+ newGame = id;
+ openGame = id;
+ prefsMenu = id;
+ saveGame = id;
+ saveGameAs = id;
+ };
+ CLASS = SDLMain;
+ LANGUAGE = ObjC;
+ SUPERCLASS = NSObject;
+ }
+ );
+ IBVersion = 1;
+} \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib
new file mode 100644
index 0000000..1d6fb7e
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>IBDocumentLocation</key>
+ <string>62 117 356 240 0 0 1152 848 </string>
+ <key>IBEditorPositions</key>
+ <dict>
+ <key>29</key>
+ <string>62 362 195 44 0 0 1152 848 </string>
+ </dict>
+ <key>IBFramework Version</key>
+ <string>291.0</string>
+ <key>IBOpenObjects</key>
+ <array>
+ <integer>29</integer>
+ </array>
+ <key>IBSystem Version</key>
+ <string>6L60</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib
new file mode 100644
index 0000000..6378015
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/Info.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/Info.plist
new file mode 100644
index 0000000..40a970f
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/Info.plist
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.___PROJECTNAMEASXML___</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+ <key>LSMinimumSystemVersionByArchitecture</key>
+ <dict>
+ <key>x86_64</key>
+ <string>10.6.0</string>
+ <key>i386</key>
+ <string>10.4.0</string>
+ <key>ppc</key>
+ <string>10.4.0</string>
+ </dict>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.h
new file mode 100644
index 0000000..c56d90c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.h
@@ -0,0 +1,16 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#ifndef _SDLMain_h_
+#define _SDLMain_h_
+
+#import <Cocoa/Cocoa.h>
+
+@interface SDLMain : NSObject
+@end
+
+#endif /* _SDLMain_h_ */
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.m b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.m
new file mode 100644
index 0000000..b065a20
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.m
@@ -0,0 +1,383 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#include "SDL.h"
+#include "SDLMain.h"
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
+
+/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
+ but the method still is there and works. To avoid warnings, we declare
+ it ourselves here. */
+@interface NSApplication(SDL_Missing_Methods)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+
+/* Use this flag to determine whether we use SDLMain.nib or not */
+#define SDL_USE_NIB_FILE 0
+
+/* Use this flag to determine whether we use CPS (docking) or not */
+#define SDL_USE_CPS 1
+#ifdef SDL_USE_CPS
+/* Portions of CPS.h */
+typedef struct CPSProcessSerNum
+{
+ UInt32 lo;
+ UInt32 hi;
+} CPSProcessSerNum;
+
+extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
+extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
+extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
+
+#endif /* SDL_USE_CPS */
+
+static int gArgc;
+static char **gArgv;
+static BOOL gFinderLaunch;
+static BOOL gCalledAppMainline = FALSE;
+
+static NSString *getApplicationName(void)
+{
+ const NSDictionary *dict;
+ NSString *appName = 0;
+
+ /* Determine the application name */
+ dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ if (dict)
+ appName = [dict objectForKey: @"CFBundleName"];
+
+ if (![appName length])
+ appName = [[NSProcessInfo processInfo] processName];
+
+ return appName;
+}
+
+#if SDL_USE_NIB_FILE
+/* A helper category for NSString */
+@interface NSString (ReplaceSubString)
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
+@end
+#endif
+
+@interface SDLApplication : NSApplication
+@end
+
+@implementation SDLApplication
+/* Invoked from the Quit menu item */
+- (void)terminate:(id)sender
+{
+ /* Post a SDL_QUIT event */
+ SDL_Event event;
+ event.type = SDL_QUIT;
+ SDL_PushEvent(&event);
+}
+@end
+
+/* The main class of the application, the application's delegate */
+@implementation SDLMain
+
+/* Set the working directory to the .app's parent directory */
+- (void) setupWorkingDirectory:(BOOL)shouldChdir
+{
+ if (shouldChdir)
+ {
+ char parentdir[MAXPATHLEN];
+ CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
+ if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
+ }
+ CFRelease(url);
+ CFRelease(url2);
+ }
+}
+
+#if SDL_USE_NIB_FILE
+
+/* Fix menu to contain the real app name instead of "SDL App" */
+- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
+{
+ NSRange aRange;
+ NSEnumerator *enumerator;
+ NSMenuItem *menuItem;
+
+ aRange = [[aMenu title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
+
+ enumerator = [[aMenu itemArray] objectEnumerator];
+ while ((menuItem = [enumerator nextObject]))
+ {
+ aRange = [[menuItem title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
+ if ([menuItem hasSubmenu])
+ [self fixMenu:[menuItem submenu] withAppName:appName];
+ }
+ [ aMenu sizeToFit ];
+}
+
+#else
+
+static void setApplicationMenu(void)
+{
+ /* warning: this code is very odd */
+ NSMenu *appleMenu;
+ NSMenuItem *menuItem;
+ NSString *title;
+ NSString *appName;
+
+ appName = getApplicationName();
+ appleMenu = [[NSMenu alloc] initWithTitle:@""];
+
+ /* Add menu items */
+ title = [@"About " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Hide " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
+
+ menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
+ [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
+
+ [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Quit " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
+
+
+ /* Put menu into the menubar */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
+ [menuItem setSubmenu:appleMenu];
+ [[NSApp mainMenu] addItem:menuItem];
+
+ /* Tell the application object that this is now the application menu */
+ [NSApp setAppleMenu:appleMenu];
+
+ /* Finally give up our references to the objects */
+ [appleMenu release];
+ [menuItem release];
+}
+
+/* Create a window menu */
+static void setupWindowMenu(void)
+{
+ NSMenu *windowMenu;
+ NSMenuItem *windowMenuItem;
+ NSMenuItem *menuItem;
+
+ windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
+
+ /* "Minimize" item */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
+ [windowMenu addItem:menuItem];
+ [menuItem release];
+
+ /* Put menu into the menubar */
+ windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
+ [windowMenuItem setSubmenu:windowMenu];
+ [[NSApp mainMenu] addItem:windowMenuItem];
+
+ /* Tell the application object that this is now the window menu */
+ [NSApp setWindowsMenu:windowMenu];
+
+ /* Finally give up our references to the objects */
+ [windowMenu release];
+ [windowMenuItem release];
+}
+
+/* Replacement for NSApplicationMain */
+static void CustomApplicationMain (int argc, char **argv)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ SDLMain *sdlMain;
+
+ /* Ensure the application object is initialised */
+ [SDLApplication sharedApplication];
+
+#ifdef SDL_USE_CPS
+ {
+ CPSProcessSerNum PSN;
+ /* Tell the dock about us */
+ if (!CPSGetCurrentProcess(&PSN))
+ if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
+ if (!CPSSetFrontProcess(&PSN))
+ [SDLApplication sharedApplication];
+ }
+#endif /* SDL_USE_CPS */
+
+ /* Set up the menubar */
+ [NSApp setMainMenu:[[NSMenu alloc] init]];
+ setApplicationMenu();
+ setupWindowMenu();
+
+ /* Create SDLMain and make it the app delegate */
+ sdlMain = [[SDLMain alloc] init];
+ [NSApp setDelegate:sdlMain];
+
+ /* Start the main event loop */
+ [NSApp run];
+
+ [sdlMain release];
+ [pool release];
+}
+
+#endif
+
+
+/*
+ * Catch document open requests...this lets us notice files when the app
+ * was launched by double-clicking a document, or when a document was
+ * dragged/dropped on the app's icon. You need to have a
+ * CFBundleDocumentsType section in your Info.plist to get this message,
+ * apparently.
+ *
+ * Files are added to gArgv, so to the app, they'll look like command line
+ * arguments. Previously, apps launched from the finder had nothing but
+ * an argv[0].
+ *
+ * This message may be received multiple times to open several docs on launch.
+ *
+ * This message is ignored once the app's mainline has been called.
+ */
+- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
+{
+ const char *temparg;
+ size_t arglen;
+ char *arg;
+ char **newargv;
+
+ if (!gFinderLaunch) /* MacOS is passing command line args. */
+ return FALSE;
+
+ if (gCalledAppMainline) /* app has started, ignore this document. */
+ return FALSE;
+
+ temparg = [filename UTF8String];
+ arglen = SDL_strlen(temparg) + 1;
+ arg = (char *) SDL_malloc(arglen);
+ if (arg == NULL)
+ return FALSE;
+
+ newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
+ if (newargv == NULL)
+ {
+ SDL_free(arg);
+ return FALSE;
+ }
+ gArgv = newargv;
+
+ SDL_strlcpy(arg, temparg, arglen);
+ gArgv[gArgc++] = arg;
+ gArgv[gArgc] = NULL;
+ return TRUE;
+}
+
+
+/* Called when the internal event loop has just started running */
+- (void) applicationDidFinishLaunching: (NSNotification *) note
+{
+ int status;
+
+ /* Set the working directory to the .app's parent directory */
+ [self setupWorkingDirectory:gFinderLaunch];
+
+#if SDL_USE_NIB_FILE
+ /* Set the main menu to contain the real app name instead of "SDL App" */
+ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
+#endif
+
+ /* Hand off to main application code */
+ gCalledAppMainline = TRUE;
+ status = SDL_main (gArgc, gArgv);
+
+ /* We're done, thank you for playing */
+ exit(status);
+}
+@end
+
+
+@implementation NSString (ReplaceSubString)
+
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
+{
+ unsigned int bufferSize;
+ unsigned int selfLen = [self length];
+ unsigned int aStringLen = [aString length];
+ unichar *buffer;
+ NSRange localRange;
+ NSString *result;
+
+ bufferSize = selfLen + aStringLen - aRange.length;
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+
+ /* Get first part into buffer */
+ localRange.location = 0;
+ localRange.length = aRange.location;
+ [self getCharacters:buffer range:localRange];
+
+ /* Get middle part into buffer */
+ localRange.location = 0;
+ localRange.length = aStringLen;
+ [aString getCharacters:(buffer+aRange.location) range:localRange];
+
+ /* Get last part into buffer */
+ localRange.location = aRange.location + aRange.length;
+ localRange.length = selfLen - localRange.location;
+ [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
+
+ /* Build output string */
+ result = [NSString stringWithCharacters:buffer length:bufferSize];
+
+ NSDeallocateMemoryPages(buffer, bufferSize);
+
+ return result;
+}
+
+@end
+
+
+
+#ifdef main
+# undef main
+#endif
+
+
+/* Main entry point to executable - should *not* be SDL_main! */
+int main (int argc, char **argv)
+{
+ /* Copy the arguments into a global variable */
+ /* This is passed if we are launched by double-clicking */
+ if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
+ gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
+ gArgv[0] = argv[0];
+ gArgv[1] = NULL;
+ gArgc = 1;
+ gFinderLaunch = YES;
+ } else {
+ int i;
+ gArgc = argc;
+ gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
+ for (i = 0; i <= argc; i++)
+ gArgv[i] = argv[i];
+ gFinderLaunch = NO;
+ }
+
+#if SDL_USE_NIB_FILE
+ [SDLApplication poseAsClass:[NSApplication class]];
+ NSApplicationMain (argc, argv);
+#else
+ CustomApplicationMain (argc, argv);
+#endif
+ return 0;
+}
+
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
new file mode 100644
index 0000000..0009507
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project
+//
+
+#include "SDL.h"
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
new file mode 100644
index 0000000..ae0b02b
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
new file mode 100644
index 0000000..1dcbea2
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,12 @@
+{
+ FilesToRename = {
+ "SDLApp_Prefix.pch" = "ÇPROJECTNAMEÈ_Prefix.pch";
+ };
+ FilesToMacroExpand = (
+ "ÇPROJECTNAMEÈ_Prefix.pch",
+ "Info.plist",
+ "English.lproj/InfoPlist.strings",
+ "main.c",
+ );
+ Description = "This project builds an SDL-based application with Cocoa menus.";
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..c61e527
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj
@@ -0,0 +1,320 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; };
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A3E09D088BA00EBEB88 /* main.c */; };
+ 002F3AF109D08F1000EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
+ );
+ name = "Copy Frameworks into .app bundle";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 002F3A3E09D088BA00EBEB88 /* main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = SOURCE_ROOT; };
+ 002F3AF009D08F1000EBEB88 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/SDLMain.nib; sourceTree = "<group>"; };
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "___PROJECTNAME___.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */,
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 002F39F909D0881F00EBEB88 /* SDL.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = "___PROJECTNAMEASXML___";
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */,
+ 002F3A3E09D088BA00EBEB88 /* main.c */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "___PROJECTNAME___";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "___PROJECTNAME___";
+ productReference = 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */;
+ compatibilityVersion = "Xcode 2.4";
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ 002F3AF109D08F1000EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */,
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 002F3AF009D08F1000EBEB88 /* English */,
+ );
+ name = SDLMain.nib;
+ sourceTree = "<group>";
+ };
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
+ ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
+ ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/main.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/main.c
new file mode 100644
index 0000000..7115de9
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/main.c
@@ -0,0 +1,65 @@
+
+/* Simple program: Create a blank window, wait for keypress, quit.
+
+ Please see the SDL documentation for details on using the SDL API:
+ /Developer/Documentation/SDL/docs.html
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "SDL.h"
+
+int main(int argc, char *argv[])
+{
+ Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
+ SDL_Surface *screen;
+ Uint8 video_bpp = 0;
+ Uint32 videoflags = SDL_SWSURFACE;
+ int done;
+ SDL_Event event;
+
+ /* Initialize the SDL library */
+ if ( SDL_Init(initflags) < 0 ) {
+ fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ SDL_GetError());
+ exit(1);
+ }
+
+ /* Set 640x480 video mode */
+ screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
+ if (screen == NULL) {
+ fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n",
+ video_bpp, SDL_GetError());
+ SDL_Quit();
+ exit(2);
+ }
+
+ done = 0;
+ while ( !done ) {
+
+ /* Check for events */
+ while ( SDL_PollEvent(&event) ) {
+ switch (event.type) {
+
+ case SDL_MOUSEMOTION:
+ break;
+ case SDL_MOUSEBUTTONDOWN:
+ break;
+ case SDL_KEYDOWN:
+ /* Any keypress quits the app... */
+ case SDL_QUIT:
+ done = 1;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ /* Clean up the SDL library */
+ SDL_Quit();
+ return(0);
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings
new file mode 100644
index 0000000..6e721b0
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/Info.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/Info.plist
new file mode 100644
index 0000000..a2e9429
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/Info.plist
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.___PROJECTNAMEASXML___</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+ <key>LSMinimumSystemVersionByArchitecture</key>
+ <dict>
+ <key>x86_64</key>
+ <string>10.6.0</string>
+ <key>i386</key>
+ <string>10.4.0</string>
+ <key>ppc</key>
+ <string>10.4.0</string>
+ </dict>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.h
new file mode 100644
index 0000000..c56d90c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.h
@@ -0,0 +1,16 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#ifndef _SDLMain_h_
+#define _SDLMain_h_
+
+#import <Cocoa/Cocoa.h>
+
+@interface SDLMain : NSObject
+@end
+
+#endif /* _SDLMain_h_ */
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.m b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.m
new file mode 100644
index 0000000..b065a20
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.m
@@ -0,0 +1,383 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#include "SDL.h"
+#include "SDLMain.h"
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
+
+/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
+ but the method still is there and works. To avoid warnings, we declare
+ it ourselves here. */
+@interface NSApplication(SDL_Missing_Methods)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+
+/* Use this flag to determine whether we use SDLMain.nib or not */
+#define SDL_USE_NIB_FILE 0
+
+/* Use this flag to determine whether we use CPS (docking) or not */
+#define SDL_USE_CPS 1
+#ifdef SDL_USE_CPS
+/* Portions of CPS.h */
+typedef struct CPSProcessSerNum
+{
+ UInt32 lo;
+ UInt32 hi;
+} CPSProcessSerNum;
+
+extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
+extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
+extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
+
+#endif /* SDL_USE_CPS */
+
+static int gArgc;
+static char **gArgv;
+static BOOL gFinderLaunch;
+static BOOL gCalledAppMainline = FALSE;
+
+static NSString *getApplicationName(void)
+{
+ const NSDictionary *dict;
+ NSString *appName = 0;
+
+ /* Determine the application name */
+ dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ if (dict)
+ appName = [dict objectForKey: @"CFBundleName"];
+
+ if (![appName length])
+ appName = [[NSProcessInfo processInfo] processName];
+
+ return appName;
+}
+
+#if SDL_USE_NIB_FILE
+/* A helper category for NSString */
+@interface NSString (ReplaceSubString)
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
+@end
+#endif
+
+@interface SDLApplication : NSApplication
+@end
+
+@implementation SDLApplication
+/* Invoked from the Quit menu item */
+- (void)terminate:(id)sender
+{
+ /* Post a SDL_QUIT event */
+ SDL_Event event;
+ event.type = SDL_QUIT;
+ SDL_PushEvent(&event);
+}
+@end
+
+/* The main class of the application, the application's delegate */
+@implementation SDLMain
+
+/* Set the working directory to the .app's parent directory */
+- (void) setupWorkingDirectory:(BOOL)shouldChdir
+{
+ if (shouldChdir)
+ {
+ char parentdir[MAXPATHLEN];
+ CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
+ if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
+ }
+ CFRelease(url);
+ CFRelease(url2);
+ }
+}
+
+#if SDL_USE_NIB_FILE
+
+/* Fix menu to contain the real app name instead of "SDL App" */
+- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
+{
+ NSRange aRange;
+ NSEnumerator *enumerator;
+ NSMenuItem *menuItem;
+
+ aRange = [[aMenu title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
+
+ enumerator = [[aMenu itemArray] objectEnumerator];
+ while ((menuItem = [enumerator nextObject]))
+ {
+ aRange = [[menuItem title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
+ if ([menuItem hasSubmenu])
+ [self fixMenu:[menuItem submenu] withAppName:appName];
+ }
+ [ aMenu sizeToFit ];
+}
+
+#else
+
+static void setApplicationMenu(void)
+{
+ /* warning: this code is very odd */
+ NSMenu *appleMenu;
+ NSMenuItem *menuItem;
+ NSString *title;
+ NSString *appName;
+
+ appName = getApplicationName();
+ appleMenu = [[NSMenu alloc] initWithTitle:@""];
+
+ /* Add menu items */
+ title = [@"About " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Hide " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
+
+ menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
+ [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
+
+ [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Quit " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
+
+
+ /* Put menu into the menubar */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
+ [menuItem setSubmenu:appleMenu];
+ [[NSApp mainMenu] addItem:menuItem];
+
+ /* Tell the application object that this is now the application menu */
+ [NSApp setAppleMenu:appleMenu];
+
+ /* Finally give up our references to the objects */
+ [appleMenu release];
+ [menuItem release];
+}
+
+/* Create a window menu */
+static void setupWindowMenu(void)
+{
+ NSMenu *windowMenu;
+ NSMenuItem *windowMenuItem;
+ NSMenuItem *menuItem;
+
+ windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
+
+ /* "Minimize" item */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
+ [windowMenu addItem:menuItem];
+ [menuItem release];
+
+ /* Put menu into the menubar */
+ windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
+ [windowMenuItem setSubmenu:windowMenu];
+ [[NSApp mainMenu] addItem:windowMenuItem];
+
+ /* Tell the application object that this is now the window menu */
+ [NSApp setWindowsMenu:windowMenu];
+
+ /* Finally give up our references to the objects */
+ [windowMenu release];
+ [windowMenuItem release];
+}
+
+/* Replacement for NSApplicationMain */
+static void CustomApplicationMain (int argc, char **argv)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ SDLMain *sdlMain;
+
+ /* Ensure the application object is initialised */
+ [SDLApplication sharedApplication];
+
+#ifdef SDL_USE_CPS
+ {
+ CPSProcessSerNum PSN;
+ /* Tell the dock about us */
+ if (!CPSGetCurrentProcess(&PSN))
+ if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
+ if (!CPSSetFrontProcess(&PSN))
+ [SDLApplication sharedApplication];
+ }
+#endif /* SDL_USE_CPS */
+
+ /* Set up the menubar */
+ [NSApp setMainMenu:[[NSMenu alloc] init]];
+ setApplicationMenu();
+ setupWindowMenu();
+
+ /* Create SDLMain and make it the app delegate */
+ sdlMain = [[SDLMain alloc] init];
+ [NSApp setDelegate:sdlMain];
+
+ /* Start the main event loop */
+ [NSApp run];
+
+ [sdlMain release];
+ [pool release];
+}
+
+#endif
+
+
+/*
+ * Catch document open requests...this lets us notice files when the app
+ * was launched by double-clicking a document, or when a document was
+ * dragged/dropped on the app's icon. You need to have a
+ * CFBundleDocumentsType section in your Info.plist to get this message,
+ * apparently.
+ *
+ * Files are added to gArgv, so to the app, they'll look like command line
+ * arguments. Previously, apps launched from the finder had nothing but
+ * an argv[0].
+ *
+ * This message may be received multiple times to open several docs on launch.
+ *
+ * This message is ignored once the app's mainline has been called.
+ */
+- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
+{
+ const char *temparg;
+ size_t arglen;
+ char *arg;
+ char **newargv;
+
+ if (!gFinderLaunch) /* MacOS is passing command line args. */
+ return FALSE;
+
+ if (gCalledAppMainline) /* app has started, ignore this document. */
+ return FALSE;
+
+ temparg = [filename UTF8String];
+ arglen = SDL_strlen(temparg) + 1;
+ arg = (char *) SDL_malloc(arglen);
+ if (arg == NULL)
+ return FALSE;
+
+ newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
+ if (newargv == NULL)
+ {
+ SDL_free(arg);
+ return FALSE;
+ }
+ gArgv = newargv;
+
+ SDL_strlcpy(arg, temparg, arglen);
+ gArgv[gArgc++] = arg;
+ gArgv[gArgc] = NULL;
+ return TRUE;
+}
+
+
+/* Called when the internal event loop has just started running */
+- (void) applicationDidFinishLaunching: (NSNotification *) note
+{
+ int status;
+
+ /* Set the working directory to the .app's parent directory */
+ [self setupWorkingDirectory:gFinderLaunch];
+
+#if SDL_USE_NIB_FILE
+ /* Set the main menu to contain the real app name instead of "SDL App" */
+ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
+#endif
+
+ /* Hand off to main application code */
+ gCalledAppMainline = TRUE;
+ status = SDL_main (gArgc, gArgv);
+
+ /* We're done, thank you for playing */
+ exit(status);
+}
+@end
+
+
+@implementation NSString (ReplaceSubString)
+
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
+{
+ unsigned int bufferSize;
+ unsigned int selfLen = [self length];
+ unsigned int aStringLen = [aString length];
+ unichar *buffer;
+ NSRange localRange;
+ NSString *result;
+
+ bufferSize = selfLen + aStringLen - aRange.length;
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+
+ /* Get first part into buffer */
+ localRange.location = 0;
+ localRange.length = aRange.location;
+ [self getCharacters:buffer range:localRange];
+
+ /* Get middle part into buffer */
+ localRange.location = 0;
+ localRange.length = aStringLen;
+ [aString getCharacters:(buffer+aRange.location) range:localRange];
+
+ /* Get last part into buffer */
+ localRange.location = aRange.location + aRange.length;
+ localRange.length = selfLen - localRange.location;
+ [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
+
+ /* Build output string */
+ result = [NSString stringWithCharacters:buffer length:bufferSize];
+
+ NSDeallocateMemoryPages(buffer, bufferSize);
+
+ return result;
+}
+
+@end
+
+
+
+#ifdef main
+# undef main
+#endif
+
+
+/* Main entry point to executable - should *not* be SDL_main! */
+int main (int argc, char **argv)
+{
+ /* Copy the arguments into a global variable */
+ /* This is passed if we are launched by double-clicking */
+ if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
+ gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
+ gArgv[0] = argv[0];
+ gArgv[1] = NULL;
+ gArgc = 1;
+ gFinderLaunch = YES;
+ } else {
+ int i;
+ gArgc = argc;
+ gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
+ for (i = 0; i <= argc; i++)
+ gArgv[i] = argv[i];
+ gFinderLaunch = NO;
+ }
+
+#if SDL_USE_NIB_FILE
+ [SDLApplication poseAsClass:[NSApplication class]];
+ NSApplicationMain (argc, argv);
+#else
+ CustomApplicationMain (argc, argv);
+#endif
+ return 0;
+}
+
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
new file mode 100644
index 0000000..0009507
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project
+//
+
+#include "SDL.h"
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
new file mode 100644
index 0000000..ae0b02b
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
new file mode 100644
index 0000000..ba87745
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,12 @@
+{
+ FilesToRename = {
+ "SDLApp_Prefix.pch" = "ÇPROJECTNAMEÈ_Prefix.pch";
+ };
+ FilesToMacroExpand = (
+ "ÇPROJECTNAMEÈ_Prefix.pch",
+ "Info.plist",
+ "English.lproj/InfoPlist.strings",
+ "main.c",
+ );
+ Description = "This project builds an SDL-based application that uses OpenGL.";
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..529d444
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
@@ -0,0 +1,350 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; };
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A3E09D088BA00EBEB88 /* main.c */; };
+ 002F3BFA09D0938900EBEB88 /* atlantis.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF409D0938900EBEB88 /* atlantis.c */; };
+ 002F3BFC09D0938900EBEB88 /* dolphin.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF609D0938900EBEB88 /* dolphin.c */; };
+ 002F3BFD09D0938900EBEB88 /* shark.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF709D0938900EBEB88 /* shark.c */; };
+ 002F3BFE09D0938900EBEB88 /* swim.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF809D0938900EBEB88 /* swim.c */; };
+ 002F3BFF09D0938900EBEB88 /* whale.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF909D0938900EBEB88 /* whale.c */; };
+ 002F3C0109D093BD00EBEB88 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F3C0009D093BD00EBEB88 /* OpenGL.framework */; };
+ 002F3C6109D0951E00EBEB88 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F3C6009D0951E00EBEB88 /* GLUT.framework */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
+ );
+ name = "Copy Frameworks into .app bundle";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 002F3A3E09D088BA00EBEB88 /* main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF409D0938900EBEB88 /* atlantis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = atlantis.c; path = atlantis/atlantis.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF509D0938900EBEB88 /* atlantis.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = atlantis.h; path = atlantis/atlantis.h; sourceTree = SOURCE_ROOT; };
+ 002F3BF609D0938900EBEB88 /* dolphin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dolphin.c; path = atlantis/dolphin.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF709D0938900EBEB88 /* shark.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = shark.c; path = atlantis/shark.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF809D0938900EBEB88 /* swim.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = swim.c; path = atlantis/swim.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF909D0938900EBEB88 /* whale.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = whale.c; path = atlantis/whale.c; sourceTree = SOURCE_ROOT; };
+ 002F3C0009D093BD00EBEB88 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
+ 002F3C6009D0951E00EBEB88 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../../../../../../../../System/Library/Frameworks/GLUT.framework; sourceTree = SOURCE_ROOT; };
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "___PROJECTNAME___.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
+ 002F3C6109D0951E00EBEB88 /* GLUT.framework in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ 002F3C0109D093BD00EBEB88 /* OpenGL.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 002F3BF309D0937800EBEB88 /* atlantis */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3BF409D0938900EBEB88 /* atlantis.c */,
+ 002F3BF509D0938900EBEB88 /* atlantis.h */,
+ 002F3BF609D0938900EBEB88 /* dolphin.c */,
+ 002F3BF709D0938900EBEB88 /* shark.c */,
+ 002F3BF809D0938900EBEB88 /* swim.c */,
+ 002F3BF909D0938900EBEB88 /* whale.c */,
+ );
+ name = atlantis;
+ sourceTree = "<group>";
+ };
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */,
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 002F39F909D0881F00EBEB88 /* SDL.framework */,
+ 002F3C6009D0951E00EBEB88 /* GLUT.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ 002F3C0009D093BD00EBEB88 /* OpenGL.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = "___PROJECTNAMEASXML___";
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3BF309D0937800EBEB88 /* atlantis */,
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */,
+ 002F3A3E09D088BA00EBEB88 /* main.c */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "___PROJECTNAME___";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "___PROJECTNAME___";
+ productReference = 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */;
+ compatibilityVersion = "Xcode 2.4";
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */,
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */,
+ 002F3BFA09D0938900EBEB88 /* atlantis.c in Sources */,
+ 002F3BFC09D0938900EBEB88 /* dolphin.c in Sources */,
+ 002F3BFD09D0938900EBEB88 /* shark.c in Sources */,
+ 002F3BFE09D0938900EBEB88 /* swim.c in Sources */,
+ 002F3BFF09D0938900EBEB88 /* whale.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = (
+ ppc,
+ i386,
+ );
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
+ ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
+ ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.c
new file mode 100644
index 0000000..4efdf6c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.c
@@ -0,0 +1,459 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <sys/time.h>
+#include <GLUT/glut.h>
+#include "atlantis.h"
+
+fishRec sharks[NUM_SHARKS];
+fishRec momWhale;
+fishRec babyWhale;
+fishRec dolph;
+
+GLboolean Timing = GL_TRUE;
+
+int w_win = 640;
+int h_win = 480;
+GLint count = 0;
+GLenum StrMode = GL_VENDOR;
+
+GLboolean moving;
+
+static double mtime(void)
+{
+ struct timeval tk_time;
+ struct timezone tz;
+
+ gettimeofday(&tk_time, &tz);
+
+ return 4294.967296 * tk_time.tv_sec + 0.000001 * tk_time.tv_usec;
+}
+
+static double filter(double in, double *save)
+{
+ static double k1 = 0.9;
+ static double k2 = 0.05;
+
+ save[3] = in;
+ save[1] = save[0]*k1 + k2*(save[3] + save[2]);
+
+ save[0]=save[1];
+ save[2]=save[3];
+
+ return(save[1]);
+}
+
+void DrawStr(const char *str)
+{
+ GLint i = 0;
+
+ if(!str) return;
+
+ while(str[i])
+ {
+ glutBitmapCharacter(GLUT_BITMAP_HELVETICA_12, str[i]);
+ i++;
+ }
+}
+
+void
+InitFishs(void)
+{
+ int i;
+
+ for (i = 0; i < NUM_SHARKS; i++) {
+ sharks[i].x = 70000.0 + rand() % 6000;
+ sharks[i].y = rand() % 6000;
+ sharks[i].z = rand() % 6000;
+ sharks[i].psi = rand() % 360 - 180.0;
+ sharks[i].v = 1.0;
+ }
+
+ dolph.x = 30000.0;
+ dolph.y = 0.0;
+ dolph.z = 6000.0;
+ dolph.psi = 90.0;
+ dolph.theta = 0.0;
+ dolph.v = 3.0;
+
+ momWhale.x = 70000.0;
+ momWhale.y = 0.0;
+ momWhale.z = 0.0;
+ momWhale.psi = 90.0;
+ momWhale.theta = 0.0;
+ momWhale.v = 3.0;
+
+ babyWhale.x = 60000.0;
+ babyWhale.y = -2000.0;
+ babyWhale.z = -2000.0;
+ babyWhale.psi = 90.0;
+ babyWhale.theta = 0.0;
+ babyWhale.v = 3.0;
+}
+
+void
+Atlantis_Init(void)
+{
+ static float ambient[] = {0.2, 0.2, 0.2, 1.0};
+ static float diffuse[] = {1.0, 1.0, 1.0, 1.0};
+ static float position[] = {0.0, 1.0, 0.0, 0.0};
+ static float mat_shininess[] = {90.0};
+ static float mat_specular[] = {0.8, 0.8, 0.8, 1.0};
+ static float mat_diffuse[] = {0.46, 0.66, 0.795, 1.0};
+ static float mat_ambient[] = {0.3, 0.4, 0.5, 1.0};
+ static float lmodel_ambient[] = {0.4, 0.4, 0.4, 1.0};
+ static float lmodel_localviewer[] = {0.0};
+ //GLfloat map1[4] = {0.0, 0.0, 0.0, 0.0};
+ //GLfloat map2[4] = {0.0, 0.0, 0.0, 0.0};
+ static float fog_color[] = {0.0, 0.5, 0.9, 1.0};
+
+ glFrontFace(GL_CCW);
+
+ glDepthFunc(GL_LESS);
+ glEnable(GL_DEPTH_TEST);
+
+ glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
+ glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
+ glLightfv(GL_LIGHT0, GL_POSITION, position);
+ glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
+ glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, lmodel_localviewer);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, mat_shininess);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mat_specular);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, mat_diffuse);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, mat_ambient);
+
+ InitFishs();
+
+ glEnable(GL_FOG);
+ glFogi(GL_FOG_MODE, GL_EXP);
+ glFogf(GL_FOG_DENSITY, 0.0000025);
+ glFogfv(GL_FOG_COLOR, fog_color);
+
+ glClearColor(0.0, 0.5, 0.9, 1.0);
+}
+
+void
+Atlantis_Reshape(int width, int height)
+{
+ w_win = width;
+ h_win = height;
+
+ glViewport(0, 0, width, height);
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(60.0, (GLfloat) width / (GLfloat) height, 20000.0, 300000.0);
+ glMatrixMode(GL_MODELVIEW);
+}
+
+void
+Atlantis_Animate(void)
+{
+ int i;
+
+ for (i = 0; i < NUM_SHARKS; i++) {
+ SharkPilot(&sharks[i]);
+ SharkMiss(i);
+ }
+ WhalePilot(&dolph);
+ dolph.phi++;
+ //glutPostRedisplay();
+ WhalePilot(&momWhale);
+ momWhale.phi++;
+ WhalePilot(&babyWhale);
+ babyWhale.phi++;
+}
+
+void
+Atlantis_Key(unsigned char key, int x, int y)
+{
+ switch (key) {
+ case 't':
+ Timing = !Timing;
+ break;
+ case ' ':
+ switch(StrMode)
+ {
+ case GL_EXTENSIONS:
+ StrMode = GL_VENDOR;
+ break;
+ case GL_VENDOR:
+ StrMode = GL_RENDERER;
+ break;
+ case GL_RENDERER:
+ StrMode = GL_VERSION;
+ break;
+ case GL_VERSION:
+ StrMode = GL_EXTENSIONS;
+ break;
+ }
+ break;
+ case 27: /* Esc will quit */
+ exit(1);
+ break;
+ case 's': /* "s" start animation */
+ moving = GL_TRUE;
+ //glutIdleFunc(Animate);
+ break;
+ case 'a': /* "a" stop animation */
+ moving = GL_FALSE;
+ //glutIdleFunc(NULL);
+ break;
+ case '.': /* "." will advance frame */
+ if (!moving) {
+ Atlantis_Animate();
+ }
+ }
+}
+/*
+void Display(void)
+{
+ static float P123[3] = {-448.94, -203.14, 9499.60};
+ static float P124[3] = {-442.64, -185.20, 9528.07};
+ static float P125[3] = {-441.07, -148.05, 9528.07};
+ static float P126[3] = {-443.43, -128.84, 9499.60};
+ static float P127[3] = {-456.87, -146.78, 9466.67};
+ static float P128[3] = {-453.68, -183.93, 9466.67};
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ glPushMatrix();
+ FishTransform(&dolph);
+ DrawDolphin(&dolph);
+ glPopMatrix();
+
+ glutSwapBuffers();
+}
+*/
+
+void
+Atlantis_Display(void)
+{
+ int i;
+ static double th[4] = {0.0, 0.0, 0.0, 0.0};
+ static double t1 = 0.0, t2 = 0.0, t;
+ char num_str[128];
+
+ t1 = t2;
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ for (i = 0; i < NUM_SHARKS; i++) {
+ glPushMatrix();
+ FishTransform(&sharks[i]);
+ DrawShark(&sharks[i]);
+ glPopMatrix();
+ }
+
+ glPushMatrix();
+ FishTransform(&dolph);
+ DrawDolphin(&dolph);
+ glPopMatrix();
+
+ glPushMatrix();
+ FishTransform(&momWhale);
+ DrawWhale(&momWhale);
+ glPopMatrix();
+
+ glPushMatrix();
+ FishTransform(&babyWhale);
+ glScalef(0.45, 0.45, 0.3);
+ DrawWhale(&babyWhale);
+ glPopMatrix();
+
+ if(Timing)
+ {
+ t2 = mtime();
+ t = t2 - t1;
+ if(t > 0.0001) t = 1.0 / t;
+
+ glDisable(GL_LIGHTING);
+ //glDisable(GL_DEPTH_TEST);
+
+ glColor3f(1.0, 0.0, 0.0);
+
+ glMatrixMode (GL_PROJECTION);
+ glPushMatrix();
+ glLoadIdentity();
+ glOrtho(0, w_win, 0, h_win, -10.0, 10.0);
+
+ glRasterPos2f(5.0, 5.0);
+
+ switch(StrMode)
+ {
+ case GL_VENDOR:
+ sprintf(num_str, "%0.2f Hz, %dx%d, VENDOR: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_VENDOR));
+ break;
+ case GL_RENDERER:
+ sprintf(num_str, "%0.2f Hz, %dx%d, RENDERER: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_RENDERER));
+ break;
+ case GL_VERSION:
+ sprintf(num_str, "%0.2f Hz, %dx%d, VERSION: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_VERSION));
+ break;
+ case GL_EXTENSIONS:
+ sprintf(num_str, "%0.2f Hz, %dx%d, EXTENSIONS: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_EXTENSIONS));
+ break;
+ }
+
+ glPopMatrix();
+ glMatrixMode(GL_MODELVIEW);
+
+ glEnable(GL_LIGHTING);
+ //glEnable(GL_DEPTH_TEST);
+ }
+
+ count++;
+
+ glutSwapBuffers();
+}
+
+/*
+void
+Visible(int state)
+{
+ if (state == GLUT_VISIBLE) {
+ if (moving)
+ glutIdleFunc(Animate);
+ } else {
+ if (moving)
+ glutIdleFunc(NULL);
+ }
+}
+
+
+void
+timingSelect(int value)
+{
+ switch(value)
+ {
+ case 1:
+ StrMode = GL_VENDOR;
+ break;
+ case 2:
+ StrMode = GL_RENDERER;
+ break;
+ case 3:
+ StrMode = GL_VERSION;
+ break;
+ case 4:
+ StrMode = GL_EXTENSIONS;
+ break;
+ }
+}
+
+void
+menuSelect(int value)
+{
+ switch (value) {
+ case 1:
+ moving = GL_TRUE;
+ glutIdleFunc(Animate);
+ break;
+ case 2:
+ moving = GL_FALSE;
+ glutIdleFunc(NULL);
+ break;
+ case 4:
+ exit(0);
+ break;
+ }
+}
+
+int
+main(int argc, char **argv)
+{
+ GLboolean fullscreen = GL_FALSE;
+ GLint time_menu;
+
+ srand(0);
+
+ glutInit(&argc, argv);
+ if (argc > 1 && !strcmp(argv[1], "-w"))
+ fullscreen = GL_FALSE;
+
+ //glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
+ glutInitDisplayString("rgba double depth=24");
+ if (fullscreen) {
+ glutGameModeString("1024x768:32");
+ glutEnterGameMode();
+ } else {
+ glutInitWindowSize(320, 240);
+ glutCreateWindow("Atlantis Timing");
+ }
+ Init();
+ glutDisplayFunc(Display);
+ glutReshapeFunc(Reshape);
+ glutKeyboardFunc(Key);
+ moving = GL_TRUE;
+glutIdleFunc(Animate);
+ glutVisibilityFunc(Visible);
+
+ time_menu = glutCreateMenu(timingSelect);
+ glutAddMenuEntry("GL_VENDOR", 1);
+ glutAddMenuEntry("GL_RENDERER", 2);
+ glutAddMenuEntry("GL_VERSION", 3);
+ glutAddMenuEntry("GL_EXTENSIONS", 4);
+
+ glutCreateMenu(menuSelect);
+ glutAddMenuEntry("Start motion", 1);
+ glutAddMenuEntry("Stop motion", 2);
+ glutAddSubMenu("Timing Mode", time_menu);
+ glutAddMenuEntry("Quit", 4);
+
+ //glutAttachMenu(GLUT_RIGHT_BUTTON);
+ glutAttachMenu(GLUT_RIGHT_BUTTON);
+ glutMainLoop();
+ return 0; // ANSI C requires main to return int.
+}
+*/ \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.h
new file mode 100644
index 0000000..6ccf2d5
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.h
@@ -0,0 +1,65 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#define RAD 57.295
+#define RRAD 0.01745
+
+#define NUM_SHARKS 4
+#define SHARKSIZE 6000
+#define SHARKSPEED 100.0
+
+#define WHALESPEED 250.0
+
+typedef struct _fishRec {
+ float x, y, z, phi, theta, psi, v;
+ float xt, yt, zt;
+ float htail, vtail;
+ float dtheta;
+ int spurt, attack;
+} fishRec;
+
+extern fishRec sharks[NUM_SHARKS];
+extern fishRec momWhale;
+extern fishRec babyWhale;
+extern fishRec dolph;
+
+extern void FishTransform(fishRec *);
+extern void WhalePilot(fishRec *);
+extern void SharkPilot(fishRec *);
+extern void SharkMiss(int);
+extern void DrawWhale(fishRec *);
+extern void DrawShark(fishRec *);
+extern void DrawDolphin(fishRec *);
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/dolphin.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/dolphin.c
new file mode 100644
index 0000000..9fba3ba
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/dolphin.c
@@ -0,0 +1,1934 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <math.h>
+#include <GLUT/glut.h>
+#include "atlantis.h"
+/* *INDENT-OFF* */
+static float N001[3] = {-0.005937 ,-0.101998 ,-0.994767};
+static float N002[3] = {0.936780 ,-0.200803 ,0.286569};
+static float N003[3] = {-0.233062 ,0.972058 ,0.028007};
+static float N005[3] = {0.898117 ,0.360171 ,0.252315};
+static float N006[3] = {-0.915437 ,0.348456 ,0.201378};
+static float N007[3] = {0.602263 ,-0.777527 ,0.180920};
+static float N008[3] = {-0.906912 ,-0.412015 ,0.088061};
+static float N012[3] = {0.884408 ,-0.429417 ,-0.182821};
+static float N013[3] = {0.921121 ,0.311084 ,-0.234016};
+static float N014[3] = {0.382635 ,0.877882 ,-0.287948};
+static float N015[3] = {-0.380046 ,0.888166 ,-0.258316};
+static float N016[3] = {-0.891515 ,0.392238 ,-0.226607};
+static float N017[3] = {-0.901419 ,-0.382002 ,-0.203763};
+static float N018[3] = {-0.367225 ,-0.911091 ,-0.187243};
+static float N019[3] = {0.339539 ,-0.924846 ,-0.171388};
+static float N020[3] = {0.914706 ,-0.378617 ,-0.141290};
+static float N021[3] = {0.950662 ,0.262713 ,-0.164994};
+static float N022[3] = {0.546359 ,0.801460 ,-0.243218};
+static float N023[3] = {-0.315796 ,0.917068 ,-0.243431};
+static float N024[3] = {-0.825687 ,0.532277 ,-0.186875};
+static float N025[3] = {-0.974763 ,-0.155232 ,-0.160435};
+static float N026[3] = {-0.560596 ,-0.816658 ,-0.137119};
+static float N027[3] = {0.380210 ,-0.910817 ,-0.160786};
+static float N028[3] = {0.923772 ,-0.358322 ,-0.135093};
+static float N029[3] = {0.951202 ,0.275053 ,-0.139859};
+static float N030[3] = {0.686099 ,0.702548 ,-0.188932};
+static float N031[3] = {-0.521865 ,0.826719 ,-0.210220};
+static float N032[3] = {-0.923820 ,0.346739 ,-0.162258};
+static float N033[3] = {-0.902095 ,-0.409995 ,-0.134646};
+static float N034[3] = {-0.509115 ,-0.848498 ,-0.144404};
+static float N035[3] = {0.456469 ,-0.880293 ,-0.129305};
+static float N036[3] = {0.873401 ,-0.475489 ,-0.105266};
+static float N037[3] = {0.970825 ,0.179861 ,-0.158584};
+static float N038[3] = {0.675609 ,0.714187 ,-0.183004};
+static float N039[3] = {-0.523574 ,0.830212 ,-0.191360};
+static float N040[3] = {-0.958895 ,0.230808 ,-0.165071};
+static float N041[3] = {-0.918285 ,-0.376803 ,-0.121542};
+static float N042[3] = {-0.622467 ,-0.774167 ,-0.114888};
+static float N043[3] = {0.404497 ,-0.908807 ,-0.102231};
+static float N044[3] = {0.930538 ,-0.365155 ,-0.027588};
+static float N045[3] = {0.921920 ,0.374157 ,-0.100345};
+static float N046[3] = {0.507346 ,0.860739 ,0.041562};
+static float N047[3] = {-0.394646 ,0.918815 ,-0.005730};
+static float N048[3] = {-0.925411 ,0.373024 ,-0.066837};
+static float N049[3] = {-0.945337 ,-0.322309 ,-0.049551};
+static float N050[3] = {-0.660437 ,-0.750557 ,-0.022072};
+static float N051[3] = {0.488835 ,-0.871950 ,-0.027261};
+static float N052[3] = {0.902599 ,-0.421397 ,0.087969};
+static float N053[3] = {0.938636 ,0.322606 ,0.122020};
+static float N054[3] = {0.484605 ,0.871078 ,0.079878};
+static float N055[3] = {-0.353607 ,0.931559 ,0.084619};
+static float N056[3] = {-0.867759 ,0.478564 ,0.134054};
+static float N057[3] = {-0.951583 ,-0.296030 ,0.082794};
+static float N058[3] = {-0.672355 ,-0.730209 ,0.121384};
+static float N059[3] = {0.528336 ,-0.842452 ,0.105525};
+static float N060[3] = {0.786913 ,-0.564760 ,0.248627};
+static float N062[3] = {0.622098 ,0.765230 ,0.165584};
+static float N063[3] = {-0.631711 ,0.767816 ,0.106773};
+static float N064[3] = {-0.687886 ,0.606351 ,0.398938};
+static float N065[3] = {-0.946327 ,-0.281623 ,0.158598};
+static float N066[3] = {-0.509549 ,-0.860437 ,0.002776};
+static float N067[3] = {0.462594 ,-0.876692 ,0.131977};
+static float N071[3] = {0.000000 ,1.000000 ,0.000000};
+static float N077[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N078[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N079[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N080[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N081[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N082[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N083[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N084[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N085[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N086[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N087[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N088[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N089[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N090[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N091[3] = {0.000000 ,1.000000 ,0.000000};
+static float N092[3] = {0.000000 ,1.000000 ,0.000000};
+static float N093[3] = {0.000000 ,1.000000 ,0.000000};
+static float N094[3] = {1.000000 ,0.000000 ,0.000000};
+static float N095[3] = {-1.000000 ,0.000000 ,0.000000};
+static float N097[3] = {-0.697296 ,0.702881 ,0.140491};
+static float N098[3] = {0.918864 ,0.340821 ,0.198819};
+static float N099[3] = {-0.932737 ,0.201195 ,0.299202};
+static float N100[3] = {0.029517 ,0.981679 ,0.188244};
+static float N102[3] = {0.813521 ,-0.204936 ,0.544229};
+static float N110[3] = {-0.781480 ,-0.384779 ,0.491155};
+static float N111[3] = {-0.722243 ,0.384927 ,0.574627};
+static float N112[3] = {-0.752278 ,0.502679 ,0.425901};
+static float N113[3] = {0.547257 ,0.367910 ,0.751766};
+static float N114[3] = {0.725949 ,-0.232568 ,0.647233};
+static float N115[3] = {-0.747182 ,-0.660786 ,0.071280};
+static float N116[3] = {0.931519 ,0.200748 ,0.303270};
+static float N117[3] = {-0.828928 ,0.313757 ,0.463071};
+static float N118[3] = {0.902554 ,-0.370967 ,0.218587};
+static float N119[3] = {-0.879257 ,-0.441851 ,0.177973};
+static float N120[3] = {0.642327 ,0.611901 ,0.461512};
+static float N121[3] = {0.964817 ,-0.202322 ,0.167910};
+static float N122[3] = {0.000000 ,1.000000 ,0.000000};
+static float P001[3] = {5.68, -300.95, 1324.70};
+static float P002[3] = {338.69, -219.63, 9677.03};
+static float P003[3] = {12.18, 474.59, 9138.14};
+static float P005[3] = {487.51, 198.05, 9350.78};
+static float P006[3] = {-457.61, 68.74, 9427.85};
+static float P007[3] = {156.52, -266.72, 10311.68};
+static float P008[3] = {-185.56, -266.51, 10310.47};
+static float P009[3] = {124.39, -261.46, 1942.34};
+static float P010[3] = {-130.05, -261.46, 1946.03};
+static float P011[3] = {141.07, -320.11, 1239.38};
+static float P012[3] = {156.48, -360.12, 2073.41};
+static float P013[3] = {162.00, -175.88, 2064.44};
+static float P014[3] = {88.16, -87.72, 2064.02};
+static float P015[3] = {-65.21, -96.13, 2064.02};
+static float P016[3] = {-156.48, -180.96, 2064.44};
+static float P017[3] = {-162.00, -368.93, 2082.39};
+static float P018[3] = {-88.16, -439.22, 2082.39};
+static float P019[3] = {65.21, -440.32, 2083.39};
+static float P020[3] = {246.87, -356.02, 2576.95};
+static float P021[3] = {253.17, -111.15, 2567.15};
+static float P022[3] = {132.34, 51.41, 2559.84};
+static float P023[3] = {-97.88, 40.44, 2567.15};
+static float P024[3] = {-222.97, -117.49, 2567.15};
+static float P025[3] = {-252.22, -371.53, 2569.92};
+static float P026[3] = {-108.44, -518.19, 2586.75};
+static float P027[3] = {97.88, -524.79, 2586.75};
+static float P028[3] = {370.03, -421.19, 3419.70};
+static float P029[3] = {351.15, -16.98, 3423.17};
+static float P030[3] = {200.66, 248.46, 3430.37};
+static float P031[3] = {-148.42, 235.02, 3417.91};
+static float P032[3] = {-360.21, -30.27, 3416.84};
+static float P033[3] = {-357.90, -414.89, 3407.04};
+static float P034[3] = {-148.88, -631.35, 3409.90};
+static float P035[3] = {156.38, -632.59, 3419.70};
+static float P036[3] = {462.61, -469.21, 4431.51};
+static float P037[3] = {466.60, 102.25, 4434.98};
+static float P038[3] = {243.05, 474.34, 4562.02};
+static float P039[3] = {-191.23, 474.40, 4554.42};
+static float P040[3] = {-476.12, 111.05, 4451.11};
+static float P041[3] = {-473.36, -470.74, 4444.78};
+static float P042[3] = {-266.95, -748.41, 4447.78};
+static float P043[3] = {211.14, -749.91, 4429.73};
+static float P044[3] = {680.57, -370.27, 5943.46};
+static float P045[3] = {834.01, 363.09, 6360.63};
+static float P046[3] = {371.29, 804.51, 6486.26};
+static float P047[3] = {-291.43, 797.22, 6494.28};
+static float P048[3] = {-784.13, 370.75, 6378.01};
+static float P049[3] = {-743.29, -325.82, 5943.46};
+static float P050[3] = {-383.24, -804.77, 5943.46};
+static float P051[3] = {283.47, -846.09, 5943.46};
+static float iP001[3] = {5.68, -300.95, 1324.70};
+static float iP009[3] = {124.39, -261.46, 1942.34};
+static float iP010[3] = {-130.05, -261.46, 1946.03};
+static float iP011[3] = {141.07, -320.11, 1239.38};
+static float iP012[3] = {156.48, -360.12, 2073.41};
+static float iP013[3] = {162.00, -175.88, 2064.44};
+static float iP014[3] = {88.16, -87.72, 2064.02};
+static float iP015[3] = {-65.21, -96.13, 2064.02};
+static float iP016[3] = {-156.48, -180.96, 2064.44};
+static float iP017[3] = {-162.00, -368.93, 2082.39};
+static float iP018[3] = {-88.16, -439.22, 2082.39};
+static float iP019[3] = {65.21, -440.32, 2083.39};
+static float iP020[3] = {246.87, -356.02, 2576.95};
+static float iP021[3] = {253.17, -111.15, 2567.15};
+static float iP022[3] = {132.34, 51.41, 2559.84};
+static float iP023[3] = {-97.88, 40.44, 2567.15};
+static float iP024[3] = {-222.97, -117.49, 2567.15};
+static float iP025[3] = {-252.22, -371.53, 2569.92};
+static float iP026[3] = {-108.44, -518.19, 2586.75};
+static float iP027[3] = {97.88, -524.79, 2586.75};
+static float iP028[3] = {370.03, -421.19, 3419.70};
+static float iP029[3] = {351.15, -16.98, 3423.17};
+static float iP030[3] = {200.66, 248.46, 3430.37};
+static float iP031[3] = {-148.42, 235.02, 3417.91};
+static float iP032[3] = {-360.21, -30.27, 3416.84};
+static float iP033[3] = {-357.90, -414.89, 3407.04};
+static float iP034[3] = {-148.88, -631.35, 3409.90};
+static float iP035[3] = {156.38, -632.59, 3419.70};
+static float iP036[3] = {462.61, -469.21, 4431.51};
+static float iP037[3] = {466.60, 102.25, 4434.98};
+static float iP038[3] = {243.05, 474.34, 4562.02};
+static float iP039[3] = {-191.23, 474.40, 4554.42};
+static float iP040[3] = {-476.12, 111.05, 4451.11};
+static float iP041[3] = {-473.36, -470.74, 4444.78};
+static float iP042[3] = {-266.95, -748.41, 4447.78};
+static float iP043[3] = {211.14, -749.91, 4429.73};
+static float iP044[3] = {680.57, -370.27, 5943.46};
+static float iP045[3] = {834.01, 363.09, 6360.63};
+static float iP046[3] = {371.29, 804.51, 6486.26};
+static float iP047[3] = {-291.43, 797.22, 6494.28};
+static float iP048[3] = {-784.13, 370.75, 6378.01};
+static float iP049[3] = {-743.29, -325.82, 5943.46};
+static float iP050[3] = {-383.24, -804.77, 5943.46};
+static float iP051[3] = {283.47, -846.09, 5943.46};
+static float P052[3] = {599.09, -300.15, 7894.03};
+static float P053[3] = {735.48, 306.26, 7911.92};
+static float P054[3] = {246.22, 558.53, 8460.50};
+static float P055[3] = {-230.41, 559.84, 8473.23};
+static float P056[3] = {-698.66, 320.83, 7902.59};
+static float P057[3] = {-643.29, -299.16, 7902.59};
+static float P058[3] = {-341.47, -719.30, 7902.59};
+static float P059[3] = {252.57, -756.12, 7902.59};
+static float P060[3] = {458.39, -265.31, 9355.44};
+static float P062[3] = {224.04, 338.75, 9450.30};
+static float P063[3] = {-165.71, 341.04, 9462.35};
+static float P064[3] = {-298.11, 110.13, 10180.37};
+static float P065[3] = {-473.99, -219.71, 9355.44};
+static float P066[3] = {-211.97, -479.87, 9355.44};
+static float P067[3] = {192.86, -491.45, 9348.73};
+static float P068[3] = {-136.29, -319.84, 1228.73};
+static float P069[3] = {1111.17, -314.14, 1314.19};
+static float P070[3] = {-1167.34, -321.61, 1319.45};
+static float P071[3] = {1404.86, -306.66, 1235.45};
+static float P072[3] = {-1409.73, -314.14, 1247.66};
+static float P073[3] = {1254.01, -296.87, 1544.58};
+static float P074[3] = {-1262.09, -291.70, 1504.26};
+static float P075[3] = {965.71, -269.26, 1742.65};
+static float P076[3] = {-900.97, -276.74, 1726.07};
+static float iP068[3] = {-136.29, -319.84, 1228.73};
+static float iP069[3] = {1111.17, -314.14, 1314.19};
+static float iP070[3] = {-1167.34, -321.61, 1319.45};
+static float iP071[3] = {1404.86, -306.66, 1235.45};
+static float iP072[3] = {-1409.73, -314.14, 1247.66};
+static float iP073[3] = {1254.01, -296.87, 1544.58};
+static float iP074[3] = {-1262.09, -291.70, 1504.26};
+static float iP075[3] = {965.71, -269.26, 1742.65};
+static float iP076[3] = {-900.97, -276.74, 1726.07};
+static float P077[3] = {1058.00, -448.81, 8194.66};
+static float P078[3] = {-1016.51, -456.43, 8190.62};
+static float P079[3] = {-1515.96, -676.45, 7754.93};
+static float P080[3] = {1856.75, -830.34, 7296.56};
+static float P081[3] = {1472.16, -497.38, 7399.68};
+static float P082[3] = {-1775.26, -829.51, 7298.46};
+static float P083[3] = {911.09, -252.51, 7510.99};
+static float P084[3] = {-1451.94, -495.62, 7384.30};
+static float P085[3] = {1598.75, -669.26, 7769.90};
+static float P086[3] = {-836.53, -250.08, 7463.25};
+static float P087[3] = {722.87, -158.18, 8006.41};
+static float P088[3] = {-688.86, -162.28, 7993.89};
+static float P089[3] = {-626.92, -185.30, 8364.98};
+static float P090[3] = {647.72, -189.46, 8354.99};
+static float P091[3] = {0.00, 835.01, 5555.62};
+static float P092[3] = {0.00, 1350.18, 5220.86};
+static float P093[3] = {0.00, 1422.94, 5285.27};
+static float P094[3] = {0.00, 1296.75, 5650.19};
+static float P095[3] = {0.00, 795.63, 6493.88};
+static float iP091[3] = {0.00, 835.01, 5555.62};
+static float iP092[3] = {0.00, 1350.18, 5220.86};
+static float iP093[3] = {0.00, 1422.94, 5285.27};
+static float iP094[3] = {0.00, 1296.75, 5650.19};
+static float iP095[3] = {0.00, 795.63, 6493.88};
+static float P097[3] = {-194.91, -357.14, 10313.32};
+static float P098[3] = {135.35, -357.66, 10307.94};
+static float iP097[3] = {-194.91, -357.14, 10313.32};
+static float iP098[3] = {135.35, -357.66, 10307.94};
+static float P099[3] = {-380.53, -221.14, 9677.98};
+static float P100[3] = {0.00, 412.99, 9629.33};
+static float P102[3] = {59.51, -412.55, 10677.58};
+static float iP102[3] = {59.51, -412.55, 10677.58};
+static float P103[3] = {6.50, 484.74, 9009.94};
+static float P105[3] = {-41.86, 476.51, 9078.17};
+static float P108[3] = {49.20, 476.83, 9078.24};
+static float P110[3] = {-187.62, -410.04, 10674.12};
+static float iP110[3] = {-187.62, -410.04, 10674.12};
+static float P111[3] = {-184.25, -318.70, 10723.88};
+static float iP111[3] = {-184.25, -318.70, 10723.88};
+static float P112[3] = {-179.61, -142.81, 10670.26};
+static float P113[3] = {57.43, -147.94, 10675.26};
+static float P114[3] = {54.06, -218.90, 10712.44};
+static float P115[3] = {-186.35, -212.09, 10713.76};
+static float P116[3] = {205.90, -84.61, 10275.97};
+static float P117[3] = {-230.96, -83.26, 10280.09};
+static float iP118[3] = {216.78, -509.17, 10098.94};
+static float iP119[3] = {-313.21, -510.79, 10102.62};
+static float P118[3] = {216.78, -509.17, 10098.94};
+static float P119[3] = {-313.21, -510.79, 10102.62};
+static float P120[3] = {217.95, 96.34, 10161.62};
+static float P121[3] = {71.99, -319.74, 10717.70};
+static float iP121[3] = {71.99, -319.74, 10717.70};
+static float P122[3] = {0.00, 602.74, 5375.84};
+static float iP122[3] = {0.00, 602.74, 5375.84};
+static float P123[3] = {-448.94, -203.14, 9499.60};
+static float P124[3] = {-442.64, -185.20, 9528.07};
+static float P125[3] = {-441.07, -148.05, 9528.07};
+static float P126[3] = {-443.43, -128.84, 9499.60};
+static float P127[3] = {-456.87, -146.78, 9466.67};
+static float P128[3] = {-453.68, -183.93, 9466.67};
+static float P129[3] = {428.43, -124.08, 9503.03};
+static float P130[3] = {419.73, -142.14, 9534.56};
+static float P131[3] = {419.92, -179.96, 9534.56};
+static float P132[3] = {431.20, -199.73, 9505.26};
+static float P133[3] = {442.28, -181.67, 9475.96};
+static float P134[3] = {442.08, -143.84, 9475.96};
+/* *INDENT-ON* */
+
+void
+Dolphin001(void)
+{
+ glNormal3fv(N071);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P001);
+ glVertex3fv(P068);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P068);
+ glVertex3fv(P076);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P068);
+ glVertex3fv(P070);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P076);
+ glVertex3fv(P070);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P070);
+ glVertex3fv(P072);
+ glVertex3fv(P074);
+ glEnd();
+ glNormal3fv(N119);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P072);
+ glVertex3fv(P070);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P074);
+ glVertex3fv(P070);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P070);
+ glVertex3fv(P068);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P076);
+ glVertex3fv(P068);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P068);
+ glVertex3fv(P001);
+ glVertex3fv(P010);
+ glEnd();
+}
+
+void
+Dolphin002(void)
+{
+ glNormal3fv(N071);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P011);
+ glVertex3fv(P001);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P075);
+ glVertex3fv(P011);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P011);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P075);
+ glVertex3fv(P073);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P071);
+ glVertex3fv(P069);
+ glVertex3fv(P073);
+ glEnd();
+ glNormal3fv(N119);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P001);
+ glVertex3fv(P011);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P009);
+ glVertex3fv(P011);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P011);
+ glVertex3fv(P069);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P073);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P071);
+ glVertex3fv(P073);
+ glEnd();
+}
+
+void
+Dolphin003(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glEnd();
+}
+
+void
+Dolphin004(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glEnd();
+}
+
+void
+Dolphin005(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+}
+
+void
+Dolphin006(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N122);
+ glVertex3fv(P122);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N122);
+ glVertex3fv(P122);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glEnd();
+}
+
+void
+Dolphin007(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+}
+
+void
+Dolphin008(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glEnd();
+}
+
+void
+Dolphin009(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+}
+
+void
+Dolphin010(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+}
+
+void
+Dolphin011(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+}
+
+void
+Dolphin012(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+}
+
+void
+Dolphin013(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glNormal3fv(N113);
+ glVertex3fv(P113);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N114);
+ glVertex3fv(P114);
+ glNormal3fv(N113);
+ glVertex3fv(P113);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glNormal3fv(N115);
+ glVertex3fv(P115);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N114);
+ glVertex3fv(P114);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glNormal3fv(N113);
+ glVertex3fv(P113);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N114);
+ glVertex3fv(P114);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P002);
+ glVertex3fv(P007);
+ glVertex3fv(P008);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P007);
+ glVertex3fv(P114);
+ glVertex3fv(P115);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N115);
+ glVertex3fv(P115);
+ glEnd();
+}
+
+void
+Dolphin014(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N111);
+ glVertex3fv(P111);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glNormal3fv(N121);
+ glVertex3fv(P121);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N111);
+ glVertex3fv(P111);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P098);
+ glVertex3fv(P097);
+ glVertex3fv(P111);
+ glVertex3fv(P121);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P002);
+ glVertex3fv(P099);
+ glVertex3fv(P097);
+ glVertex3fv(P098);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glNormal3fv(N121);
+ glVertex3fv(P121);
+ glEnd();
+}
+
+void
+Dolphin015(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+}
+
+void
+Dolphin016(void)
+{
+
+ glDisable(GL_DEPTH_TEST);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P123);
+ glVertex3fv(P124);
+ glVertex3fv(P125);
+ glVertex3fv(P126);
+ glVertex3fv(P127);
+ glVertex3fv(P128);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P129);
+ glVertex3fv(P130);
+ glVertex3fv(P131);
+ glVertex3fv(P132);
+ glVertex3fv(P133);
+ glVertex3fv(P134);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P103);
+ glVertex3fv(P105);
+ glVertex3fv(P108);
+ glEnd();
+ glEnable(GL_DEPTH_TEST);
+}
+
+void
+DrawDolphin(fishRec * fish)
+{
+ float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
+ float pitch, thrash, chomp;
+
+ fish->htail = (int) (fish->htail - (int) (10.0 * fish->v)) % 360;
+
+ thrash = 70.0 * fish->v;
+
+ seg0 = 1.0 * thrash * sin((fish->htail) * RRAD);
+ seg3 = 1.0 * thrash * sin((fish->htail) * RRAD);
+ seg1 = 2.0 * thrash * sin((fish->htail + 4.0) * RRAD);
+ seg2 = 3.0 * thrash * sin((fish->htail + 6.0) * RRAD);
+ seg4 = 4.0 * thrash * sin((fish->htail + 10.0) * RRAD);
+ seg5 = 4.5 * thrash * sin((fish->htail + 15.0) * RRAD);
+ seg6 = 5.0 * thrash * sin((fish->htail + 20.0) * RRAD);
+ seg7 = 6.0 * thrash * sin((fish->htail + 30.0) * RRAD);
+
+ pitch = fish->v * sin((fish->htail + 180.0) * RRAD);
+
+ if (fish->v > 2.0) {
+ chomp = -(fish->v - 2.0) * 200.0;
+ }
+ chomp = 100.0;
+
+ P012[1] = iP012[1] + seg5;
+ P013[1] = iP013[1] + seg5;
+ P014[1] = iP014[1] + seg5;
+ P015[1] = iP015[1] + seg5;
+ P016[1] = iP016[1] + seg5;
+ P017[1] = iP017[1] + seg5;
+ P018[1] = iP018[1] + seg5;
+ P019[1] = iP019[1] + seg5;
+
+ P020[1] = iP020[1] + seg4;
+ P021[1] = iP021[1] + seg4;
+ P022[1] = iP022[1] + seg4;
+ P023[1] = iP023[1] + seg4;
+ P024[1] = iP024[1] + seg4;
+ P025[1] = iP025[1] + seg4;
+ P026[1] = iP026[1] + seg4;
+ P027[1] = iP027[1] + seg4;
+
+ P028[1] = iP028[1] + seg2;
+ P029[1] = iP029[1] + seg2;
+ P030[1] = iP030[1] + seg2;
+ P031[1] = iP031[1] + seg2;
+ P032[1] = iP032[1] + seg2;
+ P033[1] = iP033[1] + seg2;
+ P034[1] = iP034[1] + seg2;
+ P035[1] = iP035[1] + seg2;
+
+ P036[1] = iP036[1] + seg1;
+ P037[1] = iP037[1] + seg1;
+ P038[1] = iP038[1] + seg1;
+ P039[1] = iP039[1] + seg1;
+ P040[1] = iP040[1] + seg1;
+ P041[1] = iP041[1] + seg1;
+ P042[1] = iP042[1] + seg1;
+ P043[1] = iP043[1] + seg1;
+
+ P044[1] = iP044[1] + seg0;
+ P045[1] = iP045[1] + seg0;
+ P046[1] = iP046[1] + seg0;
+ P047[1] = iP047[1] + seg0;
+ P048[1] = iP048[1] + seg0;
+ P049[1] = iP049[1] + seg0;
+ P050[1] = iP050[1] + seg0;
+ P051[1] = iP051[1] + seg0;
+
+ P009[1] = iP009[1] + seg6;
+ P010[1] = iP010[1] + seg6;
+ P075[1] = iP075[1] + seg6;
+ P076[1] = iP076[1] + seg6;
+
+ P001[1] = iP001[1] + seg7;
+ P011[1] = iP011[1] + seg7;
+ P068[1] = iP068[1] + seg7;
+ P069[1] = iP069[1] + seg7;
+ P070[1] = iP070[1] + seg7;
+ P071[1] = iP071[1] + seg7;
+ P072[1] = iP072[1] + seg7;
+ P073[1] = iP073[1] + seg7;
+ P074[1] = iP074[1] + seg7;
+
+ P091[1] = iP091[1] + seg3;
+ P092[1] = iP092[1] + seg3;
+ P093[1] = iP093[1] + seg3;
+ P094[1] = iP094[1] + seg3;
+ P095[1] = iP095[1] + seg3;
+ P122[1] = iP122[1] + seg3 * 1.5;
+
+ P097[1] = iP097[1] + chomp;
+ P098[1] = iP098[1] + chomp;
+ P102[1] = iP102[1] + chomp;
+ P110[1] = iP110[1] + chomp;
+ P111[1] = iP111[1] + chomp;
+ P121[1] = iP121[1] + chomp;
+ P118[1] = iP118[1] + chomp;
+ P119[1] = iP119[1] + chomp;
+
+ glPushMatrix();
+
+ glRotatef(pitch, 1.0, 0.0, 0.0);
+
+ glTranslatef(0.0, 0.0, 7000.0);
+
+ glRotatef(180.0, 0.0, 1.0, 0.0);
+
+ glEnable(GL_CULL_FACE);
+ Dolphin014();
+ Dolphin010();
+ Dolphin009();
+ Dolphin012();
+ Dolphin013();
+ Dolphin006();
+ Dolphin002();
+ Dolphin001();
+ Dolphin003();
+ Dolphin015();
+ Dolphin004();
+ Dolphin005();
+ Dolphin007();
+ Dolphin008();
+ Dolphin011();
+ Dolphin016();
+ glDisable(GL_CULL_FACE);
+
+ glPopMatrix();
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/shark.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/shark.c
new file mode 100644
index 0000000..9c847db
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/shark.c
@@ -0,0 +1,1308 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <GLUT/glut.h>
+#include <math.h>
+#include "atlantis.h"
+/* *INDENT-OFF* */
+static float N002[3] = {0.000077 ,-0.020611 ,0.999788};
+static float N003[3] = {0.961425 ,0.258729 ,-0.093390};
+static float N004[3] = {0.510811 ,-0.769633 ,-0.383063};
+static float N005[3] = {0.400123 ,0.855734 ,-0.328055};
+static float N006[3] = {-0.770715 ,0.610204 ,-0.183440};
+static float N007[3] = {-0.915597 ,-0.373345 ,-0.149316};
+static float N008[3] = {-0.972788 ,0.208921 ,-0.100179};
+static float N009[3] = {-0.939713 ,-0.312268 ,-0.139383};
+static float N010[3] = {-0.624138 ,-0.741047 ,-0.247589};
+static float N011[3] = {0.591434 ,-0.768401 ,-0.244471};
+static float N012[3] = {0.935152 ,-0.328495 ,-0.132598};
+static float N013[3] = {0.997102 ,0.074243 ,-0.016593};
+static float N014[3] = {0.969995 ,0.241712 ,-0.026186};
+static float N015[3] = {0.844539 ,0.502628 ,-0.184714};
+static float N016[3] = {-0.906608 ,0.386308 ,-0.169787};
+static float N017[3] = {-0.970016 ,0.241698 ,-0.025516};
+static float N018[3] = {-0.998652 ,0.050493 ,-0.012045};
+static float N019[3] = {-0.942685 ,-0.333051 ,-0.020556};
+static float N020[3] = {-0.660944 ,-0.750276 ,0.015480};
+static float N021[3] = {0.503549 ,-0.862908 ,-0.042749};
+static float N022[3] = {0.953202 ,-0.302092 ,-0.012089};
+static float N023[3] = {0.998738 ,0.023574 ,0.044344};
+static float N024[3] = {0.979297 ,0.193272 ,0.060202};
+static float N025[3] = {0.798300 ,0.464885 ,0.382883};
+static float N026[3] = {-0.756590 ,0.452403 ,0.472126};
+static float N027[3] = {-0.953855 ,0.293003 ,0.065651};
+static float N028[3] = {-0.998033 ,0.040292 ,0.048028};
+static float N029[3] = {-0.977079 ,-0.204288 ,0.059858};
+static float N030[3] = {-0.729117 ,-0.675304 ,0.111140};
+static float N031[3] = {0.598361 ,-0.792753 ,0.116221};
+static float N032[3] = {0.965192 ,-0.252991 ,0.066332};
+static float N033[3] = {0.998201 ,-0.002790 ,0.059892};
+static float N034[3] = {0.978657 ,0.193135 ,0.070207};
+static float N035[3] = {0.718815 ,0.680392 ,0.142733};
+static float N036[3] = {-0.383096 ,0.906212 ,0.178936};
+static float N037[3] = {-0.952831 ,0.292590 ,0.080647};
+static float N038[3] = {-0.997680 ,0.032417 ,0.059861};
+static float N039[3] = {-0.982629 ,-0.169881 ,0.074700};
+static float N040[3] = {-0.695424 ,-0.703466 ,0.146700};
+static float N041[3] = {0.359323 ,-0.915531 ,0.180805};
+static float N042[3] = {0.943356 ,-0.319387 ,0.089842};
+static float N043[3] = {0.998272 ,-0.032435 ,0.048993};
+static float N044[3] = {0.978997 ,0.193205 ,0.065084};
+static float N045[3] = {0.872144 ,0.470094 ,-0.135565};
+static float N046[3] = {-0.664282 ,0.737945 ,-0.119027};
+static float N047[3] = {-0.954508 ,0.288570 ,0.075107};
+static float N048[3] = {-0.998273 ,0.032406 ,0.048993};
+static float N049[3] = {-0.979908 ,-0.193579 ,0.048038};
+static float N050[3] = {-0.858736 ,-0.507202 ,-0.072938};
+static float N051[3] = {0.643545 ,-0.763887 ,-0.048237};
+static float N052[3] = {0.955580 ,-0.288954 ,0.058068};
+static float N058[3] = {0.000050 ,0.793007 ,-0.609213};
+static float N059[3] = {0.913510 ,0.235418 ,-0.331779};
+static float N060[3] = {-0.807970 ,0.495000 ,-0.319625};
+static float N061[3] = {0.000000 ,0.784687 ,-0.619892};
+static float N062[3] = {0.000000 ,-1.000000 ,0.000000};
+static float N063[3] = {0.000000 ,1.000000 ,0.000000};
+static float N064[3] = {0.000000 ,1.000000 ,0.000000};
+static float N065[3] = {0.000000 ,1.000000 ,0.000000};
+static float N066[3] = {-0.055784 ,0.257059 ,0.964784};
+static float N069[3] = {-0.000505 ,-0.929775 ,-0.368127};
+static float N070[3] = {0.000000 ,1.000000 ,0.000000};
+static float P002[3] = {0.00, -36.59, 5687.72};
+static float P003[3] = {90.00, 114.73, 724.38};
+static float P004[3] = {58.24, -146.84, 262.35};
+static float P005[3] = {27.81, 231.52, 510.43};
+static float P006[3] = {-27.81, 230.43, 509.76};
+static float P007[3] = {-46.09, -146.83, 265.84};
+static float P008[3] = {-90.00, 103.84, 718.53};
+static float P009[3] = {-131.10, -165.92, 834.85};
+static float P010[3] = {-27.81, -285.31, 500.00};
+static float P011[3] = {27.81, -285.32, 500.00};
+static float P012[3] = {147.96, -170.89, 845.50};
+static float P013[3] = {180.00, 0.00, 2000.00};
+static float P014[3] = {145.62, 352.67, 2000.00};
+static float P015[3] = {55.62, 570.63, 2000.00};
+static float P016[3] = {-55.62, 570.64, 2000.00};
+static float P017[3] = {-145.62, 352.68, 2000.00};
+static float P018[3] = {-180.00, 0.01, 2000.00};
+static float P019[3] = {-178.20, -352.66, 2001.61};
+static float P020[3] = {-55.63, -570.63, 2000.00};
+static float P021[3] = {55.62, -570.64, 2000.00};
+static float P022[3] = {179.91, -352.69, 1998.39};
+static float P023[3] = {150.00, 0.00, 3000.00};
+static float P024[3] = {121.35, 293.89, 3000.00};
+static float P025[3] = {46.35, 502.93, 2883.09};
+static float P026[3] = {-46.35, 497.45, 2877.24};
+static float P027[3] = {-121.35, 293.90, 3000.00};
+static float P028[3] = {-150.00, 0.00, 3000.00};
+static float P029[3] = {-152.21, -304.84, 2858.68};
+static float P030[3] = {-46.36, -475.52, 3000.00};
+static float P031[3] = {46.35, -475.53, 3000.00};
+static float P032[3] = {155.64, -304.87, 2863.50};
+static float P033[3] = {90.00, 0.00, 4000.00};
+static float P034[3] = {72.81, 176.33, 4000.00};
+static float P035[3] = {27.81, 285.32, 4000.00};
+static float P036[3] = {-27.81, 285.32, 4000.00};
+static float P037[3] = {-72.81, 176.34, 4000.00};
+static float P038[3] = {-90.00, 0.00, 4000.00};
+static float P039[3] = {-72.81, -176.33, 4000.00};
+static float P040[3] = {-27.81, -285.31, 4000.00};
+static float P041[3] = {27.81, -285.32, 4000.00};
+static float P042[3] = {72.81, -176.34, 4000.00};
+static float P043[3] = {30.00, 0.00, 5000.00};
+static float P044[3] = {24.27, 58.78, 5000.00};
+static float P045[3] = {9.27, 95.11, 5000.00};
+static float P046[3] = {-9.27, 95.11, 5000.00};
+static float P047[3] = {-24.27, 58.78, 5000.00};
+static float P048[3] = {-30.00, 0.00, 5000.00};
+static float P049[3] = {-24.27, -58.78, 5000.00};
+static float P050[3] = {-9.27, -95.10, 5000.00};
+static float P051[3] = {9.27, -95.11, 5000.00};
+static float P052[3] = {24.27, -58.78, 5000.00};
+static float P058[3] = {0.00, 1212.72, 2703.08};
+static float P059[3] = {50.36, 0.00, 108.14};
+static float P060[3] = {-22.18, 0.00, 108.14};
+static float P061[3] = {0.00, 1181.61, 6344.65};
+static float P062[3] = {516.45, -887.08, 2535.45};
+static float P063[3] = {-545.69, -879.31, 2555.63};
+static float P064[3] = {618.89, -1005.64, 2988.32};
+static float P065[3] = {-635.37, -1014.79, 2938.68};
+static float P066[3] = {0.00, 1374.43, 3064.18};
+static float P069[3] = {0.00, -418.25, 5765.04};
+static float P070[3] = {0.00, 1266.91, 6629.60};
+static float P071[3] = {-139.12, -124.96, 997.98};
+static float P072[3] = {-139.24, -110.18, 1020.68};
+static float P073[3] = {-137.33, -94.52, 1022.63};
+static float P074[3] = {-137.03, -79.91, 996.89};
+static float P075[3] = {-135.21, -91.48, 969.14};
+static float P076[3] = {-135.39, -110.87, 968.76};
+static float P077[3] = {150.23, -78.44, 995.53};
+static float P078[3] = {152.79, -92.76, 1018.46};
+static float P079[3] = {154.19, -110.20, 1020.55};
+static float P080[3] = {151.33, -124.15, 993.77};
+static float P081[3] = {150.49, -111.19, 969.86};
+static float P082[3] = {150.79, -92.41, 969.70};
+static float iP002[3] = {0.00, -36.59, 5687.72};
+static float iP004[3] = {58.24, -146.84, 262.35};
+static float iP007[3] = {-46.09, -146.83, 265.84};
+static float iP010[3] = {-27.81, -285.31, 500.00};
+static float iP011[3] = {27.81, -285.32, 500.00};
+static float iP023[3] = {150.00, 0.00, 3000.00};
+static float iP024[3] = {121.35, 293.89, 3000.00};
+static float iP025[3] = {46.35, 502.93, 2883.09};
+static float iP026[3] = {-46.35, 497.45, 2877.24};
+static float iP027[3] = {-121.35, 293.90, 3000.00};
+static float iP028[3] = {-150.00, 0.00, 3000.00};
+static float iP029[3] = {-121.35, -304.84, 2853.86};
+static float iP030[3] = {-46.36, -475.52, 3000.00};
+static float iP031[3] = {46.35, -475.53, 3000.00};
+static float iP032[3] = {121.35, -304.87, 2853.86};
+static float iP033[3] = {90.00, 0.00, 4000.00};
+static float iP034[3] = {72.81, 176.33, 4000.00};
+static float iP035[3] = {27.81, 285.32, 4000.00};
+static float iP036[3] = {-27.81, 285.32, 4000.00};
+static float iP037[3] = {-72.81, 176.34, 4000.00};
+static float iP038[3] = {-90.00, 0.00, 4000.00};
+static float iP039[3] = {-72.81, -176.33, 4000.00};
+static float iP040[3] = {-27.81, -285.31, 4000.00};
+static float iP041[3] = {27.81, -285.32, 4000.00};
+static float iP042[3] = {72.81, -176.34, 4000.00};
+static float iP043[3] = {30.00, 0.00, 5000.00};
+static float iP044[3] = {24.27, 58.78, 5000.00};
+static float iP045[3] = {9.27, 95.11, 5000.00};
+static float iP046[3] = {-9.27, 95.11, 5000.00};
+static float iP047[3] = {-24.27, 58.78, 5000.00};
+static float iP048[3] = {-30.00, 0.00, 5000.00};
+static float iP049[3] = {-24.27, -58.78, 5000.00};
+static float iP050[3] = {-9.27, -95.10, 5000.00};
+static float iP051[3] = {9.27, -95.11, 5000.00};
+static float iP052[3] = {24.27, -58.78, 5000.00};
+static float iP061[3] = {0.00, 1181.61, 6344.65};
+static float iP069[3] = {0.00, -418.25, 5765.04};
+static float iP070[3] = {0.00, 1266.91, 6629.60};
+/* *INDENT-ON* */
+
+void
+Fish001(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P071);
+ glVertex3fv(P072);
+ glVertex3fv(P073);
+ glVertex3fv(P074);
+ glVertex3fv(P075);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P077);
+ glVertex3fv(P078);
+ glVertex3fv(P079);
+ glVertex3fv(P080);
+ glVertex3fv(P081);
+ glVertex3fv(P082);
+ glEnd();
+}
+
+void
+Fish002(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+}
+
+void
+Fish003(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glEnd();
+}
+
+void
+Fish004(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glEnd();
+}
+
+void
+Fish005(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+}
+
+void
+Fish006(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+}
+
+void
+Fish007(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+}
+
+void
+Fish008(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+}
+
+void
+Fish009(void)
+{
+ glBegin(GL_POLYGON);
+ glVertex3fv(P059);
+ glVertex3fv(P012);
+ glVertex3fv(P009);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P012);
+ glVertex3fv(P004);
+ glVertex3fv(P007);
+ glVertex3fv(P009);
+ glEnd();
+}
+
+void
+Fish_1(void)
+{
+ Fish004();
+ Fish005();
+ Fish003();
+ Fish007();
+ Fish006();
+ Fish002();
+ Fish008();
+ Fish009();
+ Fish001();
+}
+
+void
+Fish_2(void)
+{
+ Fish005();
+ Fish004();
+ Fish003();
+ Fish008();
+ Fish006();
+ Fish002();
+ Fish007();
+ Fish009();
+ Fish001();
+}
+
+void
+Fish_3(void)
+{
+ Fish005();
+ Fish004();
+ Fish007();
+ Fish003();
+ Fish002();
+ Fish008();
+ Fish009();
+ Fish001();
+ Fish006();
+}
+
+void
+Fish_4(void)
+{
+ Fish005();
+ Fish004();
+ Fish008();
+ Fish003();
+ Fish002();
+ Fish007();
+ Fish009();
+ Fish001();
+ Fish006();
+}
+
+void
+Fish_5(void)
+{
+ Fish009();
+ Fish006();
+ Fish007();
+ Fish001();
+ Fish002();
+ Fish003();
+ Fish008();
+ Fish004();
+ Fish005();
+}
+
+void
+Fish_6(void)
+{
+ Fish009();
+ Fish006();
+ Fish008();
+ Fish001();
+ Fish002();
+ Fish007();
+ Fish003();
+ Fish004();
+ Fish005();
+}
+
+void
+Fish_7(void)
+{
+ Fish009();
+ Fish001();
+ Fish007();
+ Fish005();
+ Fish002();
+ Fish008();
+ Fish003();
+ Fish004();
+ Fish006();
+}
+
+void
+Fish_8(void)
+{
+ Fish009();
+ Fish008();
+ Fish001();
+ Fish002();
+ Fish007();
+ Fish003();
+ Fish005();
+ Fish004();
+ Fish006();
+}
+
+void
+DrawShark(fishRec * fish)
+{
+ float mat[4][4];
+ int n;
+ float seg1, seg2, seg3, seg4, segup;
+ float thrash, chomp;
+
+ fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360;
+
+ thrash = 50.0 * fish->v;
+
+ seg1 = 0.6 * thrash * sin(fish->htail * RRAD);
+ seg2 = 1.8 * thrash * sin((fish->htail + 45.0) * RRAD);
+ seg3 = 3.0 * thrash * sin((fish->htail + 90.0) * RRAD);
+ seg4 = 4.0 * thrash * sin((fish->htail + 110.0) * RRAD);
+
+ chomp = 0.0;
+ if (fish->v > 2.0) {
+ chomp = -(fish->v - 2.0) * 200.0;
+ }
+ P004[1] = iP004[1] + chomp;
+ P007[1] = iP007[1] + chomp;
+ P010[1] = iP010[1] + chomp;
+ P011[1] = iP011[1] + chomp;
+
+ P023[0] = iP023[0] + seg1;
+ P024[0] = iP024[0] + seg1;
+ P025[0] = iP025[0] + seg1;
+ P026[0] = iP026[0] + seg1;
+ P027[0] = iP027[0] + seg1;
+ P028[0] = iP028[0] + seg1;
+ P029[0] = iP029[0] + seg1;
+ P030[0] = iP030[0] + seg1;
+ P031[0] = iP031[0] + seg1;
+ P032[0] = iP032[0] + seg1;
+ P033[0] = iP033[0] + seg2;
+ P034[0] = iP034[0] + seg2;
+ P035[0] = iP035[0] + seg2;
+ P036[0] = iP036[0] + seg2;
+ P037[0] = iP037[0] + seg2;
+ P038[0] = iP038[0] + seg2;
+ P039[0] = iP039[0] + seg2;
+ P040[0] = iP040[0] + seg2;
+ P041[0] = iP041[0] + seg2;
+ P042[0] = iP042[0] + seg2;
+ P043[0] = iP043[0] + seg3;
+ P044[0] = iP044[0] + seg3;
+ P045[0] = iP045[0] + seg3;
+ P046[0] = iP046[0] + seg3;
+ P047[0] = iP047[0] + seg3;
+ P048[0] = iP048[0] + seg3;
+ P049[0] = iP049[0] + seg3;
+ P050[0] = iP050[0] + seg3;
+ P051[0] = iP051[0] + seg3;
+ P052[0] = iP052[0] + seg3;
+ P002[0] = iP002[0] + seg4;
+ P061[0] = iP061[0] + seg4;
+ P069[0] = iP069[0] + seg4;
+ P070[0] = iP070[0] + seg4;
+
+ fish->vtail += ((fish->dtheta - fish->vtail) * 0.1);
+
+ if (fish->vtail > 0.5) {
+ fish->vtail = 0.5;
+ } else if (fish->vtail < -0.5) {
+ fish->vtail = -0.5;
+ }
+ segup = thrash * fish->vtail;
+
+ P023[1] = iP023[1] + segup;
+ P024[1] = iP024[1] + segup;
+ P025[1] = iP025[1] + segup;
+ P026[1] = iP026[1] + segup;
+ P027[1] = iP027[1] + segup;
+ P028[1] = iP028[1] + segup;
+ P029[1] = iP029[1] + segup;
+ P030[1] = iP030[1] + segup;
+ P031[1] = iP031[1] + segup;
+ P032[1] = iP032[1] + segup;
+ P033[1] = iP033[1] + segup * 5.0;
+ P034[1] = iP034[1] + segup * 5.0;
+ P035[1] = iP035[1] + segup * 5.0;
+ P036[1] = iP036[1] + segup * 5.0;
+ P037[1] = iP037[1] + segup * 5.0;
+ P038[1] = iP038[1] + segup * 5.0;
+ P039[1] = iP039[1] + segup * 5.0;
+ P040[1] = iP040[1] + segup * 5.0;
+ P041[1] = iP041[1] + segup * 5.0;
+ P042[1] = iP042[1] + segup * 5.0;
+ P043[1] = iP043[1] + segup * 12.0;
+ P044[1] = iP044[1] + segup * 12.0;
+ P045[1] = iP045[1] + segup * 12.0;
+ P046[1] = iP046[1] + segup * 12.0;
+ P047[1] = iP047[1] + segup * 12.0;
+ P048[1] = iP048[1] + segup * 12.0;
+ P049[1] = iP049[1] + segup * 12.0;
+ P050[1] = iP050[1] + segup * 12.0;
+ P051[1] = iP051[1] + segup * 12.0;
+ P052[1] = iP052[1] + segup * 12.0;
+ P002[1] = iP002[1] + segup * 17.0;
+ P061[1] = iP061[1] + segup * 17.0;
+ P069[1] = iP069[1] + segup * 17.0;
+ P070[1] = iP070[1] + segup * 17.0;
+
+ glPushMatrix();
+
+ glTranslatef(0.0, 0.0, -3000.0);
+
+ glGetFloatv(GL_MODELVIEW_MATRIX, &mat[0][0]);
+ n = 0;
+ if (mat[0][2] >= 0.0) {
+ n += 1;
+ }
+ if (mat[1][2] >= 0.0) {
+ n += 2;
+ }
+ if (mat[2][2] >= 0.0) {
+ n += 4;
+ }
+ glScalef(2.0, 1.0, 1.0);
+
+ glEnable(GL_CULL_FACE);
+ switch (n) {
+ case 0:
+ Fish_1();
+ break;
+ case 1:
+ Fish_2();
+ break;
+ case 2:
+ Fish_3();
+ break;
+ case 3:
+ Fish_4();
+ break;
+ case 4:
+ Fish_5();
+ break;
+ case 5:
+ Fish_6();
+ break;
+ case 6:
+ Fish_7();
+ break;
+ case 7:
+ Fish_8();
+ break;
+ }
+ glDisable(GL_CULL_FACE);
+
+ glPopMatrix();
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/swim.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/swim.c
new file mode 100644
index 0000000..cac7b60
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/swim.c
@@ -0,0 +1,188 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <math.h>
+#include <stdlib.h> /* For rand(). */
+#include <GLUT/glut.h>
+#include "atlantis.h"
+
+void
+FishTransform(fishRec * fish)
+{
+
+ glTranslatef(fish->y, fish->z, -fish->x);
+ glRotatef(-fish->psi, 0.0, 1.0, 0.0);
+ glRotatef(fish->theta, 1.0, 0.0, 0.0);
+ glRotatef(-fish->phi, 0.0, 0.0, 1.0);
+}
+
+void
+WhalePilot(fishRec * fish)
+{
+
+ fish->phi = -20.0;
+ fish->theta = 0.0;
+ fish->psi -= 0.5;
+
+ fish->x += WHALESPEED * fish->v * cos(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->y += WHALESPEED * fish->v * sin(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->z += WHALESPEED * fish->v * sin(fish->theta / RAD);
+}
+
+void
+SharkPilot(fishRec * fish)
+{
+ static int sign = 1;
+ float X, Y, Z, tpsi, ttheta, thetal;
+
+ fish->xt = 60000.0;
+ fish->yt = 0.0;
+ fish->zt = 0.0;
+
+ X = fish->xt - fish->x;
+ Y = fish->yt - fish->y;
+ Z = fish->zt - fish->z;
+
+ thetal = fish->theta;
+
+ ttheta = RAD * atan(Z / (sqrt(X * X + Y * Y)));
+
+ if (ttheta > fish->theta + 0.25) {
+ fish->theta += 0.5;
+ } else if (ttheta < fish->theta - 0.25) {
+ fish->theta -= 0.5;
+ }
+ if (fish->theta > 90.0) {
+ fish->theta = 90.0;
+ }
+ if (fish->theta < -90.0) {
+ fish->theta = -90.0;
+ }
+ fish->dtheta = fish->theta - thetal;
+
+ tpsi = RAD * atan2(Y, X);
+
+ fish->attack = 0;
+
+ if (fabs(tpsi - fish->psi) < 10.0) {
+ fish->attack = 1;
+ } else if (fabs(tpsi - fish->psi) < 45.0) {
+ if (fish->psi > tpsi) {
+ fish->psi -= 0.5;
+ if (fish->psi < -180.0) {
+ fish->psi += 360.0;
+ }
+ } else if (fish->psi < tpsi) {
+ fish->psi += 0.5;
+ if (fish->psi > 180.0) {
+ fish->psi -= 360.0;
+ }
+ }
+ } else {
+ if (rand() % 100 > 98) {
+ sign = 1 - sign;
+ }
+ fish->psi += sign;
+ if (fish->psi > 180.0) {
+ fish->psi -= 360.0;
+ }
+ if (fish->psi < -180.0) {
+ fish->psi += 360.0;
+ }
+ }
+
+ if (fish->attack) {
+ if (fish->v < 1.1) {
+ fish->spurt = 1;
+ }
+ if (fish->spurt) {
+ fish->v += 0.2;
+ }
+ if (fish->v > 5.0) {
+ fish->spurt = 0;
+ }
+ if ((fish->v > 1.0) && (!fish->spurt)) {
+ fish->v -= 0.2;
+ }
+ } else {
+ if (!(rand() % 400) && (!fish->spurt)) {
+ fish->spurt = 1;
+ }
+ if (fish->spurt) {
+ fish->v += 0.05;
+ }
+ if (fish->v > 3.0) {
+ fish->spurt = 0;
+ }
+ if ((fish->v > 1.0) && (!fish->spurt)) {
+ fish->v -= 0.05;
+ }
+ }
+
+ fish->x += SHARKSPEED * fish->v * cos(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->y += SHARKSPEED * fish->v * sin(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->z += SHARKSPEED * fish->v * sin(fish->theta / RAD);
+}
+
+void
+SharkMiss(int i)
+{
+ int j;
+ float avoid, thetal;
+ float X, Y, Z, R;
+
+ for (j = 0; j < NUM_SHARKS; j++) {
+ if (j != i) {
+ X = sharks[j].x - sharks[i].x;
+ Y = sharks[j].y - sharks[i].y;
+ Z = sharks[j].z - sharks[i].z;
+
+ R = sqrt(X * X + Y * Y + Z * Z);
+
+ avoid = 1.0;
+ thetal = sharks[i].theta;
+
+ if (R < SHARKSIZE) {
+ if (Z > 0.0) {
+ sharks[i].theta -= avoid;
+ } else {
+ sharks[i].theta += avoid;
+ }
+ }
+ sharks[i].dtheta += (sharks[i].theta - thetal);
+ }
+ }
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/whale.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/whale.c
new file mode 100644
index 0000000..828640a
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/whale.c
@@ -0,0 +1,1798 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <GLUT/glut.h>
+#include <math.h>
+#include "atlantis.h"
+/* *INDENT-OFF* */
+static float N001[3] = {0.019249 ,0.011340 ,-0.999750};
+static float N002[3] = {-0.132579 ,0.954547 ,0.266952};
+static float N003[3] = {-0.196061 ,0.980392 ,-0.019778};
+static float N004[3] = {0.695461 ,0.604704 ,0.388158};
+static float N005[3] = {0.870600 ,0.425754 ,0.246557};
+static float N006[3] = {-0.881191 ,0.392012 ,0.264251};
+static float N008[3] = {-0.341437 ,0.887477 ,0.309523};
+static float N009[3] = {0.124035 ,-0.992278 ,0.000000};
+static float N010[3] = {0.242536 ,0.000000 ,-0.970143};
+static float N011[3] = {0.588172 ,0.000000 ,0.808736};
+static float N012[3] = {0.929824 ,-0.340623 ,-0.139298};
+static float N013[3] = {0.954183 ,0.267108 ,-0.134865};
+static float N014[3] = {0.495127 ,0.855436 ,-0.151914};
+static float N015[3] = {-0.390199 ,0.906569 ,-0.160867};
+static float N016[3] = {-0.923605 ,0.354581 ,-0.145692};
+static float N017[3] = {-0.955796 ,-0.260667 ,-0.136036};
+static float N018[3] = {-0.501283 ,-0.853462 ,-0.142540};
+static float N019[3] = {0.405300 ,-0.901974 ,-0.148913};
+static float N020[3] = {0.909913 ,-0.392746 ,-0.133451};
+static float N021[3] = {0.936494 ,0.331147 ,-0.115414};
+static float N022[3] = {0.600131 ,0.793724 ,-0.099222};
+static float N023[3] = {-0.231556 ,0.968361 ,-0.093053};
+static float N024[3] = {-0.844369 ,0.525330 ,-0.105211};
+static float N025[3] = {-0.982725 ,-0.136329 ,-0.125164};
+static float N026[3] = {-0.560844 ,-0.822654 ,-0.093241};
+static float N027[3] = {0.263884 ,-0.959981 ,-0.093817};
+static float N028[3] = {0.842057 ,-0.525192 ,-0.122938};
+static float N029[3] = {0.921620 ,0.367565 ,-0.124546};
+static float N030[3] = {0.613927 ,0.784109 ,-0.090918};
+static float N031[3] = {-0.448754 ,0.888261 ,-0.098037};
+static float N032[3] = {-0.891865 ,0.434376 ,-0.126077};
+static float N033[3] = {-0.881447 ,-0.448017 ,-0.149437};
+static float N034[3] = {-0.345647 ,-0.922057 ,-0.174183};
+static float N035[3] = {0.307998 ,-0.941371 ,-0.137688};
+static float N036[3] = {0.806316 ,-0.574647 ,-0.140124};
+static float N037[3] = {0.961346 ,0.233646 ,-0.145681};
+static float N038[3] = {0.488451 ,0.865586 ,-0.110351};
+static float N039[3] = {-0.374290 ,0.921953 ,-0.099553};
+static float N040[3] = {-0.928504 ,0.344533 ,-0.138485};
+static float N041[3] = {-0.918419 ,-0.371792 ,-0.135189};
+static float N042[3] = {-0.520666 ,-0.833704 ,-0.183968};
+static float N043[3] = {0.339204 ,-0.920273 ,-0.195036};
+static float N044[3] = {0.921475 ,-0.387382 ,-0.028636};
+static float N045[3] = {0.842465 ,0.533335 ,-0.076204};
+static float N046[3] = {0.380110 ,0.924939 ,0.002073};
+static float N047[3] = {-0.276128 ,0.961073 ,-0.009579};
+static float N048[3] = {-0.879684 ,0.473001 ,-0.049250};
+static float N049[3] = {-0.947184 ,-0.317614 ,-0.044321};
+static float N050[3] = {-0.642059 ,-0.764933 ,-0.051363};
+static float N051[3] = {0.466794 ,-0.880921 ,-0.077990};
+static float N052[3] = {0.898509 ,-0.432277 ,0.076279};
+static float N053[3] = {0.938985 ,0.328141 ,0.103109};
+static float N054[3] = {0.442420 ,0.895745 ,0.043647};
+static float N055[3] = {-0.255163 ,0.966723 ,0.018407};
+static float N056[3] = {-0.833769 ,0.540650 ,0.111924};
+static float N057[3] = {-0.953653 ,-0.289939 ,0.080507};
+static float N058[3] = {-0.672357 ,-0.730524 ,0.119461};
+static float N059[3] = {0.522249 ,-0.846652 ,0.102157};
+static float N060[3] = {0.885868 ,-0.427631 ,0.179914};
+static float N062[3] = {0.648942 ,0.743116 ,0.163255};
+static float N063[3] = {-0.578967 ,0.807730 ,0.111219};
+static float N065[3] = {-0.909864 ,-0.352202 ,0.219321};
+static float N066[3] = {-0.502541 ,-0.818090 ,0.279610};
+static float N067[3] = {0.322919 ,-0.915358 ,0.240504};
+static float N068[3] = {0.242536 ,0.000000 ,-0.970143};
+static float N069[3] = {0.000000 ,1.000000 ,0.000000};
+static float N070[3] = {0.000000 ,1.000000 ,0.000000};
+static float N071[3] = {0.000000 ,1.000000 ,0.000000};
+static float N072[3] = {0.000000 ,1.000000 ,0.000000};
+static float N073[3] = {0.000000 ,1.000000 ,0.000000};
+static float N074[3] = {0.000000 ,1.000000 ,0.000000};
+static float N075[3] = {0.031220 ,0.999025 ,-0.031220};
+static float N076[3] = {0.000000 ,1.000000 ,0.000000};
+static float N077[3] = {0.446821 ,0.893642 ,0.041889};
+static float N078[3] = {0.863035 ,-0.100980 ,0.494949};
+static float N079[3] = {0.585597 ,-0.808215 ,0.062174};
+static float N080[3] = {0.000000 ,1.000000 ,0.000000};
+static float N081[3] = {1.000000 ,0.000000 ,0.000000};
+static float N082[3] = {0.000000 ,1.000000 ,0.000000};
+static float N083[3] = {-1.000000 ,0.000000 ,0.000000};
+static float N084[3] = {-0.478893 ,0.837129 ,-0.264343};
+static float N085[3] = {0.000000 ,1.000000 ,0.000000};
+static float N086[3] = {0.763909 ,0.539455 ,-0.354163};
+static float N087[3] = {0.446821 ,0.893642 ,0.041889};
+static float N088[3] = {0.385134 ,-0.908288 ,0.163352};
+static float N089[3] = {-0.605952 ,0.779253 ,-0.159961};
+static float N090[3] = {0.000000 ,1.000000 ,0.000000};
+static float N091[3] = {0.000000 ,1.000000 ,0.000000};
+static float N092[3] = {0.000000 ,1.000000 ,0.000000};
+static float N093[3] = {0.000000 ,1.000000 ,0.000000};
+static float N094[3] = {1.000000 ,0.000000 ,0.000000};
+static float N095[3] = {-1.000000 ,0.000000 ,0.000000};
+static float N096[3] = {0.644444 ,-0.621516 ,0.445433};
+static float N097[3] = {-0.760896 ,-0.474416 ,0.442681};
+static float N098[3] = {0.636888 ,-0.464314 ,0.615456};
+static float N099[3] = {-0.710295 ,0.647038 ,0.277168};
+static float N100[3] = {0.009604 ,0.993655 ,0.112063};
+static float iP001[3] = {18.74, 13.19, 3.76};
+static float P001[3] = {18.74, 13.19, 3.76};
+static float P002[3] = {0.00, 390.42, 10292.57};
+static float P003[3] = {55.80, 622.31, 8254.35};
+static float P004[3] = {20.80, 247.66, 10652.13};
+static float P005[3] = {487.51, 198.05, 9350.78};
+static float P006[3] = {-457.61, 199.04, 9353.01};
+static float P008[3] = {-34.67, 247.64, 10663.71};
+static float iP009[3] = {97.46, 67.63, 593.82};
+static float iP010[3] = {-84.33, 67.63, 588.18};
+static float iP011[3] = {118.69, 8.98, -66.91};
+static float P009[3] = {97.46, 67.63, 593.82};
+static float P010[3] = {-84.33, 67.63, 588.18};
+static float P011[3] = {118.69, 8.98, -66.91};
+static float iP012[3] = {156.48, -31.95, 924.54};
+static float iP013[3] = {162.00, 110.22, 924.54};
+static float iP014[3] = {88.16, 221.65, 924.54};
+static float iP015[3] = {-65.21, 231.16, 924.54};
+static float iP016[3] = {-156.48, 121.97, 924.54};
+static float iP017[3] = {-162.00, -23.93, 924.54};
+static float iP018[3] = {-88.16, -139.10, 924.54};
+static float iP019[3] = {65.21, -148.61, 924.54};
+static float iP020[3] = {246.87, -98.73, 1783.04};
+static float iP021[3] = {253.17, 127.76, 1783.04};
+static float iP022[3] = {132.34, 270.77, 1783.04};
+static float iP023[3] = {-97.88, 285.04, 1783.04};
+static float iP024[3] = {-222.97, 139.80, 1783.04};
+static float iP025[3] = {-225.29, -86.68, 1783.04};
+static float iP026[3] = {-108.44, -224.15, 1783.04};
+static float iP027[3] = {97.88, -221.56, 1783.04};
+static float iP028[3] = {410.55, -200.66, 3213.87};
+static float iP029[3] = {432.19, 148.42, 3213.87};
+static float iP030[3] = {200.66, 410.55, 3213.87};
+static float iP031[3] = {-148.42, 432.19, 3213.87};
+static float iP032[3] = {-407.48, 171.88, 3213.87};
+static float iP033[3] = {-432.19, -148.42, 3213.87};
+static float iP034[3] = {-148.88, -309.74, 3213.87};
+static float iP035[3] = {156.38, -320.17, 3213.87};
+static float iP036[3] = {523.39, -303.81, 4424.57};
+static float iP037[3] = {574.66, 276.84, 4424.57};
+static float iP038[3] = {243.05, 492.50, 4424.57};
+static float iP039[3] = {-191.23, 520.13, 4424.57};
+static float iP040[3] = {-523.39, 304.01, 4424.57};
+static float iP041[3] = {-574.66, -231.83, 4424.57};
+static float iP042[3] = {-266.95, -578.17, 4424.57};
+static float iP043[3] = {211.14, -579.67, 4424.57};
+static float iP044[3] = {680.57, -370.27, 5943.46};
+static float iP045[3] = {834.01, 363.09, 5943.46};
+static float iP046[3] = {371.29, 614.13, 5943.46};
+static float iP047[3] = {-291.43, 621.86, 5943.46};
+static float iP048[3] = {-784.13, 362.60, 5943.46};
+static float iP049[3] = {-743.29, -325.82, 5943.46};
+static float iP050[3] = {-383.24, -804.77, 5943.46};
+static float iP051[3] = {283.47, -846.09, 5943.46};
+static float P012[3] = {156.48, -31.95, 924.54};
+static float P013[3] = {162.00, 110.22, 924.54};
+static float P014[3] = {88.16, 221.65, 924.54};
+static float P015[3] = {-65.21, 231.16, 924.54};
+static float P016[3] = {-156.48, 121.97, 924.54};
+static float P017[3] = {-162.00, -23.93, 924.54};
+static float P018[3] = {-88.16, -139.10, 924.54};
+static float P019[3] = {65.21, -148.61, 924.54};
+static float P020[3] = {246.87, -98.73, 1783.04};
+static float P021[3] = {253.17, 127.76, 1783.04};
+static float P022[3] = {132.34, 270.77, 1783.04};
+static float P023[3] = {-97.88, 285.04, 1783.04};
+static float P024[3] = {-222.97, 139.80, 1783.04};
+static float P025[3] = {-225.29, -86.68, 1783.04};
+static float P026[3] = {-108.44, -224.15, 1783.04};
+static float P027[3] = {97.88, -221.56, 1783.04};
+static float P028[3] = {410.55, -200.66, 3213.87};
+static float P029[3] = {432.19, 148.42, 3213.87};
+static float P030[3] = {200.66, 410.55, 3213.87};
+static float P031[3] = {-148.42, 432.19, 3213.87};
+static float P032[3] = {-407.48, 171.88, 3213.87};
+static float P033[3] = {-432.19, -148.42, 3213.87};
+static float P034[3] = {-148.88, -309.74, 3213.87};
+static float P035[3] = {156.38, -320.17, 3213.87};
+static float P036[3] = {523.39, -303.81, 4424.57};
+static float P037[3] = {574.66, 276.84, 4424.57};
+static float P038[3] = {243.05, 492.50, 4424.57};
+static float P039[3] = {-191.23, 520.13, 4424.57};
+static float P040[3] = {-523.39, 304.01, 4424.57};
+static float P041[3] = {-574.66, -231.83, 4424.57};
+static float P042[3] = {-266.95, -578.17, 4424.57};
+static float P043[3] = {211.14, -579.67, 4424.57};
+static float P044[3] = {680.57, -370.27, 5943.46};
+static float P045[3] = {834.01, 363.09, 5943.46};
+static float P046[3] = {371.29, 614.13, 5943.46};
+static float P047[3] = {-291.43, 621.86, 5943.46};
+static float P048[3] = {-784.13, 362.60, 5943.46};
+static float P049[3] = {-743.29, -325.82, 5943.46};
+static float P050[3] = {-383.24, -804.77, 5943.46};
+static float P051[3] = {283.47, -846.09, 5943.46};
+static float P052[3] = {599.09, -332.24, 7902.59};
+static float P053[3] = {735.48, 306.26, 7911.92};
+static float P054[3] = {321.55, 558.53, 7902.59};
+static float P055[3] = {-260.54, 559.84, 7902.59};
+static float P056[3] = {-698.66, 320.83, 7902.59};
+static float P057[3] = {-643.29, -299.16, 7902.59};
+static float P058[3] = {-341.47, -719.30, 7902.59};
+static float P059[3] = {252.57, -756.12, 7902.59};
+static float P060[3] = {458.39, -265.31, 9355.44};
+static float P062[3] = {224.04, 438.98, 9364.77};
+static float P063[3] = {-165.71, 441.27, 9355.44};
+static float P065[3] = {-473.99, -219.71, 9355.44};
+static float P066[3] = {-211.97, -479.87, 9355.44};
+static float P067[3] = {192.86, -504.03, 9355.44};
+static float iP068[3] = {-112.44, 9.25, -64.42};
+static float iP069[3] = {1155.63, 0.00, -182.46};
+static float iP070[3] = {-1143.13, 0.00, -181.54};
+static float iP071[3] = {1424.23, 0.00, -322.09};
+static float iP072[3] = {-1368.01, 0.00, -310.38};
+static float iP073[3] = {1255.57, 2.31, 114.05};
+static float iP074[3] = {-1149.38, 0.00, 117.12};
+static float iP075[3] = {718.36, 0.00, 433.36};
+static float iP076[3] = {-655.90, 0.00, 433.36};
+static float P068[3] = {-112.44, 9.25, -64.42};
+static float P069[3] = {1155.63, 0.00, -182.46};
+static float P070[3] = {-1143.13, 0.00, -181.54};
+static float P071[3] = {1424.23, 0.00, -322.09};
+static float P072[3] = {-1368.01, 0.00, -310.38};
+static float P073[3] = {1255.57, 2.31, 114.05};
+static float P074[3] = {-1149.38, 0.00, 117.12};
+static float P075[3] = {718.36, 0.00, 433.36};
+static float P076[3] = {-655.90, 0.00, 433.36};
+static float P077[3] = {1058.00, -2.66, 7923.51};
+static float P078[3] = {-1016.51, -15.47, 7902.87};
+static float P079[3] = {-1363.99, -484.50, 7593.38};
+static float P080[3] = {1478.09, -861.47, 7098.12};
+static float P081[3] = {1338.06, -284.68, 7024.15};
+static float P082[3] = {-1545.51, -860.64, 7106.60};
+static float P083[3] = {1063.19, -70.46, 7466.60};
+static float P084[3] = {-1369.18, -288.11, 7015.34};
+static float P085[3] = {1348.44, -482.50, 7591.41};
+static float P086[3] = {-1015.45, -96.80, 7474.86};
+static float P087[3] = {731.04, 148.38, 7682.58};
+static float P088[3] = {-697.03, 151.82, 7668.81};
+static float P089[3] = {-686.82, 157.09, 7922.29};
+static float P090[3] = {724.73, 147.75, 7931.39};
+static float iP091[3] = {0.00, 327.10, 2346.55};
+static float iP092[3] = {0.00, 552.28, 2311.31};
+static float iP093[3] = {0.00, 721.16, 2166.41};
+static float iP094[3] = {0.00, 693.42, 2388.80};
+static float iP095[3] = {0.00, 389.44, 2859.97};
+static float P091[3] = {0.00, 327.10, 2346.55};
+static float P092[3] = {0.00, 552.28, 2311.31};
+static float P093[3] = {0.00, 721.16, 2166.41};
+static float P094[3] = {0.00, 693.42, 2388.80};
+static float P095[3] = {0.00, 389.44, 2859.97};
+static float iP096[3] = {222.02, -183.67, 10266.89};
+static float iP097[3] = {-128.90, -182.70, 10266.89};
+static float iP098[3] = {41.04, 88.31, 10659.36};
+static float iP099[3] = {-48.73, 88.30, 10659.36};
+static float P096[3] = {222.02, -183.67, 10266.89};
+static float P097[3] = {-128.90, -182.70, 10266.89};
+static float P098[3] = {41.04, 88.31, 10659.36};
+static float P099[3] = {-48.73, 88.30, 10659.36};
+static float P100[3] = {0.00, 603.42, 9340.68};
+static float P104[3] = {-9.86, 567.62, 7858.65};
+static float P105[3] = {31.96, 565.27, 7908.46};
+static float P106[3] = {22.75, 568.13, 7782.83};
+static float P107[3] = {58.93, 568.42, 7775.94};
+static float P108[3] = {55.91, 565.59, 7905.86};
+static float P109[3] = {99.21, 566.00, 7858.65};
+static float P110[3] = {-498.83, 148.14, 9135.10};
+static float P111[3] = {-495.46, 133.24, 9158.48};
+static float P112[3] = {-490.82, 146.23, 9182.76};
+static float P113[3] = {-489.55, 174.11, 9183.66};
+static float P114[3] = {-492.92, 189.00, 9160.28};
+static float P115[3] = {-497.56, 176.02, 9136.00};
+static float P116[3] = {526.54, 169.68, 9137.70};
+static float P117[3] = {523.49, 184.85, 9161.42};
+static float P118[3] = {518.56, 171.78, 9186.06};
+static float P119[3] = {516.68, 143.53, 9186.98};
+static float P120[3] = {519.73, 128.36, 9163.26};
+static float P121[3] = {524.66, 141.43, 9138.62};
+/* *INDENT-ON* */
+
+void
+Whale001(void)
+{
+
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N072);
+ glVertex3fv(P072);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N072);
+ glVertex3fv(P072);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+}
+
+void
+Whale002(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N071);
+ glVertex3fv(P071);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N071);
+ glVertex3fv(P071);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glEnd();
+}
+
+void
+Whale003(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glEnd();
+}
+
+void
+Whale004(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glEnd();
+}
+
+void
+Whale005(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+}
+
+void
+Whale006(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glEnd();
+}
+
+void
+Whale007(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+}
+
+void
+Whale008(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glEnd();
+}
+
+void
+Whale009(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+}
+
+void
+Whale010(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+}
+
+void
+Whale011(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+}
+
+void
+Whale012(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+}
+
+void
+Whale013(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P005);
+ glVertex3fv(P006);
+ glVertex3fv(P099);
+ glVertex3fv(P098);
+ glEnd();
+}
+
+void
+Whale014(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P006);
+ glVertex3fv(P005);
+ glVertex3fv(P004);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glEnd();
+}
+
+void
+Whale015(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glEnd();
+}
+
+void
+Whale016(void)
+{
+ glBegin(GL_POLYGON);
+ glVertex3fv(P104);
+ glVertex3fv(P105);
+ glVertex3fv(P106);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P107);
+ glVertex3fv(P108);
+ glVertex3fv(P109);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P110);
+ glVertex3fv(P111);
+ glVertex3fv(P112);
+ glVertex3fv(P113);
+ glVertex3fv(P114);
+ glVertex3fv(P115);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P116);
+ glVertex3fv(P117);
+ glVertex3fv(P118);
+ glVertex3fv(P119);
+ glVertex3fv(P120);
+ glVertex3fv(P121);
+ glEnd();
+}
+
+void
+DrawWhale(fishRec * fish)
+{
+ float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
+ float pitch, thrash, chomp;
+
+ fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360;
+
+ thrash = 70.0 * fish->v;
+
+ seg0 = 1.5 * thrash * sin((fish->htail) * RRAD);
+ seg1 = 2.5 * thrash * sin((fish->htail + 10.0) * RRAD);
+ seg2 = 3.7 * thrash * sin((fish->htail + 15.0) * RRAD);
+ seg3 = 4.8 * thrash * sin((fish->htail + 23.0) * RRAD);
+ seg4 = 6.0 * thrash * sin((fish->htail + 28.0) * RRAD);
+ seg5 = 6.5 * thrash * sin((fish->htail + 35.0) * RRAD);
+ seg6 = 6.5 * thrash * sin((fish->htail + 40.0) * RRAD);
+ seg7 = 6.5 * thrash * sin((fish->htail + 55.0) * RRAD);
+
+ pitch = fish->v * sin((fish->htail - 160.0) * RRAD);
+
+ chomp = 0.0;
+ if (fish->v > 2.0) {
+ chomp = -(fish->v - 2.0) * 200.0;
+ }
+ P012[1] = iP012[1] + seg5;
+ P013[1] = iP013[1] + seg5;
+ P014[1] = iP014[1] + seg5;
+ P015[1] = iP015[1] + seg5;
+ P016[1] = iP016[1] + seg5;
+ P017[1] = iP017[1] + seg5;
+ P018[1] = iP018[1] + seg5;
+ P019[1] = iP019[1] + seg5;
+
+ P020[1] = iP020[1] + seg4;
+ P021[1] = iP021[1] + seg4;
+ P022[1] = iP022[1] + seg4;
+ P023[1] = iP023[1] + seg4;
+ P024[1] = iP024[1] + seg4;
+ P025[1] = iP025[1] + seg4;
+ P026[1] = iP026[1] + seg4;
+ P027[1] = iP027[1] + seg4;
+
+ P028[1] = iP028[1] + seg2;
+ P029[1] = iP029[1] + seg2;
+ P030[1] = iP030[1] + seg2;
+ P031[1] = iP031[1] + seg2;
+ P032[1] = iP032[1] + seg2;
+ P033[1] = iP033[1] + seg2;
+ P034[1] = iP034[1] + seg2;
+ P035[1] = iP035[1] + seg2;
+
+ P036[1] = iP036[1] + seg1;
+ P037[1] = iP037[1] + seg1;
+ P038[1] = iP038[1] + seg1;
+ P039[1] = iP039[1] + seg1;
+ P040[1] = iP040[1] + seg1;
+ P041[1] = iP041[1] + seg1;
+ P042[1] = iP042[1] + seg1;
+ P043[1] = iP043[1] + seg1;
+
+ P044[1] = iP044[1] + seg0;
+ P045[1] = iP045[1] + seg0;
+ P046[1] = iP046[1] + seg0;
+ P047[1] = iP047[1] + seg0;
+ P048[1] = iP048[1] + seg0;
+ P049[1] = iP049[1] + seg0;
+ P050[1] = iP050[1] + seg0;
+ P051[1] = iP051[1] + seg0;
+
+ P009[1] = iP009[1] + seg6;
+ P010[1] = iP010[1] + seg6;
+ P075[1] = iP075[1] + seg6;
+ P076[1] = iP076[1] + seg6;
+
+ P001[1] = iP001[1] + seg7;
+ P011[1] = iP011[1] + seg7;
+ P068[1] = iP068[1] + seg7;
+ P069[1] = iP069[1] + seg7;
+ P070[1] = iP070[1] + seg7;
+ P071[1] = iP071[1] + seg7;
+ P072[1] = iP072[1] + seg7;
+ P073[1] = iP073[1] + seg7;
+ P074[1] = iP074[1] + seg7;
+
+ P091[1] = iP091[1] + seg3 * 1.1;
+ P092[1] = iP092[1] + seg3;
+ P093[1] = iP093[1] + seg3;
+ P094[1] = iP094[1] + seg3;
+ P095[1] = iP095[1] + seg3 * 0.9;
+
+ P099[1] = iP099[1] + chomp;
+ P098[1] = iP098[1] + chomp;
+ P097[1] = iP097[1] + chomp;
+ P096[1] = iP096[1] + chomp;
+
+ glPushMatrix();
+
+ glRotatef(pitch, 1.0, 0.0, 0.0);
+
+ glTranslatef(0.0, 0.0, 8000.0);
+
+ glRotatef(180.0, 0.0, 1.0, 0.0);
+
+ glScalef(3.0, 3.0, 3.0);
+
+ glEnable(GL_CULL_FACE);
+
+ Whale001();
+ Whale002();
+ Whale003();
+ Whale004();
+ Whale005();
+ Whale006();
+ Whale007();
+ Whale008();
+ Whale009();
+ Whale010();
+ Whale011();
+ Whale012();
+ Whale013();
+ Whale014();
+ Whale015();
+ Whale016();
+
+ glDisable(GL_CULL_FACE);
+
+ glPopMatrix();
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/main.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/main.c
new file mode 100644
index 0000000..b7794b3
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/main.c
@@ -0,0 +1,179 @@
+
+/* Simple program: Create a blank window, wait for keypress, quit.
+
+ Please see the SDL documentation for details on using the SDL API:
+ /Developer/Documentation/SDL/docs.html
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "SDL.h"
+
+extern void Atlantis_Init ();
+extern void Atlantis_Reshape (int w, int h);
+extern void Atlantis_Animate ();
+extern void Atlantis_Display ();
+
+static SDL_Surface *gScreen;
+
+static void initAttributes ()
+{
+ // Setup attributes we want for the OpenGL context
+
+ int value;
+
+ // Don't set color bit sizes (SDL_GL_RED_SIZE, etc)
+ // Mac OS X will always use 8-8-8-8 ARGB for 32-bit screens and
+ // 5-5-5 RGB for 16-bit screens
+
+ // Request a 16-bit depth buffer (without this, there is no depth buffer)
+ value = 16;
+ SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE, value);
+
+
+ // Request double-buffered OpenGL
+ // The fact that windows are double-buffered on Mac OS X has no effect
+ // on OpenGL double buffering.
+ value = 1;
+ SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, value);
+}
+
+static void printAttributes ()
+{
+ // Print out attributes of the context we created
+ int nAttr;
+ int i;
+
+ int attr[] = { SDL_GL_RED_SIZE, SDL_GL_BLUE_SIZE, SDL_GL_GREEN_SIZE,
+ SDL_GL_ALPHA_SIZE, SDL_GL_BUFFER_SIZE, SDL_GL_DEPTH_SIZE };
+
+ char *desc[] = { "Red size: %d bits\n", "Blue size: %d bits\n", "Green size: %d bits\n",
+ "Alpha size: %d bits\n", "Color buffer size: %d bits\n",
+ "Depth bufer size: %d bits\n" };
+
+ nAttr = sizeof(attr) / sizeof(int);
+
+ for (i = 0; i < nAttr; i++) {
+
+ int value;
+ SDL_GL_GetAttribute (attr[i], &value);
+ printf (desc[i], value);
+ }
+}
+
+static void createSurface (int fullscreen)
+{
+ Uint32 flags = 0;
+
+ flags = SDL_OPENGL;
+ if (fullscreen)
+ flags |= SDL_FULLSCREEN;
+
+ // Create window
+ gScreen = SDL_SetVideoMode (640, 480, 0, flags);
+ if (gScreen == NULL) {
+
+ fprintf (stderr, "Couldn't set 640x480 OpenGL video mode: %s\n",
+ SDL_GetError());
+ SDL_Quit();
+ exit(2);
+ }
+}
+
+static void initGL ()
+{
+ Atlantis_Init ();
+ Atlantis_Reshape (gScreen->w, gScreen->h);
+}
+
+static void drawGL ()
+{
+ Atlantis_Animate ();
+ Atlantis_Display ();
+}
+
+static void mainLoop ()
+{
+ SDL_Event event;
+ int done = 0;
+ int fps = 24;
+ int delay = 1000/fps;
+ int thenTicks = -1;
+ int nowTicks;
+
+ while ( !done ) {
+
+ /* Check for events */
+ while ( SDL_PollEvent (&event) ) {
+ switch (event.type) {
+
+ case SDL_MOUSEMOTION:
+ break;
+ case SDL_MOUSEBUTTONDOWN:
+ break;
+ case SDL_KEYDOWN:
+ /* Any keypress quits the app... */
+ case SDL_QUIT:
+ done = 1;
+ break;
+ default:
+ break;
+ }
+ }
+
+ // Draw at 24 hz
+ // This approach is not normally recommended - it is better to
+ // use time-based animation and run as fast as possible
+ drawGL ();
+ SDL_GL_SwapBuffers ();
+
+ // Time how long each draw-swap-delay cycle takes
+ // and adjust delay to get closer to target framerate
+ if (thenTicks > 0) {
+ nowTicks = SDL_GetTicks ();
+ delay += (1000/fps - (nowTicks-thenTicks));
+ thenTicks = nowTicks;
+ if (delay < 0)
+ delay = 1000/fps;
+ }
+ else {
+ thenTicks = SDL_GetTicks ();
+ }
+
+ SDL_Delay (delay);
+ }
+}
+
+int main(int argc, char *argv[])
+{
+ // Init SDL video subsystem
+ if ( SDL_Init (SDL_INIT_VIDEO) < 0 ) {
+
+ fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ SDL_GetError());
+ exit(1);
+ }
+
+ // Set GL context attributes
+ initAttributes ();
+
+ // Create GL context
+ createSurface (0);
+
+ // Get GL context attributes
+ printAttributes ();
+
+ // Init GL state
+ initGL ();
+
+ // Draw, get events...
+ mainLoop ();
+
+ // Cleanup
+ SDL_Quit();
+
+ return 0;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/English.lproj/InfoPlist.strings b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/English.lproj/InfoPlist.strings
new file mode 100644
index 0000000..6e721b0
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/Info.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/Info.plist
new file mode 100644
index 0000000..e433204
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/Info.plist
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.___PROJECTNAMEASXML___</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+ <key>LSMinimumSystemVersionByArchitecture</key>
+ <dict>
+ <key>x86_64</key>
+ <string>10.6.0</string>
+ <key>i386</key>
+ <string>10.4.0</string>
+ <key>ppc</key>
+ <string>10.4.0</string>
+ </dict>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.h
new file mode 100644
index 0000000..c56d90c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.h
@@ -0,0 +1,16 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#ifndef _SDLMain_h_
+#define _SDLMain_h_
+
+#import <Cocoa/Cocoa.h>
+
+@interface SDLMain : NSObject
+@end
+
+#endif /* _SDLMain_h_ */
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.m b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.m
new file mode 100644
index 0000000..b065a20
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.m
@@ -0,0 +1,383 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#include "SDL.h"
+#include "SDLMain.h"
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
+
+/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
+ but the method still is there and works. To avoid warnings, we declare
+ it ourselves here. */
+@interface NSApplication(SDL_Missing_Methods)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+
+/* Use this flag to determine whether we use SDLMain.nib or not */
+#define SDL_USE_NIB_FILE 0
+
+/* Use this flag to determine whether we use CPS (docking) or not */
+#define SDL_USE_CPS 1
+#ifdef SDL_USE_CPS
+/* Portions of CPS.h */
+typedef struct CPSProcessSerNum
+{
+ UInt32 lo;
+ UInt32 hi;
+} CPSProcessSerNum;
+
+extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
+extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
+extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
+
+#endif /* SDL_USE_CPS */
+
+static int gArgc;
+static char **gArgv;
+static BOOL gFinderLaunch;
+static BOOL gCalledAppMainline = FALSE;
+
+static NSString *getApplicationName(void)
+{
+ const NSDictionary *dict;
+ NSString *appName = 0;
+
+ /* Determine the application name */
+ dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ if (dict)
+ appName = [dict objectForKey: @"CFBundleName"];
+
+ if (![appName length])
+ appName = [[NSProcessInfo processInfo] processName];
+
+ return appName;
+}
+
+#if SDL_USE_NIB_FILE
+/* A helper category for NSString */
+@interface NSString (ReplaceSubString)
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
+@end
+#endif
+
+@interface SDLApplication : NSApplication
+@end
+
+@implementation SDLApplication
+/* Invoked from the Quit menu item */
+- (void)terminate:(id)sender
+{
+ /* Post a SDL_QUIT event */
+ SDL_Event event;
+ event.type = SDL_QUIT;
+ SDL_PushEvent(&event);
+}
+@end
+
+/* The main class of the application, the application's delegate */
+@implementation SDLMain
+
+/* Set the working directory to the .app's parent directory */
+- (void) setupWorkingDirectory:(BOOL)shouldChdir
+{
+ if (shouldChdir)
+ {
+ char parentdir[MAXPATHLEN];
+ CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
+ if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
+ }
+ CFRelease(url);
+ CFRelease(url2);
+ }
+}
+
+#if SDL_USE_NIB_FILE
+
+/* Fix menu to contain the real app name instead of "SDL App" */
+- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
+{
+ NSRange aRange;
+ NSEnumerator *enumerator;
+ NSMenuItem *menuItem;
+
+ aRange = [[aMenu title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
+
+ enumerator = [[aMenu itemArray] objectEnumerator];
+ while ((menuItem = [enumerator nextObject]))
+ {
+ aRange = [[menuItem title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
+ if ([menuItem hasSubmenu])
+ [self fixMenu:[menuItem submenu] withAppName:appName];
+ }
+ [ aMenu sizeToFit ];
+}
+
+#else
+
+static void setApplicationMenu(void)
+{
+ /* warning: this code is very odd */
+ NSMenu *appleMenu;
+ NSMenuItem *menuItem;
+ NSString *title;
+ NSString *appName;
+
+ appName = getApplicationName();
+ appleMenu = [[NSMenu alloc] initWithTitle:@""];
+
+ /* Add menu items */
+ title = [@"About " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Hide " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
+
+ menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
+ [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
+
+ [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Quit " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
+
+
+ /* Put menu into the menubar */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
+ [menuItem setSubmenu:appleMenu];
+ [[NSApp mainMenu] addItem:menuItem];
+
+ /* Tell the application object that this is now the application menu */
+ [NSApp setAppleMenu:appleMenu];
+
+ /* Finally give up our references to the objects */
+ [appleMenu release];
+ [menuItem release];
+}
+
+/* Create a window menu */
+static void setupWindowMenu(void)
+{
+ NSMenu *windowMenu;
+ NSMenuItem *windowMenuItem;
+ NSMenuItem *menuItem;
+
+ windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
+
+ /* "Minimize" item */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
+ [windowMenu addItem:menuItem];
+ [menuItem release];
+
+ /* Put menu into the menubar */
+ windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
+ [windowMenuItem setSubmenu:windowMenu];
+ [[NSApp mainMenu] addItem:windowMenuItem];
+
+ /* Tell the application object that this is now the window menu */
+ [NSApp setWindowsMenu:windowMenu];
+
+ /* Finally give up our references to the objects */
+ [windowMenu release];
+ [windowMenuItem release];
+}
+
+/* Replacement for NSApplicationMain */
+static void CustomApplicationMain (int argc, char **argv)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ SDLMain *sdlMain;
+
+ /* Ensure the application object is initialised */
+ [SDLApplication sharedApplication];
+
+#ifdef SDL_USE_CPS
+ {
+ CPSProcessSerNum PSN;
+ /* Tell the dock about us */
+ if (!CPSGetCurrentProcess(&PSN))
+ if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
+ if (!CPSSetFrontProcess(&PSN))
+ [SDLApplication sharedApplication];
+ }
+#endif /* SDL_USE_CPS */
+
+ /* Set up the menubar */
+ [NSApp setMainMenu:[[NSMenu alloc] init]];
+ setApplicationMenu();
+ setupWindowMenu();
+
+ /* Create SDLMain and make it the app delegate */
+ sdlMain = [[SDLMain alloc] init];
+ [NSApp setDelegate:sdlMain];
+
+ /* Start the main event loop */
+ [NSApp run];
+
+ [sdlMain release];
+ [pool release];
+}
+
+#endif
+
+
+/*
+ * Catch document open requests...this lets us notice files when the app
+ * was launched by double-clicking a document, or when a document was
+ * dragged/dropped on the app's icon. You need to have a
+ * CFBundleDocumentsType section in your Info.plist to get this message,
+ * apparently.
+ *
+ * Files are added to gArgv, so to the app, they'll look like command line
+ * arguments. Previously, apps launched from the finder had nothing but
+ * an argv[0].
+ *
+ * This message may be received multiple times to open several docs on launch.
+ *
+ * This message is ignored once the app's mainline has been called.
+ */
+- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
+{
+ const char *temparg;
+ size_t arglen;
+ char *arg;
+ char **newargv;
+
+ if (!gFinderLaunch) /* MacOS is passing command line args. */
+ return FALSE;
+
+ if (gCalledAppMainline) /* app has started, ignore this document. */
+ return FALSE;
+
+ temparg = [filename UTF8String];
+ arglen = SDL_strlen(temparg) + 1;
+ arg = (char *) SDL_malloc(arglen);
+ if (arg == NULL)
+ return FALSE;
+
+ newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
+ if (newargv == NULL)
+ {
+ SDL_free(arg);
+ return FALSE;
+ }
+ gArgv = newargv;
+
+ SDL_strlcpy(arg, temparg, arglen);
+ gArgv[gArgc++] = arg;
+ gArgv[gArgc] = NULL;
+ return TRUE;
+}
+
+
+/* Called when the internal event loop has just started running */
+- (void) applicationDidFinishLaunching: (NSNotification *) note
+{
+ int status;
+
+ /* Set the working directory to the .app's parent directory */
+ [self setupWorkingDirectory:gFinderLaunch];
+
+#if SDL_USE_NIB_FILE
+ /* Set the main menu to contain the real app name instead of "SDL App" */
+ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
+#endif
+
+ /* Hand off to main application code */
+ gCalledAppMainline = TRUE;
+ status = SDL_main (gArgc, gArgv);
+
+ /* We're done, thank you for playing */
+ exit(status);
+}
+@end
+
+
+@implementation NSString (ReplaceSubString)
+
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
+{
+ unsigned int bufferSize;
+ unsigned int selfLen = [self length];
+ unsigned int aStringLen = [aString length];
+ unichar *buffer;
+ NSRange localRange;
+ NSString *result;
+
+ bufferSize = selfLen + aStringLen - aRange.length;
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+
+ /* Get first part into buffer */
+ localRange.location = 0;
+ localRange.length = aRange.location;
+ [self getCharacters:buffer range:localRange];
+
+ /* Get middle part into buffer */
+ localRange.location = 0;
+ localRange.length = aStringLen;
+ [aString getCharacters:(buffer+aRange.location) range:localRange];
+
+ /* Get last part into buffer */
+ localRange.location = aRange.location + aRange.length;
+ localRange.length = selfLen - localRange.location;
+ [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
+
+ /* Build output string */
+ result = [NSString stringWithCharacters:buffer length:bufferSize];
+
+ NSDeallocateMemoryPages(buffer, bufferSize);
+
+ return result;
+}
+
+@end
+
+
+
+#ifdef main
+# undef main
+#endif
+
+
+/* Main entry point to executable - should *not* be SDL_main! */
+int main (int argc, char **argv)
+{
+ /* Copy the arguments into a global variable */
+ /* This is passed if we are launched by double-clicking */
+ if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
+ gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
+ gArgv[0] = argv[0];
+ gArgv[1] = NULL;
+ gArgc = 1;
+ gFinderLaunch = YES;
+ } else {
+ int i;
+ gArgc = argc;
+ gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
+ for (i = 0; i <= argc; i++)
+ gArgv[i] = argv[i];
+ gFinderLaunch = NO;
+ }
+
+#if SDL_USE_NIB_FILE
+ [SDLApplication poseAsClass:[NSApplication class]];
+ NSApplicationMain (argc, argv);
+#else
+ CustomApplicationMain (argc, argv);
+#endif
+ return 0;
+}
+
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
new file mode 100644
index 0000000..0009507
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project
+//
+
+#include "SDL.h"
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
new file mode 100644
index 0000000..ae0b02b
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
new file mode 100644
index 0000000..d9ca454
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,12 @@
+{
+ FilesToRename = {
+ "SDLApp_Prefix.pch" = "ÇPROJECTNAMEÈ_Prefix.pch";
+ };
+ FilesToMacroExpand = (
+ "ÇPROJECTNAMEÈ_Prefix.pch",
+ "Info.plist",
+ "English.lproj/InfoPlist.strings",
+ "main.c",
+ );
+ Description = "This project builds an SDL-based application.";
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..d6553a7
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
@@ -0,0 +1,310 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; };
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A3E09D088BA00EBEB88 /* main.c */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
+ );
+ name = "Copy Frameworks into .app bundle";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 002F3A3E09D088BA00EBEB88 /* main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = SOURCE_ROOT; };
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "___PROJECTNAME___.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */,
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 002F39F909D0881F00EBEB88 /* SDL.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = "___PROJECTNAMEASXML___";
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */,
+ 002F3A3E09D088BA00EBEB88 /* main.c */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "___PROJECTNAME___";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "___PROJECTNAME___";
+ productReference = 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */;
+ compatibilityVersion = "Xcode 3.2";
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */,
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ "GCC_VERSION[arch=x86_64]" = 4.2;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = macosx10.4;
+ "SDKROOT[arch=x86_64]" = macosx10.6;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ "GCC_VERSION[arch=x86_64]" = 4.2;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = macosx10.4;
+ "SDKROOT[arch=x86_64]" = macosx10.6;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/main.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/main.c
new file mode 100644
index 0000000..7115de9
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/main.c
@@ -0,0 +1,65 @@
+
+/* Simple program: Create a blank window, wait for keypress, quit.
+
+ Please see the SDL documentation for details on using the SDL API:
+ /Developer/Documentation/SDL/docs.html
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "SDL.h"
+
+int main(int argc, char *argv[])
+{
+ Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
+ SDL_Surface *screen;
+ Uint8 video_bpp = 0;
+ Uint32 videoflags = SDL_SWSURFACE;
+ int done;
+ SDL_Event event;
+
+ /* Initialize the SDL library */
+ if ( SDL_Init(initflags) < 0 ) {
+ fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ SDL_GetError());
+ exit(1);
+ }
+
+ /* Set 640x480 video mode */
+ screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
+ if (screen == NULL) {
+ fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n",
+ video_bpp, SDL_GetError());
+ SDL_Quit();
+ exit(2);
+ }
+
+ done = 0;
+ while ( !done ) {
+
+ /* Check for events */
+ while ( SDL_PollEvent(&event) ) {
+ switch (event.type) {
+
+ case SDL_MOUSEMOTION:
+ break;
+ case SDL_MOUSEBUTTONDOWN:
+ break;
+ case SDL_KEYDOWN:
+ /* Any keypress quits the app... */
+ case SDL_QUIT:
+ done = 1;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ /* Clean up the SDL library */
+ SDL_Quit();
+ return(0);
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings
new file mode 100644
index 0000000..6e721b0
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib
new file mode 100644
index 0000000..799eaad
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib
@@ -0,0 +1,19 @@
+{
+ IBClasses = (
+ {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
+ {
+ ACTIONS = {
+ help = id;
+ newGame = id;
+ openGame = id;
+ prefsMenu = id;
+ saveGame = id;
+ saveGameAs = id;
+ };
+ CLASS = SDLMain;
+ LANGUAGE = ObjC;
+ SUPERCLASS = NSObject;
+ }
+ );
+ IBVersion = 1;
+} \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib
new file mode 100644
index 0000000..1d6fb7e
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>IBDocumentLocation</key>
+ <string>62 117 356 240 0 0 1152 848 </string>
+ <key>IBEditorPositions</key>
+ <dict>
+ <key>29</key>
+ <string>62 362 195 44 0 0 1152 848 </string>
+ </dict>
+ <key>IBFramework Version</key>
+ <string>291.0</string>
+ <key>IBOpenObjects</key>
+ <array>
+ <integer>29</integer>
+ </array>
+ <key>IBSystem Version</key>
+ <string>6L60</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib
new file mode 100644
index 0000000..6378015
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/Info.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/Info.plist
new file mode 100644
index 0000000..40a970f
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/Info.plist
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.___PROJECTNAMEASXML___</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+ <key>LSMinimumSystemVersionByArchitecture</key>
+ <dict>
+ <key>x86_64</key>
+ <string>10.6.0</string>
+ <key>i386</key>
+ <string>10.4.0</string>
+ <key>ppc</key>
+ <string>10.4.0</string>
+ </dict>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.h
new file mode 100644
index 0000000..c56d90c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.h
@@ -0,0 +1,16 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#ifndef _SDLMain_h_
+#define _SDLMain_h_
+
+#import <Cocoa/Cocoa.h>
+
+@interface SDLMain : NSObject
+@end
+
+#endif /* _SDLMain_h_ */
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.m b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.m
new file mode 100644
index 0000000..b065a20
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.m
@@ -0,0 +1,383 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#include "SDL.h"
+#include "SDLMain.h"
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
+
+/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
+ but the method still is there and works. To avoid warnings, we declare
+ it ourselves here. */
+@interface NSApplication(SDL_Missing_Methods)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+
+/* Use this flag to determine whether we use SDLMain.nib or not */
+#define SDL_USE_NIB_FILE 0
+
+/* Use this flag to determine whether we use CPS (docking) or not */
+#define SDL_USE_CPS 1
+#ifdef SDL_USE_CPS
+/* Portions of CPS.h */
+typedef struct CPSProcessSerNum
+{
+ UInt32 lo;
+ UInt32 hi;
+} CPSProcessSerNum;
+
+extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
+extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
+extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
+
+#endif /* SDL_USE_CPS */
+
+static int gArgc;
+static char **gArgv;
+static BOOL gFinderLaunch;
+static BOOL gCalledAppMainline = FALSE;
+
+static NSString *getApplicationName(void)
+{
+ const NSDictionary *dict;
+ NSString *appName = 0;
+
+ /* Determine the application name */
+ dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ if (dict)
+ appName = [dict objectForKey: @"CFBundleName"];
+
+ if (![appName length])
+ appName = [[NSProcessInfo processInfo] processName];
+
+ return appName;
+}
+
+#if SDL_USE_NIB_FILE
+/* A helper category for NSString */
+@interface NSString (ReplaceSubString)
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
+@end
+#endif
+
+@interface SDLApplication : NSApplication
+@end
+
+@implementation SDLApplication
+/* Invoked from the Quit menu item */
+- (void)terminate:(id)sender
+{
+ /* Post a SDL_QUIT event */
+ SDL_Event event;
+ event.type = SDL_QUIT;
+ SDL_PushEvent(&event);
+}
+@end
+
+/* The main class of the application, the application's delegate */
+@implementation SDLMain
+
+/* Set the working directory to the .app's parent directory */
+- (void) setupWorkingDirectory:(BOOL)shouldChdir
+{
+ if (shouldChdir)
+ {
+ char parentdir[MAXPATHLEN];
+ CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
+ if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
+ }
+ CFRelease(url);
+ CFRelease(url2);
+ }
+}
+
+#if SDL_USE_NIB_FILE
+
+/* Fix menu to contain the real app name instead of "SDL App" */
+- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
+{
+ NSRange aRange;
+ NSEnumerator *enumerator;
+ NSMenuItem *menuItem;
+
+ aRange = [[aMenu title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
+
+ enumerator = [[aMenu itemArray] objectEnumerator];
+ while ((menuItem = [enumerator nextObject]))
+ {
+ aRange = [[menuItem title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
+ if ([menuItem hasSubmenu])
+ [self fixMenu:[menuItem submenu] withAppName:appName];
+ }
+ [ aMenu sizeToFit ];
+}
+
+#else
+
+static void setApplicationMenu(void)
+{
+ /* warning: this code is very odd */
+ NSMenu *appleMenu;
+ NSMenuItem *menuItem;
+ NSString *title;
+ NSString *appName;
+
+ appName = getApplicationName();
+ appleMenu = [[NSMenu alloc] initWithTitle:@""];
+
+ /* Add menu items */
+ title = [@"About " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Hide " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
+
+ menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
+ [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
+
+ [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Quit " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
+
+
+ /* Put menu into the menubar */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
+ [menuItem setSubmenu:appleMenu];
+ [[NSApp mainMenu] addItem:menuItem];
+
+ /* Tell the application object that this is now the application menu */
+ [NSApp setAppleMenu:appleMenu];
+
+ /* Finally give up our references to the objects */
+ [appleMenu release];
+ [menuItem release];
+}
+
+/* Create a window menu */
+static void setupWindowMenu(void)
+{
+ NSMenu *windowMenu;
+ NSMenuItem *windowMenuItem;
+ NSMenuItem *menuItem;
+
+ windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
+
+ /* "Minimize" item */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
+ [windowMenu addItem:menuItem];
+ [menuItem release];
+
+ /* Put menu into the menubar */
+ windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
+ [windowMenuItem setSubmenu:windowMenu];
+ [[NSApp mainMenu] addItem:windowMenuItem];
+
+ /* Tell the application object that this is now the window menu */
+ [NSApp setWindowsMenu:windowMenu];
+
+ /* Finally give up our references to the objects */
+ [windowMenu release];
+ [windowMenuItem release];
+}
+
+/* Replacement for NSApplicationMain */
+static void CustomApplicationMain (int argc, char **argv)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ SDLMain *sdlMain;
+
+ /* Ensure the application object is initialised */
+ [SDLApplication sharedApplication];
+
+#ifdef SDL_USE_CPS
+ {
+ CPSProcessSerNum PSN;
+ /* Tell the dock about us */
+ if (!CPSGetCurrentProcess(&PSN))
+ if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
+ if (!CPSSetFrontProcess(&PSN))
+ [SDLApplication sharedApplication];
+ }
+#endif /* SDL_USE_CPS */
+
+ /* Set up the menubar */
+ [NSApp setMainMenu:[[NSMenu alloc] init]];
+ setApplicationMenu();
+ setupWindowMenu();
+
+ /* Create SDLMain and make it the app delegate */
+ sdlMain = [[SDLMain alloc] init];
+ [NSApp setDelegate:sdlMain];
+
+ /* Start the main event loop */
+ [NSApp run];
+
+ [sdlMain release];
+ [pool release];
+}
+
+#endif
+
+
+/*
+ * Catch document open requests...this lets us notice files when the app
+ * was launched by double-clicking a document, or when a document was
+ * dragged/dropped on the app's icon. You need to have a
+ * CFBundleDocumentsType section in your Info.plist to get this message,
+ * apparently.
+ *
+ * Files are added to gArgv, so to the app, they'll look like command line
+ * arguments. Previously, apps launched from the finder had nothing but
+ * an argv[0].
+ *
+ * This message may be received multiple times to open several docs on launch.
+ *
+ * This message is ignored once the app's mainline has been called.
+ */
+- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
+{
+ const char *temparg;
+ size_t arglen;
+ char *arg;
+ char **newargv;
+
+ if (!gFinderLaunch) /* MacOS is passing command line args. */
+ return FALSE;
+
+ if (gCalledAppMainline) /* app has started, ignore this document. */
+ return FALSE;
+
+ temparg = [filename UTF8String];
+ arglen = SDL_strlen(temparg) + 1;
+ arg = (char *) SDL_malloc(arglen);
+ if (arg == NULL)
+ return FALSE;
+
+ newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
+ if (newargv == NULL)
+ {
+ SDL_free(arg);
+ return FALSE;
+ }
+ gArgv = newargv;
+
+ SDL_strlcpy(arg, temparg, arglen);
+ gArgv[gArgc++] = arg;
+ gArgv[gArgc] = NULL;
+ return TRUE;
+}
+
+
+/* Called when the internal event loop has just started running */
+- (void) applicationDidFinishLaunching: (NSNotification *) note
+{
+ int status;
+
+ /* Set the working directory to the .app's parent directory */
+ [self setupWorkingDirectory:gFinderLaunch];
+
+#if SDL_USE_NIB_FILE
+ /* Set the main menu to contain the real app name instead of "SDL App" */
+ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
+#endif
+
+ /* Hand off to main application code */
+ gCalledAppMainline = TRUE;
+ status = SDL_main (gArgc, gArgv);
+
+ /* We're done, thank you for playing */
+ exit(status);
+}
+@end
+
+
+@implementation NSString (ReplaceSubString)
+
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
+{
+ unsigned int bufferSize;
+ unsigned int selfLen = [self length];
+ unsigned int aStringLen = [aString length];
+ unichar *buffer;
+ NSRange localRange;
+ NSString *result;
+
+ bufferSize = selfLen + aStringLen - aRange.length;
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+
+ /* Get first part into buffer */
+ localRange.location = 0;
+ localRange.length = aRange.location;
+ [self getCharacters:buffer range:localRange];
+
+ /* Get middle part into buffer */
+ localRange.location = 0;
+ localRange.length = aStringLen;
+ [aString getCharacters:(buffer+aRange.location) range:localRange];
+
+ /* Get last part into buffer */
+ localRange.location = aRange.location + aRange.length;
+ localRange.length = selfLen - localRange.location;
+ [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
+
+ /* Build output string */
+ result = [NSString stringWithCharacters:buffer length:bufferSize];
+
+ NSDeallocateMemoryPages(buffer, bufferSize);
+
+ return result;
+}
+
+@end
+
+
+
+#ifdef main
+# undef main
+#endif
+
+
+/* Main entry point to executable - should *not* be SDL_main! */
+int main (int argc, char **argv)
+{
+ /* Copy the arguments into a global variable */
+ /* This is passed if we are launched by double-clicking */
+ if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
+ gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
+ gArgv[0] = argv[0];
+ gArgv[1] = NULL;
+ gArgc = 1;
+ gFinderLaunch = YES;
+ } else {
+ int i;
+ gArgc = argc;
+ gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
+ for (i = 0; i <= argc; i++)
+ gArgv[i] = argv[i];
+ gFinderLaunch = NO;
+ }
+
+#if SDL_USE_NIB_FILE
+ [SDLApplication poseAsClass:[NSApplication class]];
+ NSApplicationMain (argc, argv);
+#else
+ CustomApplicationMain (argc, argv);
+#endif
+ return 0;
+}
+
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
new file mode 100644
index 0000000..0009507
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project
+//
+
+#include "SDL.h"
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
new file mode 100644
index 0000000..ae0b02b
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
new file mode 100644
index 0000000..1dcbea2
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,12 @@
+{
+ FilesToRename = {
+ "SDLApp_Prefix.pch" = "ÇPROJECTNAMEÈ_Prefix.pch";
+ };
+ FilesToMacroExpand = (
+ "ÇPROJECTNAMEÈ_Prefix.pch",
+ "Info.plist",
+ "English.lproj/InfoPlist.strings",
+ "main.c",
+ );
+ Description = "This project builds an SDL-based application with Cocoa menus.";
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..9d9a924
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj
@@ -0,0 +1,322 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; };
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A3E09D088BA00EBEB88 /* main.c */; };
+ 002F3AF109D08F1000EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
+ );
+ name = "Copy Frameworks into .app bundle";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 002F3A3E09D088BA00EBEB88 /* main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = SOURCE_ROOT; };
+ 002F3AF009D08F1000EBEB88 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/SDLMain.nib; sourceTree = "<group>"; };
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "___PROJECTNAME___.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */,
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 002F39F909D0881F00EBEB88 /* SDL.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = "___PROJECTNAMEASXML___";
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */,
+ 002F3A3E09D088BA00EBEB88 /* main.c */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "___PROJECTNAME___";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "___PROJECTNAME___";
+ productReference = 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */;
+ compatibilityVersion = "Xcode 3.2";
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ 002F3AF109D08F1000EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */,
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 002F3AF009D08F1000EBEB88 /* English */,
+ );
+ name = SDLMain.nib;
+ sourceTree = "<group>";
+ };
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ "GCC_VERSION[arch=x86_64]" = 4.2;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = macosx10.4;
+ "SDKROOT[arch=x86_64]" = macosx10.6;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ "GCC_VERSION[arch=x86_64]" = 4.2;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = macosx10.4;
+ "SDKROOT[arch=x86_64]" = macosx10.6;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/main.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/main.c
new file mode 100644
index 0000000..7115de9
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/main.c
@@ -0,0 +1,65 @@
+
+/* Simple program: Create a blank window, wait for keypress, quit.
+
+ Please see the SDL documentation for details on using the SDL API:
+ /Developer/Documentation/SDL/docs.html
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "SDL.h"
+
+int main(int argc, char *argv[])
+{
+ Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
+ SDL_Surface *screen;
+ Uint8 video_bpp = 0;
+ Uint32 videoflags = SDL_SWSURFACE;
+ int done;
+ SDL_Event event;
+
+ /* Initialize the SDL library */
+ if ( SDL_Init(initflags) < 0 ) {
+ fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ SDL_GetError());
+ exit(1);
+ }
+
+ /* Set 640x480 video mode */
+ screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
+ if (screen == NULL) {
+ fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n",
+ video_bpp, SDL_GetError());
+ SDL_Quit();
+ exit(2);
+ }
+
+ done = 0;
+ while ( !done ) {
+
+ /* Check for events */
+ while ( SDL_PollEvent(&event) ) {
+ switch (event.type) {
+
+ case SDL_MOUSEMOTION:
+ break;
+ case SDL_MOUSEBUTTONDOWN:
+ break;
+ case SDL_KEYDOWN:
+ /* Any keypress quits the app... */
+ case SDL_QUIT:
+ done = 1;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ /* Clean up the SDL library */
+ SDL_Quit();
+ return(0);
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings
new file mode 100644
index 0000000..6e721b0
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/Info.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/Info.plist
new file mode 100644
index 0000000..a2e9429
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/Info.plist
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.___PROJECTNAMEASXML___</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+ <key>LSMinimumSystemVersionByArchitecture</key>
+ <dict>
+ <key>x86_64</key>
+ <string>10.6.0</string>
+ <key>i386</key>
+ <string>10.4.0</string>
+ <key>ppc</key>
+ <string>10.4.0</string>
+ </dict>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.h
new file mode 100644
index 0000000..c56d90c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.h
@@ -0,0 +1,16 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#ifndef _SDLMain_h_
+#define _SDLMain_h_
+
+#import <Cocoa/Cocoa.h>
+
+@interface SDLMain : NSObject
+@end
+
+#endif /* _SDLMain_h_ */
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.m b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.m
new file mode 100644
index 0000000..b065a20
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.m
@@ -0,0 +1,383 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#include "SDL.h"
+#include "SDLMain.h"
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
+
+/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
+ but the method still is there and works. To avoid warnings, we declare
+ it ourselves here. */
+@interface NSApplication(SDL_Missing_Methods)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+
+/* Use this flag to determine whether we use SDLMain.nib or not */
+#define SDL_USE_NIB_FILE 0
+
+/* Use this flag to determine whether we use CPS (docking) or not */
+#define SDL_USE_CPS 1
+#ifdef SDL_USE_CPS
+/* Portions of CPS.h */
+typedef struct CPSProcessSerNum
+{
+ UInt32 lo;
+ UInt32 hi;
+} CPSProcessSerNum;
+
+extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
+extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
+extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
+
+#endif /* SDL_USE_CPS */
+
+static int gArgc;
+static char **gArgv;
+static BOOL gFinderLaunch;
+static BOOL gCalledAppMainline = FALSE;
+
+static NSString *getApplicationName(void)
+{
+ const NSDictionary *dict;
+ NSString *appName = 0;
+
+ /* Determine the application name */
+ dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ if (dict)
+ appName = [dict objectForKey: @"CFBundleName"];
+
+ if (![appName length])
+ appName = [[NSProcessInfo processInfo] processName];
+
+ return appName;
+}
+
+#if SDL_USE_NIB_FILE
+/* A helper category for NSString */
+@interface NSString (ReplaceSubString)
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
+@end
+#endif
+
+@interface SDLApplication : NSApplication
+@end
+
+@implementation SDLApplication
+/* Invoked from the Quit menu item */
+- (void)terminate:(id)sender
+{
+ /* Post a SDL_QUIT event */
+ SDL_Event event;
+ event.type = SDL_QUIT;
+ SDL_PushEvent(&event);
+}
+@end
+
+/* The main class of the application, the application's delegate */
+@implementation SDLMain
+
+/* Set the working directory to the .app's parent directory */
+- (void) setupWorkingDirectory:(BOOL)shouldChdir
+{
+ if (shouldChdir)
+ {
+ char parentdir[MAXPATHLEN];
+ CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
+ if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
+ }
+ CFRelease(url);
+ CFRelease(url2);
+ }
+}
+
+#if SDL_USE_NIB_FILE
+
+/* Fix menu to contain the real app name instead of "SDL App" */
+- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
+{
+ NSRange aRange;
+ NSEnumerator *enumerator;
+ NSMenuItem *menuItem;
+
+ aRange = [[aMenu title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
+
+ enumerator = [[aMenu itemArray] objectEnumerator];
+ while ((menuItem = [enumerator nextObject]))
+ {
+ aRange = [[menuItem title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
+ if ([menuItem hasSubmenu])
+ [self fixMenu:[menuItem submenu] withAppName:appName];
+ }
+ [ aMenu sizeToFit ];
+}
+
+#else
+
+static void setApplicationMenu(void)
+{
+ /* warning: this code is very odd */
+ NSMenu *appleMenu;
+ NSMenuItem *menuItem;
+ NSString *title;
+ NSString *appName;
+
+ appName = getApplicationName();
+ appleMenu = [[NSMenu alloc] initWithTitle:@""];
+
+ /* Add menu items */
+ title = [@"About " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Hide " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
+
+ menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
+ [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
+
+ [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Quit " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
+
+
+ /* Put menu into the menubar */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
+ [menuItem setSubmenu:appleMenu];
+ [[NSApp mainMenu] addItem:menuItem];
+
+ /* Tell the application object that this is now the application menu */
+ [NSApp setAppleMenu:appleMenu];
+
+ /* Finally give up our references to the objects */
+ [appleMenu release];
+ [menuItem release];
+}
+
+/* Create a window menu */
+static void setupWindowMenu(void)
+{
+ NSMenu *windowMenu;
+ NSMenuItem *windowMenuItem;
+ NSMenuItem *menuItem;
+
+ windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
+
+ /* "Minimize" item */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
+ [windowMenu addItem:menuItem];
+ [menuItem release];
+
+ /* Put menu into the menubar */
+ windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
+ [windowMenuItem setSubmenu:windowMenu];
+ [[NSApp mainMenu] addItem:windowMenuItem];
+
+ /* Tell the application object that this is now the window menu */
+ [NSApp setWindowsMenu:windowMenu];
+
+ /* Finally give up our references to the objects */
+ [windowMenu release];
+ [windowMenuItem release];
+}
+
+/* Replacement for NSApplicationMain */
+static void CustomApplicationMain (int argc, char **argv)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ SDLMain *sdlMain;
+
+ /* Ensure the application object is initialised */
+ [SDLApplication sharedApplication];
+
+#ifdef SDL_USE_CPS
+ {
+ CPSProcessSerNum PSN;
+ /* Tell the dock about us */
+ if (!CPSGetCurrentProcess(&PSN))
+ if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
+ if (!CPSSetFrontProcess(&PSN))
+ [SDLApplication sharedApplication];
+ }
+#endif /* SDL_USE_CPS */
+
+ /* Set up the menubar */
+ [NSApp setMainMenu:[[NSMenu alloc] init]];
+ setApplicationMenu();
+ setupWindowMenu();
+
+ /* Create SDLMain and make it the app delegate */
+ sdlMain = [[SDLMain alloc] init];
+ [NSApp setDelegate:sdlMain];
+
+ /* Start the main event loop */
+ [NSApp run];
+
+ [sdlMain release];
+ [pool release];
+}
+
+#endif
+
+
+/*
+ * Catch document open requests...this lets us notice files when the app
+ * was launched by double-clicking a document, or when a document was
+ * dragged/dropped on the app's icon. You need to have a
+ * CFBundleDocumentsType section in your Info.plist to get this message,
+ * apparently.
+ *
+ * Files are added to gArgv, so to the app, they'll look like command line
+ * arguments. Previously, apps launched from the finder had nothing but
+ * an argv[0].
+ *
+ * This message may be received multiple times to open several docs on launch.
+ *
+ * This message is ignored once the app's mainline has been called.
+ */
+- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
+{
+ const char *temparg;
+ size_t arglen;
+ char *arg;
+ char **newargv;
+
+ if (!gFinderLaunch) /* MacOS is passing command line args. */
+ return FALSE;
+
+ if (gCalledAppMainline) /* app has started, ignore this document. */
+ return FALSE;
+
+ temparg = [filename UTF8String];
+ arglen = SDL_strlen(temparg) + 1;
+ arg = (char *) SDL_malloc(arglen);
+ if (arg == NULL)
+ return FALSE;
+
+ newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
+ if (newargv == NULL)
+ {
+ SDL_free(arg);
+ return FALSE;
+ }
+ gArgv = newargv;
+
+ SDL_strlcpy(arg, temparg, arglen);
+ gArgv[gArgc++] = arg;
+ gArgv[gArgc] = NULL;
+ return TRUE;
+}
+
+
+/* Called when the internal event loop has just started running */
+- (void) applicationDidFinishLaunching: (NSNotification *) note
+{
+ int status;
+
+ /* Set the working directory to the .app's parent directory */
+ [self setupWorkingDirectory:gFinderLaunch];
+
+#if SDL_USE_NIB_FILE
+ /* Set the main menu to contain the real app name instead of "SDL App" */
+ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
+#endif
+
+ /* Hand off to main application code */
+ gCalledAppMainline = TRUE;
+ status = SDL_main (gArgc, gArgv);
+
+ /* We're done, thank you for playing */
+ exit(status);
+}
+@end
+
+
+@implementation NSString (ReplaceSubString)
+
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
+{
+ unsigned int bufferSize;
+ unsigned int selfLen = [self length];
+ unsigned int aStringLen = [aString length];
+ unichar *buffer;
+ NSRange localRange;
+ NSString *result;
+
+ bufferSize = selfLen + aStringLen - aRange.length;
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+
+ /* Get first part into buffer */
+ localRange.location = 0;
+ localRange.length = aRange.location;
+ [self getCharacters:buffer range:localRange];
+
+ /* Get middle part into buffer */
+ localRange.location = 0;
+ localRange.length = aStringLen;
+ [aString getCharacters:(buffer+aRange.location) range:localRange];
+
+ /* Get last part into buffer */
+ localRange.location = aRange.location + aRange.length;
+ localRange.length = selfLen - localRange.location;
+ [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
+
+ /* Build output string */
+ result = [NSString stringWithCharacters:buffer length:bufferSize];
+
+ NSDeallocateMemoryPages(buffer, bufferSize);
+
+ return result;
+}
+
+@end
+
+
+
+#ifdef main
+# undef main
+#endif
+
+
+/* Main entry point to executable - should *not* be SDL_main! */
+int main (int argc, char **argv)
+{
+ /* Copy the arguments into a global variable */
+ /* This is passed if we are launched by double-clicking */
+ if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
+ gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
+ gArgv[0] = argv[0];
+ gArgv[1] = NULL;
+ gArgc = 1;
+ gFinderLaunch = YES;
+ } else {
+ int i;
+ gArgc = argc;
+ gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
+ for (i = 0; i <= argc; i++)
+ gArgv[i] = argv[i];
+ gFinderLaunch = NO;
+ }
+
+#if SDL_USE_NIB_FILE
+ [SDLApplication poseAsClass:[NSApplication class]];
+ NSApplicationMain (argc, argv);
+#else
+ CustomApplicationMain (argc, argv);
+#endif
+ return 0;
+}
+
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
new file mode 100644
index 0000000..0009507
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project
+//
+
+#include "SDL.h"
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
new file mode 100644
index 0000000..ae0b02b
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
new file mode 100644
index 0000000..ba87745
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,12 @@
+{
+ FilesToRename = {
+ "SDLApp_Prefix.pch" = "ÇPROJECTNAMEÈ_Prefix.pch";
+ };
+ FilesToMacroExpand = (
+ "ÇPROJECTNAMEÈ_Prefix.pch",
+ "Info.plist",
+ "English.lproj/InfoPlist.strings",
+ "main.c",
+ );
+ Description = "This project builds an SDL-based application that uses OpenGL.";
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..5683273
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
@@ -0,0 +1,352 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; };
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A3E09D088BA00EBEB88 /* main.c */; };
+ 002F3BFA09D0938900EBEB88 /* atlantis.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF409D0938900EBEB88 /* atlantis.c */; };
+ 002F3BFC09D0938900EBEB88 /* dolphin.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF609D0938900EBEB88 /* dolphin.c */; };
+ 002F3BFD09D0938900EBEB88 /* shark.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF709D0938900EBEB88 /* shark.c */; };
+ 002F3BFE09D0938900EBEB88 /* swim.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF809D0938900EBEB88 /* swim.c */; };
+ 002F3BFF09D0938900EBEB88 /* whale.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF909D0938900EBEB88 /* whale.c */; };
+ 002F3C0109D093BD00EBEB88 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F3C0009D093BD00EBEB88 /* OpenGL.framework */; };
+ 002F3C6109D0951E00EBEB88 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F3C6009D0951E00EBEB88 /* GLUT.framework */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
+ );
+ name = "Copy Frameworks into .app bundle";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 002F3A3E09D088BA00EBEB88 /* main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF409D0938900EBEB88 /* atlantis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = atlantis.c; path = atlantis/atlantis.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF509D0938900EBEB88 /* atlantis.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = atlantis.h; path = atlantis/atlantis.h; sourceTree = SOURCE_ROOT; };
+ 002F3BF609D0938900EBEB88 /* dolphin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dolphin.c; path = atlantis/dolphin.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF709D0938900EBEB88 /* shark.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = shark.c; path = atlantis/shark.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF809D0938900EBEB88 /* swim.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = swim.c; path = atlantis/swim.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF909D0938900EBEB88 /* whale.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = whale.c; path = atlantis/whale.c; sourceTree = SOURCE_ROOT; };
+ 002F3C0009D093BD00EBEB88 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
+ 002F3C6009D0951E00EBEB88 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../../../../../../../../System/Library/Frameworks/GLUT.framework; sourceTree = SOURCE_ROOT; };
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "___PROJECTNAME___.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
+ 002F3C6109D0951E00EBEB88 /* GLUT.framework in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ 002F3C0109D093BD00EBEB88 /* OpenGL.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 002F3BF309D0937800EBEB88 /* atlantis */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3BF409D0938900EBEB88 /* atlantis.c */,
+ 002F3BF509D0938900EBEB88 /* atlantis.h */,
+ 002F3BF609D0938900EBEB88 /* dolphin.c */,
+ 002F3BF709D0938900EBEB88 /* shark.c */,
+ 002F3BF809D0938900EBEB88 /* swim.c */,
+ 002F3BF909D0938900EBEB88 /* whale.c */,
+ );
+ name = atlantis;
+ sourceTree = "<group>";
+ };
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */,
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 002F39F909D0881F00EBEB88 /* SDL.framework */,
+ 002F3C6009D0951E00EBEB88 /* GLUT.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ 002F3C0009D093BD00EBEB88 /* OpenGL.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = "___PROJECTNAMEASXML___";
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3BF309D0937800EBEB88 /* atlantis */,
+ 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */,
+ 002F3A3E09D088BA00EBEB88 /* main.c */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "___PROJECTNAME___";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "___PROJECTNAME___";
+ productReference = 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */;
+ compatibilityVersion = "Xcode 3.2";
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */,
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */,
+ 002F3BFA09D0938900EBEB88 /* atlantis.c in Sources */,
+ 002F3BFC09D0938900EBEB88 /* dolphin.c in Sources */,
+ 002F3BFD09D0938900EBEB88 /* shark.c in Sources */,
+ 002F3BFE09D0938900EBEB88 /* swim.c in Sources */,
+ 002F3BFF09D0938900EBEB88 /* whale.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = (
+ ppc,
+ i386,
+ );
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "___PROJECTNAMEASIDENTIFIER____Prefix.pch";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ "GCC_VERSION[arch=x86_64]" = 4.2;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = macosx10.4;
+ "SDKROOT[arch=x86_64]" = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk";
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_VERSION = 4.0;
+ "GCC_VERSION[arch=x86_64]" = 4.2;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = macosx10.4;
+ "SDKROOT[arch=x86_64]" = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.c
new file mode 100644
index 0000000..4efdf6c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.c
@@ -0,0 +1,459 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <sys/time.h>
+#include <GLUT/glut.h>
+#include "atlantis.h"
+
+fishRec sharks[NUM_SHARKS];
+fishRec momWhale;
+fishRec babyWhale;
+fishRec dolph;
+
+GLboolean Timing = GL_TRUE;
+
+int w_win = 640;
+int h_win = 480;
+GLint count = 0;
+GLenum StrMode = GL_VENDOR;
+
+GLboolean moving;
+
+static double mtime(void)
+{
+ struct timeval tk_time;
+ struct timezone tz;
+
+ gettimeofday(&tk_time, &tz);
+
+ return 4294.967296 * tk_time.tv_sec + 0.000001 * tk_time.tv_usec;
+}
+
+static double filter(double in, double *save)
+{
+ static double k1 = 0.9;
+ static double k2 = 0.05;
+
+ save[3] = in;
+ save[1] = save[0]*k1 + k2*(save[3] + save[2]);
+
+ save[0]=save[1];
+ save[2]=save[3];
+
+ return(save[1]);
+}
+
+void DrawStr(const char *str)
+{
+ GLint i = 0;
+
+ if(!str) return;
+
+ while(str[i])
+ {
+ glutBitmapCharacter(GLUT_BITMAP_HELVETICA_12, str[i]);
+ i++;
+ }
+}
+
+void
+InitFishs(void)
+{
+ int i;
+
+ for (i = 0; i < NUM_SHARKS; i++) {
+ sharks[i].x = 70000.0 + rand() % 6000;
+ sharks[i].y = rand() % 6000;
+ sharks[i].z = rand() % 6000;
+ sharks[i].psi = rand() % 360 - 180.0;
+ sharks[i].v = 1.0;
+ }
+
+ dolph.x = 30000.0;
+ dolph.y = 0.0;
+ dolph.z = 6000.0;
+ dolph.psi = 90.0;
+ dolph.theta = 0.0;
+ dolph.v = 3.0;
+
+ momWhale.x = 70000.0;
+ momWhale.y = 0.0;
+ momWhale.z = 0.0;
+ momWhale.psi = 90.0;
+ momWhale.theta = 0.0;
+ momWhale.v = 3.0;
+
+ babyWhale.x = 60000.0;
+ babyWhale.y = -2000.0;
+ babyWhale.z = -2000.0;
+ babyWhale.psi = 90.0;
+ babyWhale.theta = 0.0;
+ babyWhale.v = 3.0;
+}
+
+void
+Atlantis_Init(void)
+{
+ static float ambient[] = {0.2, 0.2, 0.2, 1.0};
+ static float diffuse[] = {1.0, 1.0, 1.0, 1.0};
+ static float position[] = {0.0, 1.0, 0.0, 0.0};
+ static float mat_shininess[] = {90.0};
+ static float mat_specular[] = {0.8, 0.8, 0.8, 1.0};
+ static float mat_diffuse[] = {0.46, 0.66, 0.795, 1.0};
+ static float mat_ambient[] = {0.3, 0.4, 0.5, 1.0};
+ static float lmodel_ambient[] = {0.4, 0.4, 0.4, 1.0};
+ static float lmodel_localviewer[] = {0.0};
+ //GLfloat map1[4] = {0.0, 0.0, 0.0, 0.0};
+ //GLfloat map2[4] = {0.0, 0.0, 0.0, 0.0};
+ static float fog_color[] = {0.0, 0.5, 0.9, 1.0};
+
+ glFrontFace(GL_CCW);
+
+ glDepthFunc(GL_LESS);
+ glEnable(GL_DEPTH_TEST);
+
+ glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
+ glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
+ glLightfv(GL_LIGHT0, GL_POSITION, position);
+ glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
+ glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, lmodel_localviewer);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, mat_shininess);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mat_specular);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, mat_diffuse);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, mat_ambient);
+
+ InitFishs();
+
+ glEnable(GL_FOG);
+ glFogi(GL_FOG_MODE, GL_EXP);
+ glFogf(GL_FOG_DENSITY, 0.0000025);
+ glFogfv(GL_FOG_COLOR, fog_color);
+
+ glClearColor(0.0, 0.5, 0.9, 1.0);
+}
+
+void
+Atlantis_Reshape(int width, int height)
+{
+ w_win = width;
+ h_win = height;
+
+ glViewport(0, 0, width, height);
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(60.0, (GLfloat) width / (GLfloat) height, 20000.0, 300000.0);
+ glMatrixMode(GL_MODELVIEW);
+}
+
+void
+Atlantis_Animate(void)
+{
+ int i;
+
+ for (i = 0; i < NUM_SHARKS; i++) {
+ SharkPilot(&sharks[i]);
+ SharkMiss(i);
+ }
+ WhalePilot(&dolph);
+ dolph.phi++;
+ //glutPostRedisplay();
+ WhalePilot(&momWhale);
+ momWhale.phi++;
+ WhalePilot(&babyWhale);
+ babyWhale.phi++;
+}
+
+void
+Atlantis_Key(unsigned char key, int x, int y)
+{
+ switch (key) {
+ case 't':
+ Timing = !Timing;
+ break;
+ case ' ':
+ switch(StrMode)
+ {
+ case GL_EXTENSIONS:
+ StrMode = GL_VENDOR;
+ break;
+ case GL_VENDOR:
+ StrMode = GL_RENDERER;
+ break;
+ case GL_RENDERER:
+ StrMode = GL_VERSION;
+ break;
+ case GL_VERSION:
+ StrMode = GL_EXTENSIONS;
+ break;
+ }
+ break;
+ case 27: /* Esc will quit */
+ exit(1);
+ break;
+ case 's': /* "s" start animation */
+ moving = GL_TRUE;
+ //glutIdleFunc(Animate);
+ break;
+ case 'a': /* "a" stop animation */
+ moving = GL_FALSE;
+ //glutIdleFunc(NULL);
+ break;
+ case '.': /* "." will advance frame */
+ if (!moving) {
+ Atlantis_Animate();
+ }
+ }
+}
+/*
+void Display(void)
+{
+ static float P123[3] = {-448.94, -203.14, 9499.60};
+ static float P124[3] = {-442.64, -185.20, 9528.07};
+ static float P125[3] = {-441.07, -148.05, 9528.07};
+ static float P126[3] = {-443.43, -128.84, 9499.60};
+ static float P127[3] = {-456.87, -146.78, 9466.67};
+ static float P128[3] = {-453.68, -183.93, 9466.67};
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ glPushMatrix();
+ FishTransform(&dolph);
+ DrawDolphin(&dolph);
+ glPopMatrix();
+
+ glutSwapBuffers();
+}
+*/
+
+void
+Atlantis_Display(void)
+{
+ int i;
+ static double th[4] = {0.0, 0.0, 0.0, 0.0};
+ static double t1 = 0.0, t2 = 0.0, t;
+ char num_str[128];
+
+ t1 = t2;
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ for (i = 0; i < NUM_SHARKS; i++) {
+ glPushMatrix();
+ FishTransform(&sharks[i]);
+ DrawShark(&sharks[i]);
+ glPopMatrix();
+ }
+
+ glPushMatrix();
+ FishTransform(&dolph);
+ DrawDolphin(&dolph);
+ glPopMatrix();
+
+ glPushMatrix();
+ FishTransform(&momWhale);
+ DrawWhale(&momWhale);
+ glPopMatrix();
+
+ glPushMatrix();
+ FishTransform(&babyWhale);
+ glScalef(0.45, 0.45, 0.3);
+ DrawWhale(&babyWhale);
+ glPopMatrix();
+
+ if(Timing)
+ {
+ t2 = mtime();
+ t = t2 - t1;
+ if(t > 0.0001) t = 1.0 / t;
+
+ glDisable(GL_LIGHTING);
+ //glDisable(GL_DEPTH_TEST);
+
+ glColor3f(1.0, 0.0, 0.0);
+
+ glMatrixMode (GL_PROJECTION);
+ glPushMatrix();
+ glLoadIdentity();
+ glOrtho(0, w_win, 0, h_win, -10.0, 10.0);
+
+ glRasterPos2f(5.0, 5.0);
+
+ switch(StrMode)
+ {
+ case GL_VENDOR:
+ sprintf(num_str, "%0.2f Hz, %dx%d, VENDOR: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_VENDOR));
+ break;
+ case GL_RENDERER:
+ sprintf(num_str, "%0.2f Hz, %dx%d, RENDERER: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_RENDERER));
+ break;
+ case GL_VERSION:
+ sprintf(num_str, "%0.2f Hz, %dx%d, VERSION: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_VERSION));
+ break;
+ case GL_EXTENSIONS:
+ sprintf(num_str, "%0.2f Hz, %dx%d, EXTENSIONS: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_EXTENSIONS));
+ break;
+ }
+
+ glPopMatrix();
+ glMatrixMode(GL_MODELVIEW);
+
+ glEnable(GL_LIGHTING);
+ //glEnable(GL_DEPTH_TEST);
+ }
+
+ count++;
+
+ glutSwapBuffers();
+}
+
+/*
+void
+Visible(int state)
+{
+ if (state == GLUT_VISIBLE) {
+ if (moving)
+ glutIdleFunc(Animate);
+ } else {
+ if (moving)
+ glutIdleFunc(NULL);
+ }
+}
+
+
+void
+timingSelect(int value)
+{
+ switch(value)
+ {
+ case 1:
+ StrMode = GL_VENDOR;
+ break;
+ case 2:
+ StrMode = GL_RENDERER;
+ break;
+ case 3:
+ StrMode = GL_VERSION;
+ break;
+ case 4:
+ StrMode = GL_EXTENSIONS;
+ break;
+ }
+}
+
+void
+menuSelect(int value)
+{
+ switch (value) {
+ case 1:
+ moving = GL_TRUE;
+ glutIdleFunc(Animate);
+ break;
+ case 2:
+ moving = GL_FALSE;
+ glutIdleFunc(NULL);
+ break;
+ case 4:
+ exit(0);
+ break;
+ }
+}
+
+int
+main(int argc, char **argv)
+{
+ GLboolean fullscreen = GL_FALSE;
+ GLint time_menu;
+
+ srand(0);
+
+ glutInit(&argc, argv);
+ if (argc > 1 && !strcmp(argv[1], "-w"))
+ fullscreen = GL_FALSE;
+
+ //glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
+ glutInitDisplayString("rgba double depth=24");
+ if (fullscreen) {
+ glutGameModeString("1024x768:32");
+ glutEnterGameMode();
+ } else {
+ glutInitWindowSize(320, 240);
+ glutCreateWindow("Atlantis Timing");
+ }
+ Init();
+ glutDisplayFunc(Display);
+ glutReshapeFunc(Reshape);
+ glutKeyboardFunc(Key);
+ moving = GL_TRUE;
+glutIdleFunc(Animate);
+ glutVisibilityFunc(Visible);
+
+ time_menu = glutCreateMenu(timingSelect);
+ glutAddMenuEntry("GL_VENDOR", 1);
+ glutAddMenuEntry("GL_RENDERER", 2);
+ glutAddMenuEntry("GL_VERSION", 3);
+ glutAddMenuEntry("GL_EXTENSIONS", 4);
+
+ glutCreateMenu(menuSelect);
+ glutAddMenuEntry("Start motion", 1);
+ glutAddMenuEntry("Stop motion", 2);
+ glutAddSubMenu("Timing Mode", time_menu);
+ glutAddMenuEntry("Quit", 4);
+
+ //glutAttachMenu(GLUT_RIGHT_BUTTON);
+ glutAttachMenu(GLUT_RIGHT_BUTTON);
+ glutMainLoop();
+ return 0; // ANSI C requires main to return int.
+}
+*/ \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.h
new file mode 100644
index 0000000..6ccf2d5
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.h
@@ -0,0 +1,65 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#define RAD 57.295
+#define RRAD 0.01745
+
+#define NUM_SHARKS 4
+#define SHARKSIZE 6000
+#define SHARKSPEED 100.0
+
+#define WHALESPEED 250.0
+
+typedef struct _fishRec {
+ float x, y, z, phi, theta, psi, v;
+ float xt, yt, zt;
+ float htail, vtail;
+ float dtheta;
+ int spurt, attack;
+} fishRec;
+
+extern fishRec sharks[NUM_SHARKS];
+extern fishRec momWhale;
+extern fishRec babyWhale;
+extern fishRec dolph;
+
+extern void FishTransform(fishRec *);
+extern void WhalePilot(fishRec *);
+extern void SharkPilot(fishRec *);
+extern void SharkMiss(int);
+extern void DrawWhale(fishRec *);
+extern void DrawShark(fishRec *);
+extern void DrawDolphin(fishRec *);
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/dolphin.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/dolphin.c
new file mode 100644
index 0000000..9fba3ba
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/dolphin.c
@@ -0,0 +1,1934 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <math.h>
+#include <GLUT/glut.h>
+#include "atlantis.h"
+/* *INDENT-OFF* */
+static float N001[3] = {-0.005937 ,-0.101998 ,-0.994767};
+static float N002[3] = {0.936780 ,-0.200803 ,0.286569};
+static float N003[3] = {-0.233062 ,0.972058 ,0.028007};
+static float N005[3] = {0.898117 ,0.360171 ,0.252315};
+static float N006[3] = {-0.915437 ,0.348456 ,0.201378};
+static float N007[3] = {0.602263 ,-0.777527 ,0.180920};
+static float N008[3] = {-0.906912 ,-0.412015 ,0.088061};
+static float N012[3] = {0.884408 ,-0.429417 ,-0.182821};
+static float N013[3] = {0.921121 ,0.311084 ,-0.234016};
+static float N014[3] = {0.382635 ,0.877882 ,-0.287948};
+static float N015[3] = {-0.380046 ,0.888166 ,-0.258316};
+static float N016[3] = {-0.891515 ,0.392238 ,-0.226607};
+static float N017[3] = {-0.901419 ,-0.382002 ,-0.203763};
+static float N018[3] = {-0.367225 ,-0.911091 ,-0.187243};
+static float N019[3] = {0.339539 ,-0.924846 ,-0.171388};
+static float N020[3] = {0.914706 ,-0.378617 ,-0.141290};
+static float N021[3] = {0.950662 ,0.262713 ,-0.164994};
+static float N022[3] = {0.546359 ,0.801460 ,-0.243218};
+static float N023[3] = {-0.315796 ,0.917068 ,-0.243431};
+static float N024[3] = {-0.825687 ,0.532277 ,-0.186875};
+static float N025[3] = {-0.974763 ,-0.155232 ,-0.160435};
+static float N026[3] = {-0.560596 ,-0.816658 ,-0.137119};
+static float N027[3] = {0.380210 ,-0.910817 ,-0.160786};
+static float N028[3] = {0.923772 ,-0.358322 ,-0.135093};
+static float N029[3] = {0.951202 ,0.275053 ,-0.139859};
+static float N030[3] = {0.686099 ,0.702548 ,-0.188932};
+static float N031[3] = {-0.521865 ,0.826719 ,-0.210220};
+static float N032[3] = {-0.923820 ,0.346739 ,-0.162258};
+static float N033[3] = {-0.902095 ,-0.409995 ,-0.134646};
+static float N034[3] = {-0.509115 ,-0.848498 ,-0.144404};
+static float N035[3] = {0.456469 ,-0.880293 ,-0.129305};
+static float N036[3] = {0.873401 ,-0.475489 ,-0.105266};
+static float N037[3] = {0.970825 ,0.179861 ,-0.158584};
+static float N038[3] = {0.675609 ,0.714187 ,-0.183004};
+static float N039[3] = {-0.523574 ,0.830212 ,-0.191360};
+static float N040[3] = {-0.958895 ,0.230808 ,-0.165071};
+static float N041[3] = {-0.918285 ,-0.376803 ,-0.121542};
+static float N042[3] = {-0.622467 ,-0.774167 ,-0.114888};
+static float N043[3] = {0.404497 ,-0.908807 ,-0.102231};
+static float N044[3] = {0.930538 ,-0.365155 ,-0.027588};
+static float N045[3] = {0.921920 ,0.374157 ,-0.100345};
+static float N046[3] = {0.507346 ,0.860739 ,0.041562};
+static float N047[3] = {-0.394646 ,0.918815 ,-0.005730};
+static float N048[3] = {-0.925411 ,0.373024 ,-0.066837};
+static float N049[3] = {-0.945337 ,-0.322309 ,-0.049551};
+static float N050[3] = {-0.660437 ,-0.750557 ,-0.022072};
+static float N051[3] = {0.488835 ,-0.871950 ,-0.027261};
+static float N052[3] = {0.902599 ,-0.421397 ,0.087969};
+static float N053[3] = {0.938636 ,0.322606 ,0.122020};
+static float N054[3] = {0.484605 ,0.871078 ,0.079878};
+static float N055[3] = {-0.353607 ,0.931559 ,0.084619};
+static float N056[3] = {-0.867759 ,0.478564 ,0.134054};
+static float N057[3] = {-0.951583 ,-0.296030 ,0.082794};
+static float N058[3] = {-0.672355 ,-0.730209 ,0.121384};
+static float N059[3] = {0.528336 ,-0.842452 ,0.105525};
+static float N060[3] = {0.786913 ,-0.564760 ,0.248627};
+static float N062[3] = {0.622098 ,0.765230 ,0.165584};
+static float N063[3] = {-0.631711 ,0.767816 ,0.106773};
+static float N064[3] = {-0.687886 ,0.606351 ,0.398938};
+static float N065[3] = {-0.946327 ,-0.281623 ,0.158598};
+static float N066[3] = {-0.509549 ,-0.860437 ,0.002776};
+static float N067[3] = {0.462594 ,-0.876692 ,0.131977};
+static float N071[3] = {0.000000 ,1.000000 ,0.000000};
+static float N077[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N078[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N079[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N080[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N081[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N082[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N083[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N084[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N085[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N086[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N087[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N088[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N089[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N090[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N091[3] = {0.000000 ,1.000000 ,0.000000};
+static float N092[3] = {0.000000 ,1.000000 ,0.000000};
+static float N093[3] = {0.000000 ,1.000000 ,0.000000};
+static float N094[3] = {1.000000 ,0.000000 ,0.000000};
+static float N095[3] = {-1.000000 ,0.000000 ,0.000000};
+static float N097[3] = {-0.697296 ,0.702881 ,0.140491};
+static float N098[3] = {0.918864 ,0.340821 ,0.198819};
+static float N099[3] = {-0.932737 ,0.201195 ,0.299202};
+static float N100[3] = {0.029517 ,0.981679 ,0.188244};
+static float N102[3] = {0.813521 ,-0.204936 ,0.544229};
+static float N110[3] = {-0.781480 ,-0.384779 ,0.491155};
+static float N111[3] = {-0.722243 ,0.384927 ,0.574627};
+static float N112[3] = {-0.752278 ,0.502679 ,0.425901};
+static float N113[3] = {0.547257 ,0.367910 ,0.751766};
+static float N114[3] = {0.725949 ,-0.232568 ,0.647233};
+static float N115[3] = {-0.747182 ,-0.660786 ,0.071280};
+static float N116[3] = {0.931519 ,0.200748 ,0.303270};
+static float N117[3] = {-0.828928 ,0.313757 ,0.463071};
+static float N118[3] = {0.902554 ,-0.370967 ,0.218587};
+static float N119[3] = {-0.879257 ,-0.441851 ,0.177973};
+static float N120[3] = {0.642327 ,0.611901 ,0.461512};
+static float N121[3] = {0.964817 ,-0.202322 ,0.167910};
+static float N122[3] = {0.000000 ,1.000000 ,0.000000};
+static float P001[3] = {5.68, -300.95, 1324.70};
+static float P002[3] = {338.69, -219.63, 9677.03};
+static float P003[3] = {12.18, 474.59, 9138.14};
+static float P005[3] = {487.51, 198.05, 9350.78};
+static float P006[3] = {-457.61, 68.74, 9427.85};
+static float P007[3] = {156.52, -266.72, 10311.68};
+static float P008[3] = {-185.56, -266.51, 10310.47};
+static float P009[3] = {124.39, -261.46, 1942.34};
+static float P010[3] = {-130.05, -261.46, 1946.03};
+static float P011[3] = {141.07, -320.11, 1239.38};
+static float P012[3] = {156.48, -360.12, 2073.41};
+static float P013[3] = {162.00, -175.88, 2064.44};
+static float P014[3] = {88.16, -87.72, 2064.02};
+static float P015[3] = {-65.21, -96.13, 2064.02};
+static float P016[3] = {-156.48, -180.96, 2064.44};
+static float P017[3] = {-162.00, -368.93, 2082.39};
+static float P018[3] = {-88.16, -439.22, 2082.39};
+static float P019[3] = {65.21, -440.32, 2083.39};
+static float P020[3] = {246.87, -356.02, 2576.95};
+static float P021[3] = {253.17, -111.15, 2567.15};
+static float P022[3] = {132.34, 51.41, 2559.84};
+static float P023[3] = {-97.88, 40.44, 2567.15};
+static float P024[3] = {-222.97, -117.49, 2567.15};
+static float P025[3] = {-252.22, -371.53, 2569.92};
+static float P026[3] = {-108.44, -518.19, 2586.75};
+static float P027[3] = {97.88, -524.79, 2586.75};
+static float P028[3] = {370.03, -421.19, 3419.70};
+static float P029[3] = {351.15, -16.98, 3423.17};
+static float P030[3] = {200.66, 248.46, 3430.37};
+static float P031[3] = {-148.42, 235.02, 3417.91};
+static float P032[3] = {-360.21, -30.27, 3416.84};
+static float P033[3] = {-357.90, -414.89, 3407.04};
+static float P034[3] = {-148.88, -631.35, 3409.90};
+static float P035[3] = {156.38, -632.59, 3419.70};
+static float P036[3] = {462.61, -469.21, 4431.51};
+static float P037[3] = {466.60, 102.25, 4434.98};
+static float P038[3] = {243.05, 474.34, 4562.02};
+static float P039[3] = {-191.23, 474.40, 4554.42};
+static float P040[3] = {-476.12, 111.05, 4451.11};
+static float P041[3] = {-473.36, -470.74, 4444.78};
+static float P042[3] = {-266.95, -748.41, 4447.78};
+static float P043[3] = {211.14, -749.91, 4429.73};
+static float P044[3] = {680.57, -370.27, 5943.46};
+static float P045[3] = {834.01, 363.09, 6360.63};
+static float P046[3] = {371.29, 804.51, 6486.26};
+static float P047[3] = {-291.43, 797.22, 6494.28};
+static float P048[3] = {-784.13, 370.75, 6378.01};
+static float P049[3] = {-743.29, -325.82, 5943.46};
+static float P050[3] = {-383.24, -804.77, 5943.46};
+static float P051[3] = {283.47, -846.09, 5943.46};
+static float iP001[3] = {5.68, -300.95, 1324.70};
+static float iP009[3] = {124.39, -261.46, 1942.34};
+static float iP010[3] = {-130.05, -261.46, 1946.03};
+static float iP011[3] = {141.07, -320.11, 1239.38};
+static float iP012[3] = {156.48, -360.12, 2073.41};
+static float iP013[3] = {162.00, -175.88, 2064.44};
+static float iP014[3] = {88.16, -87.72, 2064.02};
+static float iP015[3] = {-65.21, -96.13, 2064.02};
+static float iP016[3] = {-156.48, -180.96, 2064.44};
+static float iP017[3] = {-162.00, -368.93, 2082.39};
+static float iP018[3] = {-88.16, -439.22, 2082.39};
+static float iP019[3] = {65.21, -440.32, 2083.39};
+static float iP020[3] = {246.87, -356.02, 2576.95};
+static float iP021[3] = {253.17, -111.15, 2567.15};
+static float iP022[3] = {132.34, 51.41, 2559.84};
+static float iP023[3] = {-97.88, 40.44, 2567.15};
+static float iP024[3] = {-222.97, -117.49, 2567.15};
+static float iP025[3] = {-252.22, -371.53, 2569.92};
+static float iP026[3] = {-108.44, -518.19, 2586.75};
+static float iP027[3] = {97.88, -524.79, 2586.75};
+static float iP028[3] = {370.03, -421.19, 3419.70};
+static float iP029[3] = {351.15, -16.98, 3423.17};
+static float iP030[3] = {200.66, 248.46, 3430.37};
+static float iP031[3] = {-148.42, 235.02, 3417.91};
+static float iP032[3] = {-360.21, -30.27, 3416.84};
+static float iP033[3] = {-357.90, -414.89, 3407.04};
+static float iP034[3] = {-148.88, -631.35, 3409.90};
+static float iP035[3] = {156.38, -632.59, 3419.70};
+static float iP036[3] = {462.61, -469.21, 4431.51};
+static float iP037[3] = {466.60, 102.25, 4434.98};
+static float iP038[3] = {243.05, 474.34, 4562.02};
+static float iP039[3] = {-191.23, 474.40, 4554.42};
+static float iP040[3] = {-476.12, 111.05, 4451.11};
+static float iP041[3] = {-473.36, -470.74, 4444.78};
+static float iP042[3] = {-266.95, -748.41, 4447.78};
+static float iP043[3] = {211.14, -749.91, 4429.73};
+static float iP044[3] = {680.57, -370.27, 5943.46};
+static float iP045[3] = {834.01, 363.09, 6360.63};
+static float iP046[3] = {371.29, 804.51, 6486.26};
+static float iP047[3] = {-291.43, 797.22, 6494.28};
+static float iP048[3] = {-784.13, 370.75, 6378.01};
+static float iP049[3] = {-743.29, -325.82, 5943.46};
+static float iP050[3] = {-383.24, -804.77, 5943.46};
+static float iP051[3] = {283.47, -846.09, 5943.46};
+static float P052[3] = {599.09, -300.15, 7894.03};
+static float P053[3] = {735.48, 306.26, 7911.92};
+static float P054[3] = {246.22, 558.53, 8460.50};
+static float P055[3] = {-230.41, 559.84, 8473.23};
+static float P056[3] = {-698.66, 320.83, 7902.59};
+static float P057[3] = {-643.29, -299.16, 7902.59};
+static float P058[3] = {-341.47, -719.30, 7902.59};
+static float P059[3] = {252.57, -756.12, 7902.59};
+static float P060[3] = {458.39, -265.31, 9355.44};
+static float P062[3] = {224.04, 338.75, 9450.30};
+static float P063[3] = {-165.71, 341.04, 9462.35};
+static float P064[3] = {-298.11, 110.13, 10180.37};
+static float P065[3] = {-473.99, -219.71, 9355.44};
+static float P066[3] = {-211.97, -479.87, 9355.44};
+static float P067[3] = {192.86, -491.45, 9348.73};
+static float P068[3] = {-136.29, -319.84, 1228.73};
+static float P069[3] = {1111.17, -314.14, 1314.19};
+static float P070[3] = {-1167.34, -321.61, 1319.45};
+static float P071[3] = {1404.86, -306.66, 1235.45};
+static float P072[3] = {-1409.73, -314.14, 1247.66};
+static float P073[3] = {1254.01, -296.87, 1544.58};
+static float P074[3] = {-1262.09, -291.70, 1504.26};
+static float P075[3] = {965.71, -269.26, 1742.65};
+static float P076[3] = {-900.97, -276.74, 1726.07};
+static float iP068[3] = {-136.29, -319.84, 1228.73};
+static float iP069[3] = {1111.17, -314.14, 1314.19};
+static float iP070[3] = {-1167.34, -321.61, 1319.45};
+static float iP071[3] = {1404.86, -306.66, 1235.45};
+static float iP072[3] = {-1409.73, -314.14, 1247.66};
+static float iP073[3] = {1254.01, -296.87, 1544.58};
+static float iP074[3] = {-1262.09, -291.70, 1504.26};
+static float iP075[3] = {965.71, -269.26, 1742.65};
+static float iP076[3] = {-900.97, -276.74, 1726.07};
+static float P077[3] = {1058.00, -448.81, 8194.66};
+static float P078[3] = {-1016.51, -456.43, 8190.62};
+static float P079[3] = {-1515.96, -676.45, 7754.93};
+static float P080[3] = {1856.75, -830.34, 7296.56};
+static float P081[3] = {1472.16, -497.38, 7399.68};
+static float P082[3] = {-1775.26, -829.51, 7298.46};
+static float P083[3] = {911.09, -252.51, 7510.99};
+static float P084[3] = {-1451.94, -495.62, 7384.30};
+static float P085[3] = {1598.75, -669.26, 7769.90};
+static float P086[3] = {-836.53, -250.08, 7463.25};
+static float P087[3] = {722.87, -158.18, 8006.41};
+static float P088[3] = {-688.86, -162.28, 7993.89};
+static float P089[3] = {-626.92, -185.30, 8364.98};
+static float P090[3] = {647.72, -189.46, 8354.99};
+static float P091[3] = {0.00, 835.01, 5555.62};
+static float P092[3] = {0.00, 1350.18, 5220.86};
+static float P093[3] = {0.00, 1422.94, 5285.27};
+static float P094[3] = {0.00, 1296.75, 5650.19};
+static float P095[3] = {0.00, 795.63, 6493.88};
+static float iP091[3] = {0.00, 835.01, 5555.62};
+static float iP092[3] = {0.00, 1350.18, 5220.86};
+static float iP093[3] = {0.00, 1422.94, 5285.27};
+static float iP094[3] = {0.00, 1296.75, 5650.19};
+static float iP095[3] = {0.00, 795.63, 6493.88};
+static float P097[3] = {-194.91, -357.14, 10313.32};
+static float P098[3] = {135.35, -357.66, 10307.94};
+static float iP097[3] = {-194.91, -357.14, 10313.32};
+static float iP098[3] = {135.35, -357.66, 10307.94};
+static float P099[3] = {-380.53, -221.14, 9677.98};
+static float P100[3] = {0.00, 412.99, 9629.33};
+static float P102[3] = {59.51, -412.55, 10677.58};
+static float iP102[3] = {59.51, -412.55, 10677.58};
+static float P103[3] = {6.50, 484.74, 9009.94};
+static float P105[3] = {-41.86, 476.51, 9078.17};
+static float P108[3] = {49.20, 476.83, 9078.24};
+static float P110[3] = {-187.62, -410.04, 10674.12};
+static float iP110[3] = {-187.62, -410.04, 10674.12};
+static float P111[3] = {-184.25, -318.70, 10723.88};
+static float iP111[3] = {-184.25, -318.70, 10723.88};
+static float P112[3] = {-179.61, -142.81, 10670.26};
+static float P113[3] = {57.43, -147.94, 10675.26};
+static float P114[3] = {54.06, -218.90, 10712.44};
+static float P115[3] = {-186.35, -212.09, 10713.76};
+static float P116[3] = {205.90, -84.61, 10275.97};
+static float P117[3] = {-230.96, -83.26, 10280.09};
+static float iP118[3] = {216.78, -509.17, 10098.94};
+static float iP119[3] = {-313.21, -510.79, 10102.62};
+static float P118[3] = {216.78, -509.17, 10098.94};
+static float P119[3] = {-313.21, -510.79, 10102.62};
+static float P120[3] = {217.95, 96.34, 10161.62};
+static float P121[3] = {71.99, -319.74, 10717.70};
+static float iP121[3] = {71.99, -319.74, 10717.70};
+static float P122[3] = {0.00, 602.74, 5375.84};
+static float iP122[3] = {0.00, 602.74, 5375.84};
+static float P123[3] = {-448.94, -203.14, 9499.60};
+static float P124[3] = {-442.64, -185.20, 9528.07};
+static float P125[3] = {-441.07, -148.05, 9528.07};
+static float P126[3] = {-443.43, -128.84, 9499.60};
+static float P127[3] = {-456.87, -146.78, 9466.67};
+static float P128[3] = {-453.68, -183.93, 9466.67};
+static float P129[3] = {428.43, -124.08, 9503.03};
+static float P130[3] = {419.73, -142.14, 9534.56};
+static float P131[3] = {419.92, -179.96, 9534.56};
+static float P132[3] = {431.20, -199.73, 9505.26};
+static float P133[3] = {442.28, -181.67, 9475.96};
+static float P134[3] = {442.08, -143.84, 9475.96};
+/* *INDENT-ON* */
+
+void
+Dolphin001(void)
+{
+ glNormal3fv(N071);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P001);
+ glVertex3fv(P068);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P068);
+ glVertex3fv(P076);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P068);
+ glVertex3fv(P070);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P076);
+ glVertex3fv(P070);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P070);
+ glVertex3fv(P072);
+ glVertex3fv(P074);
+ glEnd();
+ glNormal3fv(N119);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P072);
+ glVertex3fv(P070);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P074);
+ glVertex3fv(P070);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P070);
+ glVertex3fv(P068);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P076);
+ glVertex3fv(P068);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P068);
+ glVertex3fv(P001);
+ glVertex3fv(P010);
+ glEnd();
+}
+
+void
+Dolphin002(void)
+{
+ glNormal3fv(N071);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P011);
+ glVertex3fv(P001);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P075);
+ glVertex3fv(P011);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P011);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P075);
+ glVertex3fv(P073);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P071);
+ glVertex3fv(P069);
+ glVertex3fv(P073);
+ glEnd();
+ glNormal3fv(N119);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P001);
+ glVertex3fv(P011);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P009);
+ glVertex3fv(P011);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P011);
+ glVertex3fv(P069);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P073);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P071);
+ glVertex3fv(P073);
+ glEnd();
+}
+
+void
+Dolphin003(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glEnd();
+}
+
+void
+Dolphin004(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glEnd();
+}
+
+void
+Dolphin005(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+}
+
+void
+Dolphin006(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N122);
+ glVertex3fv(P122);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N122);
+ glVertex3fv(P122);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glEnd();
+}
+
+void
+Dolphin007(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+}
+
+void
+Dolphin008(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glEnd();
+}
+
+void
+Dolphin009(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+}
+
+void
+Dolphin010(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+}
+
+void
+Dolphin011(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+}
+
+void
+Dolphin012(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+}
+
+void
+Dolphin013(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glNormal3fv(N113);
+ glVertex3fv(P113);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N114);
+ glVertex3fv(P114);
+ glNormal3fv(N113);
+ glVertex3fv(P113);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glNormal3fv(N115);
+ glVertex3fv(P115);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N114);
+ glVertex3fv(P114);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glNormal3fv(N113);
+ glVertex3fv(P113);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N114);
+ glVertex3fv(P114);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P002);
+ glVertex3fv(P007);
+ glVertex3fv(P008);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P007);
+ glVertex3fv(P114);
+ glVertex3fv(P115);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N115);
+ glVertex3fv(P115);
+ glEnd();
+}
+
+void
+Dolphin014(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N111);
+ glVertex3fv(P111);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glNormal3fv(N121);
+ glVertex3fv(P121);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N111);
+ glVertex3fv(P111);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P098);
+ glVertex3fv(P097);
+ glVertex3fv(P111);
+ glVertex3fv(P121);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P002);
+ glVertex3fv(P099);
+ glVertex3fv(P097);
+ glVertex3fv(P098);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glNormal3fv(N121);
+ glVertex3fv(P121);
+ glEnd();
+}
+
+void
+Dolphin015(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+}
+
+void
+Dolphin016(void)
+{
+
+ glDisable(GL_DEPTH_TEST);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P123);
+ glVertex3fv(P124);
+ glVertex3fv(P125);
+ glVertex3fv(P126);
+ glVertex3fv(P127);
+ glVertex3fv(P128);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P129);
+ glVertex3fv(P130);
+ glVertex3fv(P131);
+ glVertex3fv(P132);
+ glVertex3fv(P133);
+ glVertex3fv(P134);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P103);
+ glVertex3fv(P105);
+ glVertex3fv(P108);
+ glEnd();
+ glEnable(GL_DEPTH_TEST);
+}
+
+void
+DrawDolphin(fishRec * fish)
+{
+ float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
+ float pitch, thrash, chomp;
+
+ fish->htail = (int) (fish->htail - (int) (10.0 * fish->v)) % 360;
+
+ thrash = 70.0 * fish->v;
+
+ seg0 = 1.0 * thrash * sin((fish->htail) * RRAD);
+ seg3 = 1.0 * thrash * sin((fish->htail) * RRAD);
+ seg1 = 2.0 * thrash * sin((fish->htail + 4.0) * RRAD);
+ seg2 = 3.0 * thrash * sin((fish->htail + 6.0) * RRAD);
+ seg4 = 4.0 * thrash * sin((fish->htail + 10.0) * RRAD);
+ seg5 = 4.5 * thrash * sin((fish->htail + 15.0) * RRAD);
+ seg6 = 5.0 * thrash * sin((fish->htail + 20.0) * RRAD);
+ seg7 = 6.0 * thrash * sin((fish->htail + 30.0) * RRAD);
+
+ pitch = fish->v * sin((fish->htail + 180.0) * RRAD);
+
+ if (fish->v > 2.0) {
+ chomp = -(fish->v - 2.0) * 200.0;
+ }
+ chomp = 100.0;
+
+ P012[1] = iP012[1] + seg5;
+ P013[1] = iP013[1] + seg5;
+ P014[1] = iP014[1] + seg5;
+ P015[1] = iP015[1] + seg5;
+ P016[1] = iP016[1] + seg5;
+ P017[1] = iP017[1] + seg5;
+ P018[1] = iP018[1] + seg5;
+ P019[1] = iP019[1] + seg5;
+
+ P020[1] = iP020[1] + seg4;
+ P021[1] = iP021[1] + seg4;
+ P022[1] = iP022[1] + seg4;
+ P023[1] = iP023[1] + seg4;
+ P024[1] = iP024[1] + seg4;
+ P025[1] = iP025[1] + seg4;
+ P026[1] = iP026[1] + seg4;
+ P027[1] = iP027[1] + seg4;
+
+ P028[1] = iP028[1] + seg2;
+ P029[1] = iP029[1] + seg2;
+ P030[1] = iP030[1] + seg2;
+ P031[1] = iP031[1] + seg2;
+ P032[1] = iP032[1] + seg2;
+ P033[1] = iP033[1] + seg2;
+ P034[1] = iP034[1] + seg2;
+ P035[1] = iP035[1] + seg2;
+
+ P036[1] = iP036[1] + seg1;
+ P037[1] = iP037[1] + seg1;
+ P038[1] = iP038[1] + seg1;
+ P039[1] = iP039[1] + seg1;
+ P040[1] = iP040[1] + seg1;
+ P041[1] = iP041[1] + seg1;
+ P042[1] = iP042[1] + seg1;
+ P043[1] = iP043[1] + seg1;
+
+ P044[1] = iP044[1] + seg0;
+ P045[1] = iP045[1] + seg0;
+ P046[1] = iP046[1] + seg0;
+ P047[1] = iP047[1] + seg0;
+ P048[1] = iP048[1] + seg0;
+ P049[1] = iP049[1] + seg0;
+ P050[1] = iP050[1] + seg0;
+ P051[1] = iP051[1] + seg0;
+
+ P009[1] = iP009[1] + seg6;
+ P010[1] = iP010[1] + seg6;
+ P075[1] = iP075[1] + seg6;
+ P076[1] = iP076[1] + seg6;
+
+ P001[1] = iP001[1] + seg7;
+ P011[1] = iP011[1] + seg7;
+ P068[1] = iP068[1] + seg7;
+ P069[1] = iP069[1] + seg7;
+ P070[1] = iP070[1] + seg7;
+ P071[1] = iP071[1] + seg7;
+ P072[1] = iP072[1] + seg7;
+ P073[1] = iP073[1] + seg7;
+ P074[1] = iP074[1] + seg7;
+
+ P091[1] = iP091[1] + seg3;
+ P092[1] = iP092[1] + seg3;
+ P093[1] = iP093[1] + seg3;
+ P094[1] = iP094[1] + seg3;
+ P095[1] = iP095[1] + seg3;
+ P122[1] = iP122[1] + seg3 * 1.5;
+
+ P097[1] = iP097[1] + chomp;
+ P098[1] = iP098[1] + chomp;
+ P102[1] = iP102[1] + chomp;
+ P110[1] = iP110[1] + chomp;
+ P111[1] = iP111[1] + chomp;
+ P121[1] = iP121[1] + chomp;
+ P118[1] = iP118[1] + chomp;
+ P119[1] = iP119[1] + chomp;
+
+ glPushMatrix();
+
+ glRotatef(pitch, 1.0, 0.0, 0.0);
+
+ glTranslatef(0.0, 0.0, 7000.0);
+
+ glRotatef(180.0, 0.0, 1.0, 0.0);
+
+ glEnable(GL_CULL_FACE);
+ Dolphin014();
+ Dolphin010();
+ Dolphin009();
+ Dolphin012();
+ Dolphin013();
+ Dolphin006();
+ Dolphin002();
+ Dolphin001();
+ Dolphin003();
+ Dolphin015();
+ Dolphin004();
+ Dolphin005();
+ Dolphin007();
+ Dolphin008();
+ Dolphin011();
+ Dolphin016();
+ glDisable(GL_CULL_FACE);
+
+ glPopMatrix();
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/shark.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/shark.c
new file mode 100644
index 0000000..9c847db
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/shark.c
@@ -0,0 +1,1308 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <GLUT/glut.h>
+#include <math.h>
+#include "atlantis.h"
+/* *INDENT-OFF* */
+static float N002[3] = {0.000077 ,-0.020611 ,0.999788};
+static float N003[3] = {0.961425 ,0.258729 ,-0.093390};
+static float N004[3] = {0.510811 ,-0.769633 ,-0.383063};
+static float N005[3] = {0.400123 ,0.855734 ,-0.328055};
+static float N006[3] = {-0.770715 ,0.610204 ,-0.183440};
+static float N007[3] = {-0.915597 ,-0.373345 ,-0.149316};
+static float N008[3] = {-0.972788 ,0.208921 ,-0.100179};
+static float N009[3] = {-0.939713 ,-0.312268 ,-0.139383};
+static float N010[3] = {-0.624138 ,-0.741047 ,-0.247589};
+static float N011[3] = {0.591434 ,-0.768401 ,-0.244471};
+static float N012[3] = {0.935152 ,-0.328495 ,-0.132598};
+static float N013[3] = {0.997102 ,0.074243 ,-0.016593};
+static float N014[3] = {0.969995 ,0.241712 ,-0.026186};
+static float N015[3] = {0.844539 ,0.502628 ,-0.184714};
+static float N016[3] = {-0.906608 ,0.386308 ,-0.169787};
+static float N017[3] = {-0.970016 ,0.241698 ,-0.025516};
+static float N018[3] = {-0.998652 ,0.050493 ,-0.012045};
+static float N019[3] = {-0.942685 ,-0.333051 ,-0.020556};
+static float N020[3] = {-0.660944 ,-0.750276 ,0.015480};
+static float N021[3] = {0.503549 ,-0.862908 ,-0.042749};
+static float N022[3] = {0.953202 ,-0.302092 ,-0.012089};
+static float N023[3] = {0.998738 ,0.023574 ,0.044344};
+static float N024[3] = {0.979297 ,0.193272 ,0.060202};
+static float N025[3] = {0.798300 ,0.464885 ,0.382883};
+static float N026[3] = {-0.756590 ,0.452403 ,0.472126};
+static float N027[3] = {-0.953855 ,0.293003 ,0.065651};
+static float N028[3] = {-0.998033 ,0.040292 ,0.048028};
+static float N029[3] = {-0.977079 ,-0.204288 ,0.059858};
+static float N030[3] = {-0.729117 ,-0.675304 ,0.111140};
+static float N031[3] = {0.598361 ,-0.792753 ,0.116221};
+static float N032[3] = {0.965192 ,-0.252991 ,0.066332};
+static float N033[3] = {0.998201 ,-0.002790 ,0.059892};
+static float N034[3] = {0.978657 ,0.193135 ,0.070207};
+static float N035[3] = {0.718815 ,0.680392 ,0.142733};
+static float N036[3] = {-0.383096 ,0.906212 ,0.178936};
+static float N037[3] = {-0.952831 ,0.292590 ,0.080647};
+static float N038[3] = {-0.997680 ,0.032417 ,0.059861};
+static float N039[3] = {-0.982629 ,-0.169881 ,0.074700};
+static float N040[3] = {-0.695424 ,-0.703466 ,0.146700};
+static float N041[3] = {0.359323 ,-0.915531 ,0.180805};
+static float N042[3] = {0.943356 ,-0.319387 ,0.089842};
+static float N043[3] = {0.998272 ,-0.032435 ,0.048993};
+static float N044[3] = {0.978997 ,0.193205 ,0.065084};
+static float N045[3] = {0.872144 ,0.470094 ,-0.135565};
+static float N046[3] = {-0.664282 ,0.737945 ,-0.119027};
+static float N047[3] = {-0.954508 ,0.288570 ,0.075107};
+static float N048[3] = {-0.998273 ,0.032406 ,0.048993};
+static float N049[3] = {-0.979908 ,-0.193579 ,0.048038};
+static float N050[3] = {-0.858736 ,-0.507202 ,-0.072938};
+static float N051[3] = {0.643545 ,-0.763887 ,-0.048237};
+static float N052[3] = {0.955580 ,-0.288954 ,0.058068};
+static float N058[3] = {0.000050 ,0.793007 ,-0.609213};
+static float N059[3] = {0.913510 ,0.235418 ,-0.331779};
+static float N060[3] = {-0.807970 ,0.495000 ,-0.319625};
+static float N061[3] = {0.000000 ,0.784687 ,-0.619892};
+static float N062[3] = {0.000000 ,-1.000000 ,0.000000};
+static float N063[3] = {0.000000 ,1.000000 ,0.000000};
+static float N064[3] = {0.000000 ,1.000000 ,0.000000};
+static float N065[3] = {0.000000 ,1.000000 ,0.000000};
+static float N066[3] = {-0.055784 ,0.257059 ,0.964784};
+static float N069[3] = {-0.000505 ,-0.929775 ,-0.368127};
+static float N070[3] = {0.000000 ,1.000000 ,0.000000};
+static float P002[3] = {0.00, -36.59, 5687.72};
+static float P003[3] = {90.00, 114.73, 724.38};
+static float P004[3] = {58.24, -146.84, 262.35};
+static float P005[3] = {27.81, 231.52, 510.43};
+static float P006[3] = {-27.81, 230.43, 509.76};
+static float P007[3] = {-46.09, -146.83, 265.84};
+static float P008[3] = {-90.00, 103.84, 718.53};
+static float P009[3] = {-131.10, -165.92, 834.85};
+static float P010[3] = {-27.81, -285.31, 500.00};
+static float P011[3] = {27.81, -285.32, 500.00};
+static float P012[3] = {147.96, -170.89, 845.50};
+static float P013[3] = {180.00, 0.00, 2000.00};
+static float P014[3] = {145.62, 352.67, 2000.00};
+static float P015[3] = {55.62, 570.63, 2000.00};
+static float P016[3] = {-55.62, 570.64, 2000.00};
+static float P017[3] = {-145.62, 352.68, 2000.00};
+static float P018[3] = {-180.00, 0.01, 2000.00};
+static float P019[3] = {-178.20, -352.66, 2001.61};
+static float P020[3] = {-55.63, -570.63, 2000.00};
+static float P021[3] = {55.62, -570.64, 2000.00};
+static float P022[3] = {179.91, -352.69, 1998.39};
+static float P023[3] = {150.00, 0.00, 3000.00};
+static float P024[3] = {121.35, 293.89, 3000.00};
+static float P025[3] = {46.35, 502.93, 2883.09};
+static float P026[3] = {-46.35, 497.45, 2877.24};
+static float P027[3] = {-121.35, 293.90, 3000.00};
+static float P028[3] = {-150.00, 0.00, 3000.00};
+static float P029[3] = {-152.21, -304.84, 2858.68};
+static float P030[3] = {-46.36, -475.52, 3000.00};
+static float P031[3] = {46.35, -475.53, 3000.00};
+static float P032[3] = {155.64, -304.87, 2863.50};
+static float P033[3] = {90.00, 0.00, 4000.00};
+static float P034[3] = {72.81, 176.33, 4000.00};
+static float P035[3] = {27.81, 285.32, 4000.00};
+static float P036[3] = {-27.81, 285.32, 4000.00};
+static float P037[3] = {-72.81, 176.34, 4000.00};
+static float P038[3] = {-90.00, 0.00, 4000.00};
+static float P039[3] = {-72.81, -176.33, 4000.00};
+static float P040[3] = {-27.81, -285.31, 4000.00};
+static float P041[3] = {27.81, -285.32, 4000.00};
+static float P042[3] = {72.81, -176.34, 4000.00};
+static float P043[3] = {30.00, 0.00, 5000.00};
+static float P044[3] = {24.27, 58.78, 5000.00};
+static float P045[3] = {9.27, 95.11, 5000.00};
+static float P046[3] = {-9.27, 95.11, 5000.00};
+static float P047[3] = {-24.27, 58.78, 5000.00};
+static float P048[3] = {-30.00, 0.00, 5000.00};
+static float P049[3] = {-24.27, -58.78, 5000.00};
+static float P050[3] = {-9.27, -95.10, 5000.00};
+static float P051[3] = {9.27, -95.11, 5000.00};
+static float P052[3] = {24.27, -58.78, 5000.00};
+static float P058[3] = {0.00, 1212.72, 2703.08};
+static float P059[3] = {50.36, 0.00, 108.14};
+static float P060[3] = {-22.18, 0.00, 108.14};
+static float P061[3] = {0.00, 1181.61, 6344.65};
+static float P062[3] = {516.45, -887.08, 2535.45};
+static float P063[3] = {-545.69, -879.31, 2555.63};
+static float P064[3] = {618.89, -1005.64, 2988.32};
+static float P065[3] = {-635.37, -1014.79, 2938.68};
+static float P066[3] = {0.00, 1374.43, 3064.18};
+static float P069[3] = {0.00, -418.25, 5765.04};
+static float P070[3] = {0.00, 1266.91, 6629.60};
+static float P071[3] = {-139.12, -124.96, 997.98};
+static float P072[3] = {-139.24, -110.18, 1020.68};
+static float P073[3] = {-137.33, -94.52, 1022.63};
+static float P074[3] = {-137.03, -79.91, 996.89};
+static float P075[3] = {-135.21, -91.48, 969.14};
+static float P076[3] = {-135.39, -110.87, 968.76};
+static float P077[3] = {150.23, -78.44, 995.53};
+static float P078[3] = {152.79, -92.76, 1018.46};
+static float P079[3] = {154.19, -110.20, 1020.55};
+static float P080[3] = {151.33, -124.15, 993.77};
+static float P081[3] = {150.49, -111.19, 969.86};
+static float P082[3] = {150.79, -92.41, 969.70};
+static float iP002[3] = {0.00, -36.59, 5687.72};
+static float iP004[3] = {58.24, -146.84, 262.35};
+static float iP007[3] = {-46.09, -146.83, 265.84};
+static float iP010[3] = {-27.81, -285.31, 500.00};
+static float iP011[3] = {27.81, -285.32, 500.00};
+static float iP023[3] = {150.00, 0.00, 3000.00};
+static float iP024[3] = {121.35, 293.89, 3000.00};
+static float iP025[3] = {46.35, 502.93, 2883.09};
+static float iP026[3] = {-46.35, 497.45, 2877.24};
+static float iP027[3] = {-121.35, 293.90, 3000.00};
+static float iP028[3] = {-150.00, 0.00, 3000.00};
+static float iP029[3] = {-121.35, -304.84, 2853.86};
+static float iP030[3] = {-46.36, -475.52, 3000.00};
+static float iP031[3] = {46.35, -475.53, 3000.00};
+static float iP032[3] = {121.35, -304.87, 2853.86};
+static float iP033[3] = {90.00, 0.00, 4000.00};
+static float iP034[3] = {72.81, 176.33, 4000.00};
+static float iP035[3] = {27.81, 285.32, 4000.00};
+static float iP036[3] = {-27.81, 285.32, 4000.00};
+static float iP037[3] = {-72.81, 176.34, 4000.00};
+static float iP038[3] = {-90.00, 0.00, 4000.00};
+static float iP039[3] = {-72.81, -176.33, 4000.00};
+static float iP040[3] = {-27.81, -285.31, 4000.00};
+static float iP041[3] = {27.81, -285.32, 4000.00};
+static float iP042[3] = {72.81, -176.34, 4000.00};
+static float iP043[3] = {30.00, 0.00, 5000.00};
+static float iP044[3] = {24.27, 58.78, 5000.00};
+static float iP045[3] = {9.27, 95.11, 5000.00};
+static float iP046[3] = {-9.27, 95.11, 5000.00};
+static float iP047[3] = {-24.27, 58.78, 5000.00};
+static float iP048[3] = {-30.00, 0.00, 5000.00};
+static float iP049[3] = {-24.27, -58.78, 5000.00};
+static float iP050[3] = {-9.27, -95.10, 5000.00};
+static float iP051[3] = {9.27, -95.11, 5000.00};
+static float iP052[3] = {24.27, -58.78, 5000.00};
+static float iP061[3] = {0.00, 1181.61, 6344.65};
+static float iP069[3] = {0.00, -418.25, 5765.04};
+static float iP070[3] = {0.00, 1266.91, 6629.60};
+/* *INDENT-ON* */
+
+void
+Fish001(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P071);
+ glVertex3fv(P072);
+ glVertex3fv(P073);
+ glVertex3fv(P074);
+ glVertex3fv(P075);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P077);
+ glVertex3fv(P078);
+ glVertex3fv(P079);
+ glVertex3fv(P080);
+ glVertex3fv(P081);
+ glVertex3fv(P082);
+ glEnd();
+}
+
+void
+Fish002(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+}
+
+void
+Fish003(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glEnd();
+}
+
+void
+Fish004(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glEnd();
+}
+
+void
+Fish005(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+}
+
+void
+Fish006(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+}
+
+void
+Fish007(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+}
+
+void
+Fish008(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+}
+
+void
+Fish009(void)
+{
+ glBegin(GL_POLYGON);
+ glVertex3fv(P059);
+ glVertex3fv(P012);
+ glVertex3fv(P009);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P012);
+ glVertex3fv(P004);
+ glVertex3fv(P007);
+ glVertex3fv(P009);
+ glEnd();
+}
+
+void
+Fish_1(void)
+{
+ Fish004();
+ Fish005();
+ Fish003();
+ Fish007();
+ Fish006();
+ Fish002();
+ Fish008();
+ Fish009();
+ Fish001();
+}
+
+void
+Fish_2(void)
+{
+ Fish005();
+ Fish004();
+ Fish003();
+ Fish008();
+ Fish006();
+ Fish002();
+ Fish007();
+ Fish009();
+ Fish001();
+}
+
+void
+Fish_3(void)
+{
+ Fish005();
+ Fish004();
+ Fish007();
+ Fish003();
+ Fish002();
+ Fish008();
+ Fish009();
+ Fish001();
+ Fish006();
+}
+
+void
+Fish_4(void)
+{
+ Fish005();
+ Fish004();
+ Fish008();
+ Fish003();
+ Fish002();
+ Fish007();
+ Fish009();
+ Fish001();
+ Fish006();
+}
+
+void
+Fish_5(void)
+{
+ Fish009();
+ Fish006();
+ Fish007();
+ Fish001();
+ Fish002();
+ Fish003();
+ Fish008();
+ Fish004();
+ Fish005();
+}
+
+void
+Fish_6(void)
+{
+ Fish009();
+ Fish006();
+ Fish008();
+ Fish001();
+ Fish002();
+ Fish007();
+ Fish003();
+ Fish004();
+ Fish005();
+}
+
+void
+Fish_7(void)
+{
+ Fish009();
+ Fish001();
+ Fish007();
+ Fish005();
+ Fish002();
+ Fish008();
+ Fish003();
+ Fish004();
+ Fish006();
+}
+
+void
+Fish_8(void)
+{
+ Fish009();
+ Fish008();
+ Fish001();
+ Fish002();
+ Fish007();
+ Fish003();
+ Fish005();
+ Fish004();
+ Fish006();
+}
+
+void
+DrawShark(fishRec * fish)
+{
+ float mat[4][4];
+ int n;
+ float seg1, seg2, seg3, seg4, segup;
+ float thrash, chomp;
+
+ fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360;
+
+ thrash = 50.0 * fish->v;
+
+ seg1 = 0.6 * thrash * sin(fish->htail * RRAD);
+ seg2 = 1.8 * thrash * sin((fish->htail + 45.0) * RRAD);
+ seg3 = 3.0 * thrash * sin((fish->htail + 90.0) * RRAD);
+ seg4 = 4.0 * thrash * sin((fish->htail + 110.0) * RRAD);
+
+ chomp = 0.0;
+ if (fish->v > 2.0) {
+ chomp = -(fish->v - 2.0) * 200.0;
+ }
+ P004[1] = iP004[1] + chomp;
+ P007[1] = iP007[1] + chomp;
+ P010[1] = iP010[1] + chomp;
+ P011[1] = iP011[1] + chomp;
+
+ P023[0] = iP023[0] + seg1;
+ P024[0] = iP024[0] + seg1;
+ P025[0] = iP025[0] + seg1;
+ P026[0] = iP026[0] + seg1;
+ P027[0] = iP027[0] + seg1;
+ P028[0] = iP028[0] + seg1;
+ P029[0] = iP029[0] + seg1;
+ P030[0] = iP030[0] + seg1;
+ P031[0] = iP031[0] + seg1;
+ P032[0] = iP032[0] + seg1;
+ P033[0] = iP033[0] + seg2;
+ P034[0] = iP034[0] + seg2;
+ P035[0] = iP035[0] + seg2;
+ P036[0] = iP036[0] + seg2;
+ P037[0] = iP037[0] + seg2;
+ P038[0] = iP038[0] + seg2;
+ P039[0] = iP039[0] + seg2;
+ P040[0] = iP040[0] + seg2;
+ P041[0] = iP041[0] + seg2;
+ P042[0] = iP042[0] + seg2;
+ P043[0] = iP043[0] + seg3;
+ P044[0] = iP044[0] + seg3;
+ P045[0] = iP045[0] + seg3;
+ P046[0] = iP046[0] + seg3;
+ P047[0] = iP047[0] + seg3;
+ P048[0] = iP048[0] + seg3;
+ P049[0] = iP049[0] + seg3;
+ P050[0] = iP050[0] + seg3;
+ P051[0] = iP051[0] + seg3;
+ P052[0] = iP052[0] + seg3;
+ P002[0] = iP002[0] + seg4;
+ P061[0] = iP061[0] + seg4;
+ P069[0] = iP069[0] + seg4;
+ P070[0] = iP070[0] + seg4;
+
+ fish->vtail += ((fish->dtheta - fish->vtail) * 0.1);
+
+ if (fish->vtail > 0.5) {
+ fish->vtail = 0.5;
+ } else if (fish->vtail < -0.5) {
+ fish->vtail = -0.5;
+ }
+ segup = thrash * fish->vtail;
+
+ P023[1] = iP023[1] + segup;
+ P024[1] = iP024[1] + segup;
+ P025[1] = iP025[1] + segup;
+ P026[1] = iP026[1] + segup;
+ P027[1] = iP027[1] + segup;
+ P028[1] = iP028[1] + segup;
+ P029[1] = iP029[1] + segup;
+ P030[1] = iP030[1] + segup;
+ P031[1] = iP031[1] + segup;
+ P032[1] = iP032[1] + segup;
+ P033[1] = iP033[1] + segup * 5.0;
+ P034[1] = iP034[1] + segup * 5.0;
+ P035[1] = iP035[1] + segup * 5.0;
+ P036[1] = iP036[1] + segup * 5.0;
+ P037[1] = iP037[1] + segup * 5.0;
+ P038[1] = iP038[1] + segup * 5.0;
+ P039[1] = iP039[1] + segup * 5.0;
+ P040[1] = iP040[1] + segup * 5.0;
+ P041[1] = iP041[1] + segup * 5.0;
+ P042[1] = iP042[1] + segup * 5.0;
+ P043[1] = iP043[1] + segup * 12.0;
+ P044[1] = iP044[1] + segup * 12.0;
+ P045[1] = iP045[1] + segup * 12.0;
+ P046[1] = iP046[1] + segup * 12.0;
+ P047[1] = iP047[1] + segup * 12.0;
+ P048[1] = iP048[1] + segup * 12.0;
+ P049[1] = iP049[1] + segup * 12.0;
+ P050[1] = iP050[1] + segup * 12.0;
+ P051[1] = iP051[1] + segup * 12.0;
+ P052[1] = iP052[1] + segup * 12.0;
+ P002[1] = iP002[1] + segup * 17.0;
+ P061[1] = iP061[1] + segup * 17.0;
+ P069[1] = iP069[1] + segup * 17.0;
+ P070[1] = iP070[1] + segup * 17.0;
+
+ glPushMatrix();
+
+ glTranslatef(0.0, 0.0, -3000.0);
+
+ glGetFloatv(GL_MODELVIEW_MATRIX, &mat[0][0]);
+ n = 0;
+ if (mat[0][2] >= 0.0) {
+ n += 1;
+ }
+ if (mat[1][2] >= 0.0) {
+ n += 2;
+ }
+ if (mat[2][2] >= 0.0) {
+ n += 4;
+ }
+ glScalef(2.0, 1.0, 1.0);
+
+ glEnable(GL_CULL_FACE);
+ switch (n) {
+ case 0:
+ Fish_1();
+ break;
+ case 1:
+ Fish_2();
+ break;
+ case 2:
+ Fish_3();
+ break;
+ case 3:
+ Fish_4();
+ break;
+ case 4:
+ Fish_5();
+ break;
+ case 5:
+ Fish_6();
+ break;
+ case 6:
+ Fish_7();
+ break;
+ case 7:
+ Fish_8();
+ break;
+ }
+ glDisable(GL_CULL_FACE);
+
+ glPopMatrix();
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/swim.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/swim.c
new file mode 100644
index 0000000..cac7b60
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/swim.c
@@ -0,0 +1,188 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <math.h>
+#include <stdlib.h> /* For rand(). */
+#include <GLUT/glut.h>
+#include "atlantis.h"
+
+void
+FishTransform(fishRec * fish)
+{
+
+ glTranslatef(fish->y, fish->z, -fish->x);
+ glRotatef(-fish->psi, 0.0, 1.0, 0.0);
+ glRotatef(fish->theta, 1.0, 0.0, 0.0);
+ glRotatef(-fish->phi, 0.0, 0.0, 1.0);
+}
+
+void
+WhalePilot(fishRec * fish)
+{
+
+ fish->phi = -20.0;
+ fish->theta = 0.0;
+ fish->psi -= 0.5;
+
+ fish->x += WHALESPEED * fish->v * cos(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->y += WHALESPEED * fish->v * sin(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->z += WHALESPEED * fish->v * sin(fish->theta / RAD);
+}
+
+void
+SharkPilot(fishRec * fish)
+{
+ static int sign = 1;
+ float X, Y, Z, tpsi, ttheta, thetal;
+
+ fish->xt = 60000.0;
+ fish->yt = 0.0;
+ fish->zt = 0.0;
+
+ X = fish->xt - fish->x;
+ Y = fish->yt - fish->y;
+ Z = fish->zt - fish->z;
+
+ thetal = fish->theta;
+
+ ttheta = RAD * atan(Z / (sqrt(X * X + Y * Y)));
+
+ if (ttheta > fish->theta + 0.25) {
+ fish->theta += 0.5;
+ } else if (ttheta < fish->theta - 0.25) {
+ fish->theta -= 0.5;
+ }
+ if (fish->theta > 90.0) {
+ fish->theta = 90.0;
+ }
+ if (fish->theta < -90.0) {
+ fish->theta = -90.0;
+ }
+ fish->dtheta = fish->theta - thetal;
+
+ tpsi = RAD * atan2(Y, X);
+
+ fish->attack = 0;
+
+ if (fabs(tpsi - fish->psi) < 10.0) {
+ fish->attack = 1;
+ } else if (fabs(tpsi - fish->psi) < 45.0) {
+ if (fish->psi > tpsi) {
+ fish->psi -= 0.5;
+ if (fish->psi < -180.0) {
+ fish->psi += 360.0;
+ }
+ } else if (fish->psi < tpsi) {
+ fish->psi += 0.5;
+ if (fish->psi > 180.0) {
+ fish->psi -= 360.0;
+ }
+ }
+ } else {
+ if (rand() % 100 > 98) {
+ sign = 1 - sign;
+ }
+ fish->psi += sign;
+ if (fish->psi > 180.0) {
+ fish->psi -= 360.0;
+ }
+ if (fish->psi < -180.0) {
+ fish->psi += 360.0;
+ }
+ }
+
+ if (fish->attack) {
+ if (fish->v < 1.1) {
+ fish->spurt = 1;
+ }
+ if (fish->spurt) {
+ fish->v += 0.2;
+ }
+ if (fish->v > 5.0) {
+ fish->spurt = 0;
+ }
+ if ((fish->v > 1.0) && (!fish->spurt)) {
+ fish->v -= 0.2;
+ }
+ } else {
+ if (!(rand() % 400) && (!fish->spurt)) {
+ fish->spurt = 1;
+ }
+ if (fish->spurt) {
+ fish->v += 0.05;
+ }
+ if (fish->v > 3.0) {
+ fish->spurt = 0;
+ }
+ if ((fish->v > 1.0) && (!fish->spurt)) {
+ fish->v -= 0.05;
+ }
+ }
+
+ fish->x += SHARKSPEED * fish->v * cos(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->y += SHARKSPEED * fish->v * sin(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->z += SHARKSPEED * fish->v * sin(fish->theta / RAD);
+}
+
+void
+SharkMiss(int i)
+{
+ int j;
+ float avoid, thetal;
+ float X, Y, Z, R;
+
+ for (j = 0; j < NUM_SHARKS; j++) {
+ if (j != i) {
+ X = sharks[j].x - sharks[i].x;
+ Y = sharks[j].y - sharks[i].y;
+ Z = sharks[j].z - sharks[i].z;
+
+ R = sqrt(X * X + Y * Y + Z * Z);
+
+ avoid = 1.0;
+ thetal = sharks[i].theta;
+
+ if (R < SHARKSIZE) {
+ if (Z > 0.0) {
+ sharks[i].theta -= avoid;
+ } else {
+ sharks[i].theta += avoid;
+ }
+ }
+ sharks[i].dtheta += (sharks[i].theta - thetal);
+ }
+ }
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/whale.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/whale.c
new file mode 100644
index 0000000..828640a
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/whale.c
@@ -0,0 +1,1798 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <GLUT/glut.h>
+#include <math.h>
+#include "atlantis.h"
+/* *INDENT-OFF* */
+static float N001[3] = {0.019249 ,0.011340 ,-0.999750};
+static float N002[3] = {-0.132579 ,0.954547 ,0.266952};
+static float N003[3] = {-0.196061 ,0.980392 ,-0.019778};
+static float N004[3] = {0.695461 ,0.604704 ,0.388158};
+static float N005[3] = {0.870600 ,0.425754 ,0.246557};
+static float N006[3] = {-0.881191 ,0.392012 ,0.264251};
+static float N008[3] = {-0.341437 ,0.887477 ,0.309523};
+static float N009[3] = {0.124035 ,-0.992278 ,0.000000};
+static float N010[3] = {0.242536 ,0.000000 ,-0.970143};
+static float N011[3] = {0.588172 ,0.000000 ,0.808736};
+static float N012[3] = {0.929824 ,-0.340623 ,-0.139298};
+static float N013[3] = {0.954183 ,0.267108 ,-0.134865};
+static float N014[3] = {0.495127 ,0.855436 ,-0.151914};
+static float N015[3] = {-0.390199 ,0.906569 ,-0.160867};
+static float N016[3] = {-0.923605 ,0.354581 ,-0.145692};
+static float N017[3] = {-0.955796 ,-0.260667 ,-0.136036};
+static float N018[3] = {-0.501283 ,-0.853462 ,-0.142540};
+static float N019[3] = {0.405300 ,-0.901974 ,-0.148913};
+static float N020[3] = {0.909913 ,-0.392746 ,-0.133451};
+static float N021[3] = {0.936494 ,0.331147 ,-0.115414};
+static float N022[3] = {0.600131 ,0.793724 ,-0.099222};
+static float N023[3] = {-0.231556 ,0.968361 ,-0.093053};
+static float N024[3] = {-0.844369 ,0.525330 ,-0.105211};
+static float N025[3] = {-0.982725 ,-0.136329 ,-0.125164};
+static float N026[3] = {-0.560844 ,-0.822654 ,-0.093241};
+static float N027[3] = {0.263884 ,-0.959981 ,-0.093817};
+static float N028[3] = {0.842057 ,-0.525192 ,-0.122938};
+static float N029[3] = {0.921620 ,0.367565 ,-0.124546};
+static float N030[3] = {0.613927 ,0.784109 ,-0.090918};
+static float N031[3] = {-0.448754 ,0.888261 ,-0.098037};
+static float N032[3] = {-0.891865 ,0.434376 ,-0.126077};
+static float N033[3] = {-0.881447 ,-0.448017 ,-0.149437};
+static float N034[3] = {-0.345647 ,-0.922057 ,-0.174183};
+static float N035[3] = {0.307998 ,-0.941371 ,-0.137688};
+static float N036[3] = {0.806316 ,-0.574647 ,-0.140124};
+static float N037[3] = {0.961346 ,0.233646 ,-0.145681};
+static float N038[3] = {0.488451 ,0.865586 ,-0.110351};
+static float N039[3] = {-0.374290 ,0.921953 ,-0.099553};
+static float N040[3] = {-0.928504 ,0.344533 ,-0.138485};
+static float N041[3] = {-0.918419 ,-0.371792 ,-0.135189};
+static float N042[3] = {-0.520666 ,-0.833704 ,-0.183968};
+static float N043[3] = {0.339204 ,-0.920273 ,-0.195036};
+static float N044[3] = {0.921475 ,-0.387382 ,-0.028636};
+static float N045[3] = {0.842465 ,0.533335 ,-0.076204};
+static float N046[3] = {0.380110 ,0.924939 ,0.002073};
+static float N047[3] = {-0.276128 ,0.961073 ,-0.009579};
+static float N048[3] = {-0.879684 ,0.473001 ,-0.049250};
+static float N049[3] = {-0.947184 ,-0.317614 ,-0.044321};
+static float N050[3] = {-0.642059 ,-0.764933 ,-0.051363};
+static float N051[3] = {0.466794 ,-0.880921 ,-0.077990};
+static float N052[3] = {0.898509 ,-0.432277 ,0.076279};
+static float N053[3] = {0.938985 ,0.328141 ,0.103109};
+static float N054[3] = {0.442420 ,0.895745 ,0.043647};
+static float N055[3] = {-0.255163 ,0.966723 ,0.018407};
+static float N056[3] = {-0.833769 ,0.540650 ,0.111924};
+static float N057[3] = {-0.953653 ,-0.289939 ,0.080507};
+static float N058[3] = {-0.672357 ,-0.730524 ,0.119461};
+static float N059[3] = {0.522249 ,-0.846652 ,0.102157};
+static float N060[3] = {0.885868 ,-0.427631 ,0.179914};
+static float N062[3] = {0.648942 ,0.743116 ,0.163255};
+static float N063[3] = {-0.578967 ,0.807730 ,0.111219};
+static float N065[3] = {-0.909864 ,-0.352202 ,0.219321};
+static float N066[3] = {-0.502541 ,-0.818090 ,0.279610};
+static float N067[3] = {0.322919 ,-0.915358 ,0.240504};
+static float N068[3] = {0.242536 ,0.000000 ,-0.970143};
+static float N069[3] = {0.000000 ,1.000000 ,0.000000};
+static float N070[3] = {0.000000 ,1.000000 ,0.000000};
+static float N071[3] = {0.000000 ,1.000000 ,0.000000};
+static float N072[3] = {0.000000 ,1.000000 ,0.000000};
+static float N073[3] = {0.000000 ,1.000000 ,0.000000};
+static float N074[3] = {0.000000 ,1.000000 ,0.000000};
+static float N075[3] = {0.031220 ,0.999025 ,-0.031220};
+static float N076[3] = {0.000000 ,1.000000 ,0.000000};
+static float N077[3] = {0.446821 ,0.893642 ,0.041889};
+static float N078[3] = {0.863035 ,-0.100980 ,0.494949};
+static float N079[3] = {0.585597 ,-0.808215 ,0.062174};
+static float N080[3] = {0.000000 ,1.000000 ,0.000000};
+static float N081[3] = {1.000000 ,0.000000 ,0.000000};
+static float N082[3] = {0.000000 ,1.000000 ,0.000000};
+static float N083[3] = {-1.000000 ,0.000000 ,0.000000};
+static float N084[3] = {-0.478893 ,0.837129 ,-0.264343};
+static float N085[3] = {0.000000 ,1.000000 ,0.000000};
+static float N086[3] = {0.763909 ,0.539455 ,-0.354163};
+static float N087[3] = {0.446821 ,0.893642 ,0.041889};
+static float N088[3] = {0.385134 ,-0.908288 ,0.163352};
+static float N089[3] = {-0.605952 ,0.779253 ,-0.159961};
+static float N090[3] = {0.000000 ,1.000000 ,0.000000};
+static float N091[3] = {0.000000 ,1.000000 ,0.000000};
+static float N092[3] = {0.000000 ,1.000000 ,0.000000};
+static float N093[3] = {0.000000 ,1.000000 ,0.000000};
+static float N094[3] = {1.000000 ,0.000000 ,0.000000};
+static float N095[3] = {-1.000000 ,0.000000 ,0.000000};
+static float N096[3] = {0.644444 ,-0.621516 ,0.445433};
+static float N097[3] = {-0.760896 ,-0.474416 ,0.442681};
+static float N098[3] = {0.636888 ,-0.464314 ,0.615456};
+static float N099[3] = {-0.710295 ,0.647038 ,0.277168};
+static float N100[3] = {0.009604 ,0.993655 ,0.112063};
+static float iP001[3] = {18.74, 13.19, 3.76};
+static float P001[3] = {18.74, 13.19, 3.76};
+static float P002[3] = {0.00, 390.42, 10292.57};
+static float P003[3] = {55.80, 622.31, 8254.35};
+static float P004[3] = {20.80, 247.66, 10652.13};
+static float P005[3] = {487.51, 198.05, 9350.78};
+static float P006[3] = {-457.61, 199.04, 9353.01};
+static float P008[3] = {-34.67, 247.64, 10663.71};
+static float iP009[3] = {97.46, 67.63, 593.82};
+static float iP010[3] = {-84.33, 67.63, 588.18};
+static float iP011[3] = {118.69, 8.98, -66.91};
+static float P009[3] = {97.46, 67.63, 593.82};
+static float P010[3] = {-84.33, 67.63, 588.18};
+static float P011[3] = {118.69, 8.98, -66.91};
+static float iP012[3] = {156.48, -31.95, 924.54};
+static float iP013[3] = {162.00, 110.22, 924.54};
+static float iP014[3] = {88.16, 221.65, 924.54};
+static float iP015[3] = {-65.21, 231.16, 924.54};
+static float iP016[3] = {-156.48, 121.97, 924.54};
+static float iP017[3] = {-162.00, -23.93, 924.54};
+static float iP018[3] = {-88.16, -139.10, 924.54};
+static float iP019[3] = {65.21, -148.61, 924.54};
+static float iP020[3] = {246.87, -98.73, 1783.04};
+static float iP021[3] = {253.17, 127.76, 1783.04};
+static float iP022[3] = {132.34, 270.77, 1783.04};
+static float iP023[3] = {-97.88, 285.04, 1783.04};
+static float iP024[3] = {-222.97, 139.80, 1783.04};
+static float iP025[3] = {-225.29, -86.68, 1783.04};
+static float iP026[3] = {-108.44, -224.15, 1783.04};
+static float iP027[3] = {97.88, -221.56, 1783.04};
+static float iP028[3] = {410.55, -200.66, 3213.87};
+static float iP029[3] = {432.19, 148.42, 3213.87};
+static float iP030[3] = {200.66, 410.55, 3213.87};
+static float iP031[3] = {-148.42, 432.19, 3213.87};
+static float iP032[3] = {-407.48, 171.88, 3213.87};
+static float iP033[3] = {-432.19, -148.42, 3213.87};
+static float iP034[3] = {-148.88, -309.74, 3213.87};
+static float iP035[3] = {156.38, -320.17, 3213.87};
+static float iP036[3] = {523.39, -303.81, 4424.57};
+static float iP037[3] = {574.66, 276.84, 4424.57};
+static float iP038[3] = {243.05, 492.50, 4424.57};
+static float iP039[3] = {-191.23, 520.13, 4424.57};
+static float iP040[3] = {-523.39, 304.01, 4424.57};
+static float iP041[3] = {-574.66, -231.83, 4424.57};
+static float iP042[3] = {-266.95, -578.17, 4424.57};
+static float iP043[3] = {211.14, -579.67, 4424.57};
+static float iP044[3] = {680.57, -370.27, 5943.46};
+static float iP045[3] = {834.01, 363.09, 5943.46};
+static float iP046[3] = {371.29, 614.13, 5943.46};
+static float iP047[3] = {-291.43, 621.86, 5943.46};
+static float iP048[3] = {-784.13, 362.60, 5943.46};
+static float iP049[3] = {-743.29, -325.82, 5943.46};
+static float iP050[3] = {-383.24, -804.77, 5943.46};
+static float iP051[3] = {283.47, -846.09, 5943.46};
+static float P012[3] = {156.48, -31.95, 924.54};
+static float P013[3] = {162.00, 110.22, 924.54};
+static float P014[3] = {88.16, 221.65, 924.54};
+static float P015[3] = {-65.21, 231.16, 924.54};
+static float P016[3] = {-156.48, 121.97, 924.54};
+static float P017[3] = {-162.00, -23.93, 924.54};
+static float P018[3] = {-88.16, -139.10, 924.54};
+static float P019[3] = {65.21, -148.61, 924.54};
+static float P020[3] = {246.87, -98.73, 1783.04};
+static float P021[3] = {253.17, 127.76, 1783.04};
+static float P022[3] = {132.34, 270.77, 1783.04};
+static float P023[3] = {-97.88, 285.04, 1783.04};
+static float P024[3] = {-222.97, 139.80, 1783.04};
+static float P025[3] = {-225.29, -86.68, 1783.04};
+static float P026[3] = {-108.44, -224.15, 1783.04};
+static float P027[3] = {97.88, -221.56, 1783.04};
+static float P028[3] = {410.55, -200.66, 3213.87};
+static float P029[3] = {432.19, 148.42, 3213.87};
+static float P030[3] = {200.66, 410.55, 3213.87};
+static float P031[3] = {-148.42, 432.19, 3213.87};
+static float P032[3] = {-407.48, 171.88, 3213.87};
+static float P033[3] = {-432.19, -148.42, 3213.87};
+static float P034[3] = {-148.88, -309.74, 3213.87};
+static float P035[3] = {156.38, -320.17, 3213.87};
+static float P036[3] = {523.39, -303.81, 4424.57};
+static float P037[3] = {574.66, 276.84, 4424.57};
+static float P038[3] = {243.05, 492.50, 4424.57};
+static float P039[3] = {-191.23, 520.13, 4424.57};
+static float P040[3] = {-523.39, 304.01, 4424.57};
+static float P041[3] = {-574.66, -231.83, 4424.57};
+static float P042[3] = {-266.95, -578.17, 4424.57};
+static float P043[3] = {211.14, -579.67, 4424.57};
+static float P044[3] = {680.57, -370.27, 5943.46};
+static float P045[3] = {834.01, 363.09, 5943.46};
+static float P046[3] = {371.29, 614.13, 5943.46};
+static float P047[3] = {-291.43, 621.86, 5943.46};
+static float P048[3] = {-784.13, 362.60, 5943.46};
+static float P049[3] = {-743.29, -325.82, 5943.46};
+static float P050[3] = {-383.24, -804.77, 5943.46};
+static float P051[3] = {283.47, -846.09, 5943.46};
+static float P052[3] = {599.09, -332.24, 7902.59};
+static float P053[3] = {735.48, 306.26, 7911.92};
+static float P054[3] = {321.55, 558.53, 7902.59};
+static float P055[3] = {-260.54, 559.84, 7902.59};
+static float P056[3] = {-698.66, 320.83, 7902.59};
+static float P057[3] = {-643.29, -299.16, 7902.59};
+static float P058[3] = {-341.47, -719.30, 7902.59};
+static float P059[3] = {252.57, -756.12, 7902.59};
+static float P060[3] = {458.39, -265.31, 9355.44};
+static float P062[3] = {224.04, 438.98, 9364.77};
+static float P063[3] = {-165.71, 441.27, 9355.44};
+static float P065[3] = {-473.99, -219.71, 9355.44};
+static float P066[3] = {-211.97, -479.87, 9355.44};
+static float P067[3] = {192.86, -504.03, 9355.44};
+static float iP068[3] = {-112.44, 9.25, -64.42};
+static float iP069[3] = {1155.63, 0.00, -182.46};
+static float iP070[3] = {-1143.13, 0.00, -181.54};
+static float iP071[3] = {1424.23, 0.00, -322.09};
+static float iP072[3] = {-1368.01, 0.00, -310.38};
+static float iP073[3] = {1255.57, 2.31, 114.05};
+static float iP074[3] = {-1149.38, 0.00, 117.12};
+static float iP075[3] = {718.36, 0.00, 433.36};
+static float iP076[3] = {-655.90, 0.00, 433.36};
+static float P068[3] = {-112.44, 9.25, -64.42};
+static float P069[3] = {1155.63, 0.00, -182.46};
+static float P070[3] = {-1143.13, 0.00, -181.54};
+static float P071[3] = {1424.23, 0.00, -322.09};
+static float P072[3] = {-1368.01, 0.00, -310.38};
+static float P073[3] = {1255.57, 2.31, 114.05};
+static float P074[3] = {-1149.38, 0.00, 117.12};
+static float P075[3] = {718.36, 0.00, 433.36};
+static float P076[3] = {-655.90, 0.00, 433.36};
+static float P077[3] = {1058.00, -2.66, 7923.51};
+static float P078[3] = {-1016.51, -15.47, 7902.87};
+static float P079[3] = {-1363.99, -484.50, 7593.38};
+static float P080[3] = {1478.09, -861.47, 7098.12};
+static float P081[3] = {1338.06, -284.68, 7024.15};
+static float P082[3] = {-1545.51, -860.64, 7106.60};
+static float P083[3] = {1063.19, -70.46, 7466.60};
+static float P084[3] = {-1369.18, -288.11, 7015.34};
+static float P085[3] = {1348.44, -482.50, 7591.41};
+static float P086[3] = {-1015.45, -96.80, 7474.86};
+static float P087[3] = {731.04, 148.38, 7682.58};
+static float P088[3] = {-697.03, 151.82, 7668.81};
+static float P089[3] = {-686.82, 157.09, 7922.29};
+static float P090[3] = {724.73, 147.75, 7931.39};
+static float iP091[3] = {0.00, 327.10, 2346.55};
+static float iP092[3] = {0.00, 552.28, 2311.31};
+static float iP093[3] = {0.00, 721.16, 2166.41};
+static float iP094[3] = {0.00, 693.42, 2388.80};
+static float iP095[3] = {0.00, 389.44, 2859.97};
+static float P091[3] = {0.00, 327.10, 2346.55};
+static float P092[3] = {0.00, 552.28, 2311.31};
+static float P093[3] = {0.00, 721.16, 2166.41};
+static float P094[3] = {0.00, 693.42, 2388.80};
+static float P095[3] = {0.00, 389.44, 2859.97};
+static float iP096[3] = {222.02, -183.67, 10266.89};
+static float iP097[3] = {-128.90, -182.70, 10266.89};
+static float iP098[3] = {41.04, 88.31, 10659.36};
+static float iP099[3] = {-48.73, 88.30, 10659.36};
+static float P096[3] = {222.02, -183.67, 10266.89};
+static float P097[3] = {-128.90, -182.70, 10266.89};
+static float P098[3] = {41.04, 88.31, 10659.36};
+static float P099[3] = {-48.73, 88.30, 10659.36};
+static float P100[3] = {0.00, 603.42, 9340.68};
+static float P104[3] = {-9.86, 567.62, 7858.65};
+static float P105[3] = {31.96, 565.27, 7908.46};
+static float P106[3] = {22.75, 568.13, 7782.83};
+static float P107[3] = {58.93, 568.42, 7775.94};
+static float P108[3] = {55.91, 565.59, 7905.86};
+static float P109[3] = {99.21, 566.00, 7858.65};
+static float P110[3] = {-498.83, 148.14, 9135.10};
+static float P111[3] = {-495.46, 133.24, 9158.48};
+static float P112[3] = {-490.82, 146.23, 9182.76};
+static float P113[3] = {-489.55, 174.11, 9183.66};
+static float P114[3] = {-492.92, 189.00, 9160.28};
+static float P115[3] = {-497.56, 176.02, 9136.00};
+static float P116[3] = {526.54, 169.68, 9137.70};
+static float P117[3] = {523.49, 184.85, 9161.42};
+static float P118[3] = {518.56, 171.78, 9186.06};
+static float P119[3] = {516.68, 143.53, 9186.98};
+static float P120[3] = {519.73, 128.36, 9163.26};
+static float P121[3] = {524.66, 141.43, 9138.62};
+/* *INDENT-ON* */
+
+void
+Whale001(void)
+{
+
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N072);
+ glVertex3fv(P072);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N072);
+ glVertex3fv(P072);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+}
+
+void
+Whale002(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N071);
+ glVertex3fv(P071);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N071);
+ glVertex3fv(P071);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glEnd();
+}
+
+void
+Whale003(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glEnd();
+}
+
+void
+Whale004(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glEnd();
+}
+
+void
+Whale005(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+}
+
+void
+Whale006(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glEnd();
+}
+
+void
+Whale007(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+}
+
+void
+Whale008(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glEnd();
+}
+
+void
+Whale009(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+}
+
+void
+Whale010(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+}
+
+void
+Whale011(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+}
+
+void
+Whale012(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+}
+
+void
+Whale013(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P005);
+ glVertex3fv(P006);
+ glVertex3fv(P099);
+ glVertex3fv(P098);
+ glEnd();
+}
+
+void
+Whale014(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P006);
+ glVertex3fv(P005);
+ glVertex3fv(P004);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glEnd();
+}
+
+void
+Whale015(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glEnd();
+}
+
+void
+Whale016(void)
+{
+ glBegin(GL_POLYGON);
+ glVertex3fv(P104);
+ glVertex3fv(P105);
+ glVertex3fv(P106);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P107);
+ glVertex3fv(P108);
+ glVertex3fv(P109);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P110);
+ glVertex3fv(P111);
+ glVertex3fv(P112);
+ glVertex3fv(P113);
+ glVertex3fv(P114);
+ glVertex3fv(P115);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P116);
+ glVertex3fv(P117);
+ glVertex3fv(P118);
+ glVertex3fv(P119);
+ glVertex3fv(P120);
+ glVertex3fv(P121);
+ glEnd();
+}
+
+void
+DrawWhale(fishRec * fish)
+{
+ float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
+ float pitch, thrash, chomp;
+
+ fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360;
+
+ thrash = 70.0 * fish->v;
+
+ seg0 = 1.5 * thrash * sin((fish->htail) * RRAD);
+ seg1 = 2.5 * thrash * sin((fish->htail + 10.0) * RRAD);
+ seg2 = 3.7 * thrash * sin((fish->htail + 15.0) * RRAD);
+ seg3 = 4.8 * thrash * sin((fish->htail + 23.0) * RRAD);
+ seg4 = 6.0 * thrash * sin((fish->htail + 28.0) * RRAD);
+ seg5 = 6.5 * thrash * sin((fish->htail + 35.0) * RRAD);
+ seg6 = 6.5 * thrash * sin((fish->htail + 40.0) * RRAD);
+ seg7 = 6.5 * thrash * sin((fish->htail + 55.0) * RRAD);
+
+ pitch = fish->v * sin((fish->htail - 160.0) * RRAD);
+
+ chomp = 0.0;
+ if (fish->v > 2.0) {
+ chomp = -(fish->v - 2.0) * 200.0;
+ }
+ P012[1] = iP012[1] + seg5;
+ P013[1] = iP013[1] + seg5;
+ P014[1] = iP014[1] + seg5;
+ P015[1] = iP015[1] + seg5;
+ P016[1] = iP016[1] + seg5;
+ P017[1] = iP017[1] + seg5;
+ P018[1] = iP018[1] + seg5;
+ P019[1] = iP019[1] + seg5;
+
+ P020[1] = iP020[1] + seg4;
+ P021[1] = iP021[1] + seg4;
+ P022[1] = iP022[1] + seg4;
+ P023[1] = iP023[1] + seg4;
+ P024[1] = iP024[1] + seg4;
+ P025[1] = iP025[1] + seg4;
+ P026[1] = iP026[1] + seg4;
+ P027[1] = iP027[1] + seg4;
+
+ P028[1] = iP028[1] + seg2;
+ P029[1] = iP029[1] + seg2;
+ P030[1] = iP030[1] + seg2;
+ P031[1] = iP031[1] + seg2;
+ P032[1] = iP032[1] + seg2;
+ P033[1] = iP033[1] + seg2;
+ P034[1] = iP034[1] + seg2;
+ P035[1] = iP035[1] + seg2;
+
+ P036[1] = iP036[1] + seg1;
+ P037[1] = iP037[1] + seg1;
+ P038[1] = iP038[1] + seg1;
+ P039[1] = iP039[1] + seg1;
+ P040[1] = iP040[1] + seg1;
+ P041[1] = iP041[1] + seg1;
+ P042[1] = iP042[1] + seg1;
+ P043[1] = iP043[1] + seg1;
+
+ P044[1] = iP044[1] + seg0;
+ P045[1] = iP045[1] + seg0;
+ P046[1] = iP046[1] + seg0;
+ P047[1] = iP047[1] + seg0;
+ P048[1] = iP048[1] + seg0;
+ P049[1] = iP049[1] + seg0;
+ P050[1] = iP050[1] + seg0;
+ P051[1] = iP051[1] + seg0;
+
+ P009[1] = iP009[1] + seg6;
+ P010[1] = iP010[1] + seg6;
+ P075[1] = iP075[1] + seg6;
+ P076[1] = iP076[1] + seg6;
+
+ P001[1] = iP001[1] + seg7;
+ P011[1] = iP011[1] + seg7;
+ P068[1] = iP068[1] + seg7;
+ P069[1] = iP069[1] + seg7;
+ P070[1] = iP070[1] + seg7;
+ P071[1] = iP071[1] + seg7;
+ P072[1] = iP072[1] + seg7;
+ P073[1] = iP073[1] + seg7;
+ P074[1] = iP074[1] + seg7;
+
+ P091[1] = iP091[1] + seg3 * 1.1;
+ P092[1] = iP092[1] + seg3;
+ P093[1] = iP093[1] + seg3;
+ P094[1] = iP094[1] + seg3;
+ P095[1] = iP095[1] + seg3 * 0.9;
+
+ P099[1] = iP099[1] + chomp;
+ P098[1] = iP098[1] + chomp;
+ P097[1] = iP097[1] + chomp;
+ P096[1] = iP096[1] + chomp;
+
+ glPushMatrix();
+
+ glRotatef(pitch, 1.0, 0.0, 0.0);
+
+ glTranslatef(0.0, 0.0, 8000.0);
+
+ glRotatef(180.0, 0.0, 1.0, 0.0);
+
+ glScalef(3.0, 3.0, 3.0);
+
+ glEnable(GL_CULL_FACE);
+
+ Whale001();
+ Whale002();
+ Whale003();
+ Whale004();
+ Whale005();
+ Whale006();
+ Whale007();
+ Whale008();
+ Whale009();
+ Whale010();
+ Whale011();
+ Whale012();
+ Whale013();
+ Whale014();
+ Whale015();
+ Whale016();
+
+ glDisable(GL_CULL_FACE);
+
+ glPopMatrix();
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/main.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/main.c
new file mode 100644
index 0000000..b7794b3
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/main.c
@@ -0,0 +1,179 @@
+
+/* Simple program: Create a blank window, wait for keypress, quit.
+
+ Please see the SDL documentation for details on using the SDL API:
+ /Developer/Documentation/SDL/docs.html
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "SDL.h"
+
+extern void Atlantis_Init ();
+extern void Atlantis_Reshape (int w, int h);
+extern void Atlantis_Animate ();
+extern void Atlantis_Display ();
+
+static SDL_Surface *gScreen;
+
+static void initAttributes ()
+{
+ // Setup attributes we want for the OpenGL context
+
+ int value;
+
+ // Don't set color bit sizes (SDL_GL_RED_SIZE, etc)
+ // Mac OS X will always use 8-8-8-8 ARGB for 32-bit screens and
+ // 5-5-5 RGB for 16-bit screens
+
+ // Request a 16-bit depth buffer (without this, there is no depth buffer)
+ value = 16;
+ SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE, value);
+
+
+ // Request double-buffered OpenGL
+ // The fact that windows are double-buffered on Mac OS X has no effect
+ // on OpenGL double buffering.
+ value = 1;
+ SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, value);
+}
+
+static void printAttributes ()
+{
+ // Print out attributes of the context we created
+ int nAttr;
+ int i;
+
+ int attr[] = { SDL_GL_RED_SIZE, SDL_GL_BLUE_SIZE, SDL_GL_GREEN_SIZE,
+ SDL_GL_ALPHA_SIZE, SDL_GL_BUFFER_SIZE, SDL_GL_DEPTH_SIZE };
+
+ char *desc[] = { "Red size: %d bits\n", "Blue size: %d bits\n", "Green size: %d bits\n",
+ "Alpha size: %d bits\n", "Color buffer size: %d bits\n",
+ "Depth bufer size: %d bits\n" };
+
+ nAttr = sizeof(attr) / sizeof(int);
+
+ for (i = 0; i < nAttr; i++) {
+
+ int value;
+ SDL_GL_GetAttribute (attr[i], &value);
+ printf (desc[i], value);
+ }
+}
+
+static void createSurface (int fullscreen)
+{
+ Uint32 flags = 0;
+
+ flags = SDL_OPENGL;
+ if (fullscreen)
+ flags |= SDL_FULLSCREEN;
+
+ // Create window
+ gScreen = SDL_SetVideoMode (640, 480, 0, flags);
+ if (gScreen == NULL) {
+
+ fprintf (stderr, "Couldn't set 640x480 OpenGL video mode: %s\n",
+ SDL_GetError());
+ SDL_Quit();
+ exit(2);
+ }
+}
+
+static void initGL ()
+{
+ Atlantis_Init ();
+ Atlantis_Reshape (gScreen->w, gScreen->h);
+}
+
+static void drawGL ()
+{
+ Atlantis_Animate ();
+ Atlantis_Display ();
+}
+
+static void mainLoop ()
+{
+ SDL_Event event;
+ int done = 0;
+ int fps = 24;
+ int delay = 1000/fps;
+ int thenTicks = -1;
+ int nowTicks;
+
+ while ( !done ) {
+
+ /* Check for events */
+ while ( SDL_PollEvent (&event) ) {
+ switch (event.type) {
+
+ case SDL_MOUSEMOTION:
+ break;
+ case SDL_MOUSEBUTTONDOWN:
+ break;
+ case SDL_KEYDOWN:
+ /* Any keypress quits the app... */
+ case SDL_QUIT:
+ done = 1;
+ break;
+ default:
+ break;
+ }
+ }
+
+ // Draw at 24 hz
+ // This approach is not normally recommended - it is better to
+ // use time-based animation and run as fast as possible
+ drawGL ();
+ SDL_GL_SwapBuffers ();
+
+ // Time how long each draw-swap-delay cycle takes
+ // and adjust delay to get closer to target framerate
+ if (thenTicks > 0) {
+ nowTicks = SDL_GetTicks ();
+ delay += (1000/fps - (nowTicks-thenTicks));
+ thenTicks = nowTicks;
+ if (delay < 0)
+ delay = 1000/fps;
+ }
+ else {
+ thenTicks = SDL_GetTicks ();
+ }
+
+ SDL_Delay (delay);
+ }
+}
+
+int main(int argc, char *argv[])
+{
+ // Init SDL video subsystem
+ if ( SDL_Init (SDL_INIT_VIDEO) < 0 ) {
+
+ fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ SDL_GetError());
+ exit(1);
+ }
+
+ // Set GL context attributes
+ initAttributes ();
+
+ // Create GL context
+ createSurface (0);
+
+ // Get GL context attributes
+ printAttributes ();
+
+ // Init GL state
+ initGL ();
+
+ // Draw, get events...
+ mainLoop ();
+
+ // Cleanup
+ SDL_Quit();
+
+ return 0;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/English.lproj/InfoPlist.strings b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/English.lproj/InfoPlist.strings
new file mode 100755
index 0000000..e612457
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/Info.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/Info.plist
new file mode 100644
index 0000000..c678d11
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/Info.plist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.«PROJECTNAMEASXML»</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/TemplateInfo.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/TemplateInfo.plist
new file mode 100644
index 0000000..d9ca454
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,12 @@
+{
+ FilesToRename = {
+ "SDLApp_Prefix.pch" = "ÇPROJECTNAMEÈ_Prefix.pch";
+ };
+ FilesToMacroExpand = (
+ "ÇPROJECTNAMEÈ_Prefix.pch",
+ "Info.plist",
+ "English.lproj/InfoPlist.strings",
+ "main.c",
+ );
+ Description = "This project builds an SDL-based application.";
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..ccac459
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/project.pbxproj
@@ -0,0 +1,324 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; };
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A3E09D088BA00EBEB88 /* main.c */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXBuildStyle section */
+ 4A9504CCFFE6A4B311CA0CBA /* Debug */ = {
+ isa = PBXBuildStyle;
+ buildSettings = {
+ };
+ name = Debug;
+ };
+ 4A9504CDFFE6A4B311CA0CBA /* Release */ = {
+ isa = PBXBuildStyle;
+ buildSettings = {
+ };
+ name = Release;
+ };
+/* End PBXBuildStyle section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
+ );
+ name = "Copy Frameworks into .app bundle";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 002F3A3E09D088BA00EBEB88 /* main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = SOURCE_ROOT; };
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file; path = "«PROJECTNAME»_Prefix.pch"; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* «PROJECTNAME».app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "«PROJECTNAME».app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */,
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 002F39F909D0881F00EBEB88 /* SDL.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* «PROJECTNAME».app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* «PROJECTNAMEASXML» */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = "«PROJECTNAMEASXML»";
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */,
+ 002F3A3E09D088BA00EBEB88 /* main.c */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* «PROJECTNAME» */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "«PROJECTNAME»" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
+ );
+ buildRules = (
+ );
+ buildSettings = {
+ };
+ dependencies = (
+ );
+ name = "«PROJECTNAME»";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "«PROJECTNAME»";
+ productReference = 8D1107320486CEB800E47090 /* «PROJECTNAME».app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDLApp" */;
+ buildSettings = {
+ };
+ buildStyles = (
+ 4A9504CCFFE6A4B311CA0CBA /* Debug */,
+ 4A9504CDFFE6A4B311CA0CBA /* Release */,
+ );
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* «PROJECTNAMEASXML» */;
+ projectDirPath = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* «PROJECTNAME» */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */,
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "«PROJECTNAME»";
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = YES;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = (
+ ppc,
+ i386,
+ );
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "«PROJECTNAME»";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "«PROJECTNAME»" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDLApp" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp_Prefix.pch b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp_Prefix.pch
new file mode 100644
index 0000000..0009507
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp_Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project
+//
+
+#include "SDL.h"
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.h
new file mode 100644
index 0000000..c56d90c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.h
@@ -0,0 +1,16 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#ifndef _SDLMain_h_
+#define _SDLMain_h_
+
+#import <Cocoa/Cocoa.h>
+
+@interface SDLMain : NSObject
+@end
+
+#endif /* _SDLMain_h_ */
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.m b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.m
new file mode 100644
index 0000000..b065a20
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.m
@@ -0,0 +1,383 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#include "SDL.h"
+#include "SDLMain.h"
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
+
+/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
+ but the method still is there and works. To avoid warnings, we declare
+ it ourselves here. */
+@interface NSApplication(SDL_Missing_Methods)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+
+/* Use this flag to determine whether we use SDLMain.nib or not */
+#define SDL_USE_NIB_FILE 0
+
+/* Use this flag to determine whether we use CPS (docking) or not */
+#define SDL_USE_CPS 1
+#ifdef SDL_USE_CPS
+/* Portions of CPS.h */
+typedef struct CPSProcessSerNum
+{
+ UInt32 lo;
+ UInt32 hi;
+} CPSProcessSerNum;
+
+extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
+extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
+extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
+
+#endif /* SDL_USE_CPS */
+
+static int gArgc;
+static char **gArgv;
+static BOOL gFinderLaunch;
+static BOOL gCalledAppMainline = FALSE;
+
+static NSString *getApplicationName(void)
+{
+ const NSDictionary *dict;
+ NSString *appName = 0;
+
+ /* Determine the application name */
+ dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ if (dict)
+ appName = [dict objectForKey: @"CFBundleName"];
+
+ if (![appName length])
+ appName = [[NSProcessInfo processInfo] processName];
+
+ return appName;
+}
+
+#if SDL_USE_NIB_FILE
+/* A helper category for NSString */
+@interface NSString (ReplaceSubString)
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
+@end
+#endif
+
+@interface SDLApplication : NSApplication
+@end
+
+@implementation SDLApplication
+/* Invoked from the Quit menu item */
+- (void)terminate:(id)sender
+{
+ /* Post a SDL_QUIT event */
+ SDL_Event event;
+ event.type = SDL_QUIT;
+ SDL_PushEvent(&event);
+}
+@end
+
+/* The main class of the application, the application's delegate */
+@implementation SDLMain
+
+/* Set the working directory to the .app's parent directory */
+- (void) setupWorkingDirectory:(BOOL)shouldChdir
+{
+ if (shouldChdir)
+ {
+ char parentdir[MAXPATHLEN];
+ CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
+ if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
+ }
+ CFRelease(url);
+ CFRelease(url2);
+ }
+}
+
+#if SDL_USE_NIB_FILE
+
+/* Fix menu to contain the real app name instead of "SDL App" */
+- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
+{
+ NSRange aRange;
+ NSEnumerator *enumerator;
+ NSMenuItem *menuItem;
+
+ aRange = [[aMenu title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
+
+ enumerator = [[aMenu itemArray] objectEnumerator];
+ while ((menuItem = [enumerator nextObject]))
+ {
+ aRange = [[menuItem title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
+ if ([menuItem hasSubmenu])
+ [self fixMenu:[menuItem submenu] withAppName:appName];
+ }
+ [ aMenu sizeToFit ];
+}
+
+#else
+
+static void setApplicationMenu(void)
+{
+ /* warning: this code is very odd */
+ NSMenu *appleMenu;
+ NSMenuItem *menuItem;
+ NSString *title;
+ NSString *appName;
+
+ appName = getApplicationName();
+ appleMenu = [[NSMenu alloc] initWithTitle:@""];
+
+ /* Add menu items */
+ title = [@"About " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Hide " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
+
+ menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
+ [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
+
+ [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Quit " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
+
+
+ /* Put menu into the menubar */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
+ [menuItem setSubmenu:appleMenu];
+ [[NSApp mainMenu] addItem:menuItem];
+
+ /* Tell the application object that this is now the application menu */
+ [NSApp setAppleMenu:appleMenu];
+
+ /* Finally give up our references to the objects */
+ [appleMenu release];
+ [menuItem release];
+}
+
+/* Create a window menu */
+static void setupWindowMenu(void)
+{
+ NSMenu *windowMenu;
+ NSMenuItem *windowMenuItem;
+ NSMenuItem *menuItem;
+
+ windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
+
+ /* "Minimize" item */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
+ [windowMenu addItem:menuItem];
+ [menuItem release];
+
+ /* Put menu into the menubar */
+ windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
+ [windowMenuItem setSubmenu:windowMenu];
+ [[NSApp mainMenu] addItem:windowMenuItem];
+
+ /* Tell the application object that this is now the window menu */
+ [NSApp setWindowsMenu:windowMenu];
+
+ /* Finally give up our references to the objects */
+ [windowMenu release];
+ [windowMenuItem release];
+}
+
+/* Replacement for NSApplicationMain */
+static void CustomApplicationMain (int argc, char **argv)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ SDLMain *sdlMain;
+
+ /* Ensure the application object is initialised */
+ [SDLApplication sharedApplication];
+
+#ifdef SDL_USE_CPS
+ {
+ CPSProcessSerNum PSN;
+ /* Tell the dock about us */
+ if (!CPSGetCurrentProcess(&PSN))
+ if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
+ if (!CPSSetFrontProcess(&PSN))
+ [SDLApplication sharedApplication];
+ }
+#endif /* SDL_USE_CPS */
+
+ /* Set up the menubar */
+ [NSApp setMainMenu:[[NSMenu alloc] init]];
+ setApplicationMenu();
+ setupWindowMenu();
+
+ /* Create SDLMain and make it the app delegate */
+ sdlMain = [[SDLMain alloc] init];
+ [NSApp setDelegate:sdlMain];
+
+ /* Start the main event loop */
+ [NSApp run];
+
+ [sdlMain release];
+ [pool release];
+}
+
+#endif
+
+
+/*
+ * Catch document open requests...this lets us notice files when the app
+ * was launched by double-clicking a document, or when a document was
+ * dragged/dropped on the app's icon. You need to have a
+ * CFBundleDocumentsType section in your Info.plist to get this message,
+ * apparently.
+ *
+ * Files are added to gArgv, so to the app, they'll look like command line
+ * arguments. Previously, apps launched from the finder had nothing but
+ * an argv[0].
+ *
+ * This message may be received multiple times to open several docs on launch.
+ *
+ * This message is ignored once the app's mainline has been called.
+ */
+- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
+{
+ const char *temparg;
+ size_t arglen;
+ char *arg;
+ char **newargv;
+
+ if (!gFinderLaunch) /* MacOS is passing command line args. */
+ return FALSE;
+
+ if (gCalledAppMainline) /* app has started, ignore this document. */
+ return FALSE;
+
+ temparg = [filename UTF8String];
+ arglen = SDL_strlen(temparg) + 1;
+ arg = (char *) SDL_malloc(arglen);
+ if (arg == NULL)
+ return FALSE;
+
+ newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
+ if (newargv == NULL)
+ {
+ SDL_free(arg);
+ return FALSE;
+ }
+ gArgv = newargv;
+
+ SDL_strlcpy(arg, temparg, arglen);
+ gArgv[gArgc++] = arg;
+ gArgv[gArgc] = NULL;
+ return TRUE;
+}
+
+
+/* Called when the internal event loop has just started running */
+- (void) applicationDidFinishLaunching: (NSNotification *) note
+{
+ int status;
+
+ /* Set the working directory to the .app's parent directory */
+ [self setupWorkingDirectory:gFinderLaunch];
+
+#if SDL_USE_NIB_FILE
+ /* Set the main menu to contain the real app name instead of "SDL App" */
+ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
+#endif
+
+ /* Hand off to main application code */
+ gCalledAppMainline = TRUE;
+ status = SDL_main (gArgc, gArgv);
+
+ /* We're done, thank you for playing */
+ exit(status);
+}
+@end
+
+
+@implementation NSString (ReplaceSubString)
+
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
+{
+ unsigned int bufferSize;
+ unsigned int selfLen = [self length];
+ unsigned int aStringLen = [aString length];
+ unichar *buffer;
+ NSRange localRange;
+ NSString *result;
+
+ bufferSize = selfLen + aStringLen - aRange.length;
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+
+ /* Get first part into buffer */
+ localRange.location = 0;
+ localRange.length = aRange.location;
+ [self getCharacters:buffer range:localRange];
+
+ /* Get middle part into buffer */
+ localRange.location = 0;
+ localRange.length = aStringLen;
+ [aString getCharacters:(buffer+aRange.location) range:localRange];
+
+ /* Get last part into buffer */
+ localRange.location = aRange.location + aRange.length;
+ localRange.length = selfLen - localRange.location;
+ [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
+
+ /* Build output string */
+ result = [NSString stringWithCharacters:buffer length:bufferSize];
+
+ NSDeallocateMemoryPages(buffer, bufferSize);
+
+ return result;
+}
+
+@end
+
+
+
+#ifdef main
+# undef main
+#endif
+
+
+/* Main entry point to executable - should *not* be SDL_main! */
+int main (int argc, char **argv)
+{
+ /* Copy the arguments into a global variable */
+ /* This is passed if we are launched by double-clicking */
+ if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
+ gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
+ gArgv[0] = argv[0];
+ gArgv[1] = NULL;
+ gArgc = 1;
+ gFinderLaunch = YES;
+ } else {
+ int i;
+ gArgc = argc;
+ gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
+ for (i = 0; i <= argc; i++)
+ gArgv[i] = argv[i];
+ gFinderLaunch = NO;
+ }
+
+#if SDL_USE_NIB_FILE
+ [SDLApplication poseAsClass:[NSApplication class]];
+ NSApplicationMain (argc, argv);
+#else
+ CustomApplicationMain (argc, argv);
+#endif
+ return 0;
+}
+
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/main.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/main.c
new file mode 100644
index 0000000..7115de9
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Application/main.c
@@ -0,0 +1,65 @@
+
+/* Simple program: Create a blank window, wait for keypress, quit.
+
+ Please see the SDL documentation for details on using the SDL API:
+ /Developer/Documentation/SDL/docs.html
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "SDL.h"
+
+int main(int argc, char *argv[])
+{
+ Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
+ SDL_Surface *screen;
+ Uint8 video_bpp = 0;
+ Uint32 videoflags = SDL_SWSURFACE;
+ int done;
+ SDL_Event event;
+
+ /* Initialize the SDL library */
+ if ( SDL_Init(initflags) < 0 ) {
+ fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ SDL_GetError());
+ exit(1);
+ }
+
+ /* Set 640x480 video mode */
+ screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
+ if (screen == NULL) {
+ fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n",
+ video_bpp, SDL_GetError());
+ SDL_Quit();
+ exit(2);
+ }
+
+ done = 0;
+ while ( !done ) {
+
+ /* Check for events */
+ while ( SDL_PollEvent(&event) ) {
+ switch (event.type) {
+
+ case SDL_MOUSEMOTION:
+ break;
+ case SDL_MOUSEBUTTONDOWN:
+ break;
+ case SDL_KEYDOWN:
+ /* Any keypress quits the app... */
+ case SDL_QUIT:
+ done = 1;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ /* Clean up the SDL library */
+ SDL_Quit();
+ return(0);
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/InfoPlist.strings b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/InfoPlist.strings
new file mode 100755
index 0000000..e612457
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib
new file mode 100644
index 0000000..799eaad
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib
@@ -0,0 +1,19 @@
+{
+ IBClasses = (
+ {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
+ {
+ ACTIONS = {
+ help = id;
+ newGame = id;
+ openGame = id;
+ prefsMenu = id;
+ saveGame = id;
+ saveGameAs = id;
+ };
+ CLASS = SDLMain;
+ LANGUAGE = ObjC;
+ SUPERCLASS = NSObject;
+ }
+ );
+ IBVersion = 1;
+} \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib
new file mode 100644
index 0000000..1d6fb7e
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>IBDocumentLocation</key>
+ <string>62 117 356 240 0 0 1152 848 </string>
+ <key>IBEditorPositions</key>
+ <dict>
+ <key>29</key>
+ <string>62 362 195 44 0 0 1152 848 </string>
+ </dict>
+ <key>IBFramework Version</key>
+ <string>291.0</string>
+ <key>IBOpenObjects</key>
+ <array>
+ <integer>29</integer>
+ </array>
+ <key>IBSystem Version</key>
+ <string>6L60</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib
new file mode 100644
index 0000000..6378015
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/Info.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/Info.plist
new file mode 100644
index 0000000..c678d11
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/Info.plist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.«PROJECTNAMEASXML»</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLApp_Prefix.pch b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLApp_Prefix.pch
new file mode 100644
index 0000000..0009507
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLApp_Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project
+//
+
+#include "SDL.h"
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/TemplateInfo.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/TemplateInfo.plist
new file mode 100644
index 0000000..1dcbea2
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,12 @@
+{
+ FilesToRename = {
+ "SDLApp_Prefix.pch" = "ÇPROJECTNAMEÈ_Prefix.pch";
+ };
+ FilesToMacroExpand = (
+ "ÇPROJECTNAMEÈ_Prefix.pch",
+ "Info.plist",
+ "English.lproj/InfoPlist.strings",
+ "main.c",
+ );
+ Description = "This project builds an SDL-based application with Cocoa menus.";
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..5859662
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/project.pbxproj
@@ -0,0 +1,336 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; };
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A3E09D088BA00EBEB88 /* main.c */; };
+ 002F3AF109D08F1000EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXBuildStyle section */
+ 4A9504CCFFE6A4B311CA0CBA /* Debug */ = {
+ isa = PBXBuildStyle;
+ buildSettings = {
+ };
+ name = Debug;
+ };
+ 4A9504CDFFE6A4B311CA0CBA /* Release */ = {
+ isa = PBXBuildStyle;
+ buildSettings = {
+ };
+ name = Release;
+ };
+/* End PBXBuildStyle section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
+ );
+ name = "Copy Frameworks into .app bundle";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 002F3A3E09D088BA00EBEB88 /* main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = SOURCE_ROOT; };
+ 002F3AF009D08F1000EBEB88 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/SDLMain.nib; sourceTree = "<group>"; };
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file; path = "«PROJECTNAME»_Prefix.pch"; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* «PROJECTNAME».app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "«PROJECTNAME».app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */,
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 002F39F909D0881F00EBEB88 /* SDL.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* «PROJECTNAME».app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* «PROJECTNAMEASXML» */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = "«PROJECTNAMEASXML»";
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */,
+ 002F3A3E09D088BA00EBEB88 /* main.c */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* «PROJECTNAME» */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "«PROJECTNAME»" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
+ );
+ buildRules = (
+ );
+ buildSettings = {
+ };
+ dependencies = (
+ );
+ name = "«PROJECTNAME»";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "«PROJECTNAME»";
+ productReference = 8D1107320486CEB800E47090 /* «PROJECTNAME».app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDLCocoaApp" */;
+ buildSettings = {
+ };
+ buildStyles = (
+ 4A9504CCFFE6A4B311CA0CBA /* Debug */,
+ 4A9504CDFFE6A4B311CA0CBA /* Release */,
+ );
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* «PROJECTNAMEASXML» */;
+ projectDirPath = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* «PROJECTNAME» */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ 002F3AF109D08F1000EBEB88 /* SDLMain.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */,
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 002F3AF009D08F1000EBEB88 /* English */,
+ );
+ name = SDLMain.nib;
+ sourceTree = "<group>";
+ };
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "«PROJECTNAME»";
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = YES;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = (
+ ppc,
+ i386,
+ );
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "«PROJECTNAME»";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "«PROJECTNAME»" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDLCocoaApp" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.h
new file mode 100644
index 0000000..c56d90c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.h
@@ -0,0 +1,16 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#ifndef _SDLMain_h_
+#define _SDLMain_h_
+
+#import <Cocoa/Cocoa.h>
+
+@interface SDLMain : NSObject
+@end
+
+#endif /* _SDLMain_h_ */
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.m b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.m
new file mode 100644
index 0000000..b065a20
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.m
@@ -0,0 +1,383 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#include "SDL.h"
+#include "SDLMain.h"
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
+
+/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
+ but the method still is there and works. To avoid warnings, we declare
+ it ourselves here. */
+@interface NSApplication(SDL_Missing_Methods)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+
+/* Use this flag to determine whether we use SDLMain.nib or not */
+#define SDL_USE_NIB_FILE 0
+
+/* Use this flag to determine whether we use CPS (docking) or not */
+#define SDL_USE_CPS 1
+#ifdef SDL_USE_CPS
+/* Portions of CPS.h */
+typedef struct CPSProcessSerNum
+{
+ UInt32 lo;
+ UInt32 hi;
+} CPSProcessSerNum;
+
+extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
+extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
+extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
+
+#endif /* SDL_USE_CPS */
+
+static int gArgc;
+static char **gArgv;
+static BOOL gFinderLaunch;
+static BOOL gCalledAppMainline = FALSE;
+
+static NSString *getApplicationName(void)
+{
+ const NSDictionary *dict;
+ NSString *appName = 0;
+
+ /* Determine the application name */
+ dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ if (dict)
+ appName = [dict objectForKey: @"CFBundleName"];
+
+ if (![appName length])
+ appName = [[NSProcessInfo processInfo] processName];
+
+ return appName;
+}
+
+#if SDL_USE_NIB_FILE
+/* A helper category for NSString */
+@interface NSString (ReplaceSubString)
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
+@end
+#endif
+
+@interface SDLApplication : NSApplication
+@end
+
+@implementation SDLApplication
+/* Invoked from the Quit menu item */
+- (void)terminate:(id)sender
+{
+ /* Post a SDL_QUIT event */
+ SDL_Event event;
+ event.type = SDL_QUIT;
+ SDL_PushEvent(&event);
+}
+@end
+
+/* The main class of the application, the application's delegate */
+@implementation SDLMain
+
+/* Set the working directory to the .app's parent directory */
+- (void) setupWorkingDirectory:(BOOL)shouldChdir
+{
+ if (shouldChdir)
+ {
+ char parentdir[MAXPATHLEN];
+ CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
+ if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
+ }
+ CFRelease(url);
+ CFRelease(url2);
+ }
+}
+
+#if SDL_USE_NIB_FILE
+
+/* Fix menu to contain the real app name instead of "SDL App" */
+- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
+{
+ NSRange aRange;
+ NSEnumerator *enumerator;
+ NSMenuItem *menuItem;
+
+ aRange = [[aMenu title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
+
+ enumerator = [[aMenu itemArray] objectEnumerator];
+ while ((menuItem = [enumerator nextObject]))
+ {
+ aRange = [[menuItem title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
+ if ([menuItem hasSubmenu])
+ [self fixMenu:[menuItem submenu] withAppName:appName];
+ }
+ [ aMenu sizeToFit ];
+}
+
+#else
+
+static void setApplicationMenu(void)
+{
+ /* warning: this code is very odd */
+ NSMenu *appleMenu;
+ NSMenuItem *menuItem;
+ NSString *title;
+ NSString *appName;
+
+ appName = getApplicationName();
+ appleMenu = [[NSMenu alloc] initWithTitle:@""];
+
+ /* Add menu items */
+ title = [@"About " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Hide " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
+
+ menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
+ [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
+
+ [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Quit " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
+
+
+ /* Put menu into the menubar */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
+ [menuItem setSubmenu:appleMenu];
+ [[NSApp mainMenu] addItem:menuItem];
+
+ /* Tell the application object that this is now the application menu */
+ [NSApp setAppleMenu:appleMenu];
+
+ /* Finally give up our references to the objects */
+ [appleMenu release];
+ [menuItem release];
+}
+
+/* Create a window menu */
+static void setupWindowMenu(void)
+{
+ NSMenu *windowMenu;
+ NSMenuItem *windowMenuItem;
+ NSMenuItem *menuItem;
+
+ windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
+
+ /* "Minimize" item */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
+ [windowMenu addItem:menuItem];
+ [menuItem release];
+
+ /* Put menu into the menubar */
+ windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
+ [windowMenuItem setSubmenu:windowMenu];
+ [[NSApp mainMenu] addItem:windowMenuItem];
+
+ /* Tell the application object that this is now the window menu */
+ [NSApp setWindowsMenu:windowMenu];
+
+ /* Finally give up our references to the objects */
+ [windowMenu release];
+ [windowMenuItem release];
+}
+
+/* Replacement for NSApplicationMain */
+static void CustomApplicationMain (int argc, char **argv)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ SDLMain *sdlMain;
+
+ /* Ensure the application object is initialised */
+ [SDLApplication sharedApplication];
+
+#ifdef SDL_USE_CPS
+ {
+ CPSProcessSerNum PSN;
+ /* Tell the dock about us */
+ if (!CPSGetCurrentProcess(&PSN))
+ if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
+ if (!CPSSetFrontProcess(&PSN))
+ [SDLApplication sharedApplication];
+ }
+#endif /* SDL_USE_CPS */
+
+ /* Set up the menubar */
+ [NSApp setMainMenu:[[NSMenu alloc] init]];
+ setApplicationMenu();
+ setupWindowMenu();
+
+ /* Create SDLMain and make it the app delegate */
+ sdlMain = [[SDLMain alloc] init];
+ [NSApp setDelegate:sdlMain];
+
+ /* Start the main event loop */
+ [NSApp run];
+
+ [sdlMain release];
+ [pool release];
+}
+
+#endif
+
+
+/*
+ * Catch document open requests...this lets us notice files when the app
+ * was launched by double-clicking a document, or when a document was
+ * dragged/dropped on the app's icon. You need to have a
+ * CFBundleDocumentsType section in your Info.plist to get this message,
+ * apparently.
+ *
+ * Files are added to gArgv, so to the app, they'll look like command line
+ * arguments. Previously, apps launched from the finder had nothing but
+ * an argv[0].
+ *
+ * This message may be received multiple times to open several docs on launch.
+ *
+ * This message is ignored once the app's mainline has been called.
+ */
+- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
+{
+ const char *temparg;
+ size_t arglen;
+ char *arg;
+ char **newargv;
+
+ if (!gFinderLaunch) /* MacOS is passing command line args. */
+ return FALSE;
+
+ if (gCalledAppMainline) /* app has started, ignore this document. */
+ return FALSE;
+
+ temparg = [filename UTF8String];
+ arglen = SDL_strlen(temparg) + 1;
+ arg = (char *) SDL_malloc(arglen);
+ if (arg == NULL)
+ return FALSE;
+
+ newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
+ if (newargv == NULL)
+ {
+ SDL_free(arg);
+ return FALSE;
+ }
+ gArgv = newargv;
+
+ SDL_strlcpy(arg, temparg, arglen);
+ gArgv[gArgc++] = arg;
+ gArgv[gArgc] = NULL;
+ return TRUE;
+}
+
+
+/* Called when the internal event loop has just started running */
+- (void) applicationDidFinishLaunching: (NSNotification *) note
+{
+ int status;
+
+ /* Set the working directory to the .app's parent directory */
+ [self setupWorkingDirectory:gFinderLaunch];
+
+#if SDL_USE_NIB_FILE
+ /* Set the main menu to contain the real app name instead of "SDL App" */
+ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
+#endif
+
+ /* Hand off to main application code */
+ gCalledAppMainline = TRUE;
+ status = SDL_main (gArgc, gArgv);
+
+ /* We're done, thank you for playing */
+ exit(status);
+}
+@end
+
+
+@implementation NSString (ReplaceSubString)
+
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
+{
+ unsigned int bufferSize;
+ unsigned int selfLen = [self length];
+ unsigned int aStringLen = [aString length];
+ unichar *buffer;
+ NSRange localRange;
+ NSString *result;
+
+ bufferSize = selfLen + aStringLen - aRange.length;
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+
+ /* Get first part into buffer */
+ localRange.location = 0;
+ localRange.length = aRange.location;
+ [self getCharacters:buffer range:localRange];
+
+ /* Get middle part into buffer */
+ localRange.location = 0;
+ localRange.length = aStringLen;
+ [aString getCharacters:(buffer+aRange.location) range:localRange];
+
+ /* Get last part into buffer */
+ localRange.location = aRange.location + aRange.length;
+ localRange.length = selfLen - localRange.location;
+ [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
+
+ /* Build output string */
+ result = [NSString stringWithCharacters:buffer length:bufferSize];
+
+ NSDeallocateMemoryPages(buffer, bufferSize);
+
+ return result;
+}
+
+@end
+
+
+
+#ifdef main
+# undef main
+#endif
+
+
+/* Main entry point to executable - should *not* be SDL_main! */
+int main (int argc, char **argv)
+{
+ /* Copy the arguments into a global variable */
+ /* This is passed if we are launched by double-clicking */
+ if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
+ gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
+ gArgv[0] = argv[0];
+ gArgv[1] = NULL;
+ gArgc = 1;
+ gFinderLaunch = YES;
+ } else {
+ int i;
+ gArgc = argc;
+ gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
+ for (i = 0; i <= argc; i++)
+ gArgv[i] = argv[i];
+ gFinderLaunch = NO;
+ }
+
+#if SDL_USE_NIB_FILE
+ [SDLApplication poseAsClass:[NSApplication class]];
+ NSApplicationMain (argc, argv);
+#else
+ CustomApplicationMain (argc, argv);
+#endif
+ return 0;
+}
+
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/main.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/main.c
new file mode 100644
index 0000000..7115de9
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/main.c
@@ -0,0 +1,65 @@
+
+/* Simple program: Create a blank window, wait for keypress, quit.
+
+ Please see the SDL documentation for details on using the SDL API:
+ /Developer/Documentation/SDL/docs.html
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "SDL.h"
+
+int main(int argc, char *argv[])
+{
+ Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
+ SDL_Surface *screen;
+ Uint8 video_bpp = 0;
+ Uint32 videoflags = SDL_SWSURFACE;
+ int done;
+ SDL_Event event;
+
+ /* Initialize the SDL library */
+ if ( SDL_Init(initflags) < 0 ) {
+ fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ SDL_GetError());
+ exit(1);
+ }
+
+ /* Set 640x480 video mode */
+ screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
+ if (screen == NULL) {
+ fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n",
+ video_bpp, SDL_GetError());
+ SDL_Quit();
+ exit(2);
+ }
+
+ done = 0;
+ while ( !done ) {
+
+ /* Check for events */
+ while ( SDL_PollEvent(&event) ) {
+ switch (event.type) {
+
+ case SDL_MOUSEMOTION:
+ break;
+ case SDL_MOUSEBUTTONDOWN:
+ break;
+ case SDL_KEYDOWN:
+ /* Any keypress quits the app... */
+ case SDL_QUIT:
+ done = 1;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ /* Clean up the SDL library */
+ SDL_Quit();
+ return(0);
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/English.lproj/InfoPlist.strings b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/English.lproj/InfoPlist.strings
new file mode 100755
index 0000000..e612457
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/Info.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/Info.plist
new file mode 100644
index 0000000..c678d11
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/Info.plist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.«PROJECTNAMEASXML»</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>SDLMain</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLApp_Prefix.pch b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLApp_Prefix.pch
new file mode 100644
index 0000000..0009507
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLApp_Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project
+//
+
+#include "SDL.h"
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.h
new file mode 100644
index 0000000..c56d90c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.h
@@ -0,0 +1,16 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#ifndef _SDLMain_h_
+#define _SDLMain_h_
+
+#import <Cocoa/Cocoa.h>
+
+@interface SDLMain : NSObject
+@end
+
+#endif /* _SDLMain_h_ */
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.m b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.m
new file mode 100644
index 0000000..b065a20
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.m
@@ -0,0 +1,383 @@
+/* SDLMain.m - main entry point for our Cocoa-ized SDL app
+ Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
+ Non-NIB-Code & other changes: Max Horn <max@quendi.de>
+
+ Feel free to customize this file to suit your needs
+*/
+
+#include "SDL.h"
+#include "SDLMain.h"
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
+
+/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
+ but the method still is there and works. To avoid warnings, we declare
+ it ourselves here. */
+@interface NSApplication(SDL_Missing_Methods)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+
+/* Use this flag to determine whether we use SDLMain.nib or not */
+#define SDL_USE_NIB_FILE 0
+
+/* Use this flag to determine whether we use CPS (docking) or not */
+#define SDL_USE_CPS 1
+#ifdef SDL_USE_CPS
+/* Portions of CPS.h */
+typedef struct CPSProcessSerNum
+{
+ UInt32 lo;
+ UInt32 hi;
+} CPSProcessSerNum;
+
+extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
+extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
+extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
+
+#endif /* SDL_USE_CPS */
+
+static int gArgc;
+static char **gArgv;
+static BOOL gFinderLaunch;
+static BOOL gCalledAppMainline = FALSE;
+
+static NSString *getApplicationName(void)
+{
+ const NSDictionary *dict;
+ NSString *appName = 0;
+
+ /* Determine the application name */
+ dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ if (dict)
+ appName = [dict objectForKey: @"CFBundleName"];
+
+ if (![appName length])
+ appName = [[NSProcessInfo processInfo] processName];
+
+ return appName;
+}
+
+#if SDL_USE_NIB_FILE
+/* A helper category for NSString */
+@interface NSString (ReplaceSubString)
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
+@end
+#endif
+
+@interface SDLApplication : NSApplication
+@end
+
+@implementation SDLApplication
+/* Invoked from the Quit menu item */
+- (void)terminate:(id)sender
+{
+ /* Post a SDL_QUIT event */
+ SDL_Event event;
+ event.type = SDL_QUIT;
+ SDL_PushEvent(&event);
+}
+@end
+
+/* The main class of the application, the application's delegate */
+@implementation SDLMain
+
+/* Set the working directory to the .app's parent directory */
+- (void) setupWorkingDirectory:(BOOL)shouldChdir
+{
+ if (shouldChdir)
+ {
+ char parentdir[MAXPATHLEN];
+ CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
+ if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
+ }
+ CFRelease(url);
+ CFRelease(url2);
+ }
+}
+
+#if SDL_USE_NIB_FILE
+
+/* Fix menu to contain the real app name instead of "SDL App" */
+- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
+{
+ NSRange aRange;
+ NSEnumerator *enumerator;
+ NSMenuItem *menuItem;
+
+ aRange = [[aMenu title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
+
+ enumerator = [[aMenu itemArray] objectEnumerator];
+ while ((menuItem = [enumerator nextObject]))
+ {
+ aRange = [[menuItem title] rangeOfString:@"SDL App"];
+ if (aRange.length != 0)
+ [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
+ if ([menuItem hasSubmenu])
+ [self fixMenu:[menuItem submenu] withAppName:appName];
+ }
+ [ aMenu sizeToFit ];
+}
+
+#else
+
+static void setApplicationMenu(void)
+{
+ /* warning: this code is very odd */
+ NSMenu *appleMenu;
+ NSMenuItem *menuItem;
+ NSString *title;
+ NSString *appName;
+
+ appName = getApplicationName();
+ appleMenu = [[NSMenu alloc] initWithTitle:@""];
+
+ /* Add menu items */
+ title = [@"About " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Hide " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
+
+ menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
+ [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
+
+ [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
+
+ [appleMenu addItem:[NSMenuItem separatorItem]];
+
+ title = [@"Quit " stringByAppendingString:appName];
+ [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
+
+
+ /* Put menu into the menubar */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
+ [menuItem setSubmenu:appleMenu];
+ [[NSApp mainMenu] addItem:menuItem];
+
+ /* Tell the application object that this is now the application menu */
+ [NSApp setAppleMenu:appleMenu];
+
+ /* Finally give up our references to the objects */
+ [appleMenu release];
+ [menuItem release];
+}
+
+/* Create a window menu */
+static void setupWindowMenu(void)
+{
+ NSMenu *windowMenu;
+ NSMenuItem *windowMenuItem;
+ NSMenuItem *menuItem;
+
+ windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
+
+ /* "Minimize" item */
+ menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
+ [windowMenu addItem:menuItem];
+ [menuItem release];
+
+ /* Put menu into the menubar */
+ windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
+ [windowMenuItem setSubmenu:windowMenu];
+ [[NSApp mainMenu] addItem:windowMenuItem];
+
+ /* Tell the application object that this is now the window menu */
+ [NSApp setWindowsMenu:windowMenu];
+
+ /* Finally give up our references to the objects */
+ [windowMenu release];
+ [windowMenuItem release];
+}
+
+/* Replacement for NSApplicationMain */
+static void CustomApplicationMain (int argc, char **argv)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ SDLMain *sdlMain;
+
+ /* Ensure the application object is initialised */
+ [SDLApplication sharedApplication];
+
+#ifdef SDL_USE_CPS
+ {
+ CPSProcessSerNum PSN;
+ /* Tell the dock about us */
+ if (!CPSGetCurrentProcess(&PSN))
+ if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
+ if (!CPSSetFrontProcess(&PSN))
+ [SDLApplication sharedApplication];
+ }
+#endif /* SDL_USE_CPS */
+
+ /* Set up the menubar */
+ [NSApp setMainMenu:[[NSMenu alloc] init]];
+ setApplicationMenu();
+ setupWindowMenu();
+
+ /* Create SDLMain and make it the app delegate */
+ sdlMain = [[SDLMain alloc] init];
+ [NSApp setDelegate:sdlMain];
+
+ /* Start the main event loop */
+ [NSApp run];
+
+ [sdlMain release];
+ [pool release];
+}
+
+#endif
+
+
+/*
+ * Catch document open requests...this lets us notice files when the app
+ * was launched by double-clicking a document, or when a document was
+ * dragged/dropped on the app's icon. You need to have a
+ * CFBundleDocumentsType section in your Info.plist to get this message,
+ * apparently.
+ *
+ * Files are added to gArgv, so to the app, they'll look like command line
+ * arguments. Previously, apps launched from the finder had nothing but
+ * an argv[0].
+ *
+ * This message may be received multiple times to open several docs on launch.
+ *
+ * This message is ignored once the app's mainline has been called.
+ */
+- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
+{
+ const char *temparg;
+ size_t arglen;
+ char *arg;
+ char **newargv;
+
+ if (!gFinderLaunch) /* MacOS is passing command line args. */
+ return FALSE;
+
+ if (gCalledAppMainline) /* app has started, ignore this document. */
+ return FALSE;
+
+ temparg = [filename UTF8String];
+ arglen = SDL_strlen(temparg) + 1;
+ arg = (char *) SDL_malloc(arglen);
+ if (arg == NULL)
+ return FALSE;
+
+ newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
+ if (newargv == NULL)
+ {
+ SDL_free(arg);
+ return FALSE;
+ }
+ gArgv = newargv;
+
+ SDL_strlcpy(arg, temparg, arglen);
+ gArgv[gArgc++] = arg;
+ gArgv[gArgc] = NULL;
+ return TRUE;
+}
+
+
+/* Called when the internal event loop has just started running */
+- (void) applicationDidFinishLaunching: (NSNotification *) note
+{
+ int status;
+
+ /* Set the working directory to the .app's parent directory */
+ [self setupWorkingDirectory:gFinderLaunch];
+
+#if SDL_USE_NIB_FILE
+ /* Set the main menu to contain the real app name instead of "SDL App" */
+ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
+#endif
+
+ /* Hand off to main application code */
+ gCalledAppMainline = TRUE;
+ status = SDL_main (gArgc, gArgv);
+
+ /* We're done, thank you for playing */
+ exit(status);
+}
+@end
+
+
+@implementation NSString (ReplaceSubString)
+
+- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
+{
+ unsigned int bufferSize;
+ unsigned int selfLen = [self length];
+ unsigned int aStringLen = [aString length];
+ unichar *buffer;
+ NSRange localRange;
+ NSString *result;
+
+ bufferSize = selfLen + aStringLen - aRange.length;
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+
+ /* Get first part into buffer */
+ localRange.location = 0;
+ localRange.length = aRange.location;
+ [self getCharacters:buffer range:localRange];
+
+ /* Get middle part into buffer */
+ localRange.location = 0;
+ localRange.length = aStringLen;
+ [aString getCharacters:(buffer+aRange.location) range:localRange];
+
+ /* Get last part into buffer */
+ localRange.location = aRange.location + aRange.length;
+ localRange.length = selfLen - localRange.location;
+ [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
+
+ /* Build output string */
+ result = [NSString stringWithCharacters:buffer length:bufferSize];
+
+ NSDeallocateMemoryPages(buffer, bufferSize);
+
+ return result;
+}
+
+@end
+
+
+
+#ifdef main
+# undef main
+#endif
+
+
+/* Main entry point to executable - should *not* be SDL_main! */
+int main (int argc, char **argv)
+{
+ /* Copy the arguments into a global variable */
+ /* This is passed if we are launched by double-clicking */
+ if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
+ gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
+ gArgv[0] = argv[0];
+ gArgv[1] = NULL;
+ gArgc = 1;
+ gFinderLaunch = YES;
+ } else {
+ int i;
+ gArgc = argc;
+ gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
+ for (i = 0; i <= argc; i++)
+ gArgv[i] = argv[i];
+ gFinderLaunch = NO;
+ }
+
+#if SDL_USE_NIB_FILE
+ [SDLApplication poseAsClass:[NSApplication class]];
+ NSApplicationMain (argc, argv);
+#else
+ CustomApplicationMain (argc, argv);
+#endif
+ return 0;
+}
+
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/TemplateInfo.plist b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/TemplateInfo.plist
new file mode 100644
index 0000000..ba87745
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,12 @@
+{
+ FilesToRename = {
+ "SDLApp_Prefix.pch" = "ÇPROJECTNAMEÈ_Prefix.pch";
+ };
+ FilesToMacroExpand = (
+ "ÇPROJECTNAMEÈ_Prefix.pch",
+ "Info.plist",
+ "English.lproj/InfoPlist.strings",
+ "main.c",
+ );
+ Description = "This project builds an SDL-based application that uses OpenGL.";
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/project.pbxproj b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..6995ccb
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/project.pbxproj
@@ -0,0 +1,362 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; };
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A3E09D088BA00EBEB88 /* main.c */; };
+ 002F3BFA09D0938900EBEB88 /* atlantis.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF409D0938900EBEB88 /* atlantis.c */; };
+ 002F3BFC09D0938900EBEB88 /* dolphin.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF609D0938900EBEB88 /* dolphin.c */; };
+ 002F3BFD09D0938900EBEB88 /* shark.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF709D0938900EBEB88 /* shark.c */; };
+ 002F3BFE09D0938900EBEB88 /* swim.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF809D0938900EBEB88 /* swim.c */; };
+ 002F3BFF09D0938900EBEB88 /* whale.c in Sources */ = {isa = PBXBuildFile; fileRef = 002F3BF909D0938900EBEB88 /* whale.c */; };
+ 002F3C0109D093BD00EBEB88 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F3C0009D093BD00EBEB88 /* OpenGL.framework */; };
+ 002F3C6109D0951E00EBEB88 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F3C6009D0951E00EBEB88 /* GLUT.framework */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXBuildStyle section */
+ 4A9504CCFFE6A4B311CA0CBA /* Debug */ = {
+ isa = PBXBuildStyle;
+ buildSettings = {
+ };
+ name = Debug;
+ };
+ 4A9504CDFFE6A4B311CA0CBA /* Release */ = {
+ isa = PBXBuildStyle;
+ buildSettings = {
+ };
+ name = Release;
+ };
+/* End PBXBuildStyle section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
+ );
+ name = "Copy Frameworks into .app bundle";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; };
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; };
+ 002F3A3E09D088BA00EBEB88 /* main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF409D0938900EBEB88 /* atlantis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = atlantis.c; path = atlantis/atlantis.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF509D0938900EBEB88 /* atlantis.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = atlantis.h; path = atlantis/atlantis.h; sourceTree = SOURCE_ROOT; };
+ 002F3BF609D0938900EBEB88 /* dolphin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dolphin.c; path = atlantis/dolphin.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF709D0938900EBEB88 /* shark.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = shark.c; path = atlantis/shark.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF809D0938900EBEB88 /* swim.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = swim.c; path = atlantis/swim.c; sourceTree = SOURCE_ROOT; };
+ 002F3BF909D0938900EBEB88 /* whale.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = whale.c; path = atlantis/whale.c; sourceTree = SOURCE_ROOT; };
+ 002F3C0009D093BD00EBEB88 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
+ 002F3C6009D0951E00EBEB88 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../../../../../../../../System/Library/Frameworks/GLUT.framework; sourceTree = SOURCE_ROOT; };
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file; path = "«PROJECTNAME»_Prefix.pch"; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* «PROJECTNAME».app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "«PROJECTNAME».app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
+ 002F3C6109D0951E00EBEB88 /* GLUT.framework in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ 002F3C0109D093BD00EBEB88 /* OpenGL.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 002F3BF309D0937800EBEB88 /* atlantis */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3BF409D0938900EBEB88 /* atlantis.c */,
+ 002F3BF509D0938900EBEB88 /* atlantis.h */,
+ 002F3BF609D0938900EBEB88 /* dolphin.c */,
+ 002F3BF709D0938900EBEB88 /* shark.c */,
+ 002F3BF809D0938900EBEB88 /* swim.c */,
+ 002F3BF909D0938900EBEB88 /* whale.c */,
+ );
+ name = atlantis;
+ sourceTree = "<group>";
+ };
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3A2B09D0888800EBEB88 /* SDLMain.h */,
+ 002F3A2C09D0888800EBEB88 /* SDLMain.m */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 002F39F909D0881F00EBEB88 /* SDL.framework */,
+ 002F3C6009D0951E00EBEB88 /* GLUT.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ 002F3C0009D093BD00EBEB88 /* OpenGL.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* «PROJECTNAME».app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* «PROJECTNAMEASXML» */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = "«PROJECTNAMEASXML»";
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 002F3BF309D0937800EBEB88 /* atlantis */,
+ 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */,
+ 002F3A3E09D088BA00EBEB88 /* main.c */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* «PROJECTNAME» */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "«PROJECTNAME»" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
+ );
+ buildRules = (
+ );
+ buildSettings = {
+ };
+ dependencies = (
+ );
+ name = "«PROJECTNAME»";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "«PROJECTNAME»";
+ productReference = 8D1107320486CEB800E47090 /* «PROJECTNAME».app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDLOpenGLApp" */;
+ buildSettings = {
+ };
+ buildStyles = (
+ 4A9504CCFFE6A4B311CA0CBA /* Debug */,
+ 4A9504CDFFE6A4B311CA0CBA /* Release */,
+ );
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* «PROJECTNAMEASXML» */;
+ projectDirPath = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* «PROJECTNAME» */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */,
+ 002F3A3F09D088BA00EBEB88 /* main.c in Sources */,
+ 002F3BFA09D0938900EBEB88 /* atlantis.c in Sources */,
+ 002F3BFC09D0938900EBEB88 /* dolphin.c in Sources */,
+ 002F3BFD09D0938900EBEB88 /* shark.c in Sources */,
+ 002F3BFE09D0938900EBEB88 /* swim.c in Sources */,
+ 002F3BFF09D0938900EBEB88 /* whale.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "«PROJECTNAME»";
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = YES;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = (
+ ppc,
+ i386,
+ );
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = "«PROJECTNAME»";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks",
+ /Library/Frameworks,
+ "$(FRAMEWORK_SEARCH_PATHS)",
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(HOME)/Library/Frameworks/SDL.framework/Headers",
+ /Library/Frameworks/SDL.framework/Headers,
+ "$(HEADER_SEARCH_PATHS)",
+ );
+ PREBINDING = NO;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "«PROJECTNAME»" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDLOpenGLApp" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.c
new file mode 100644
index 0000000..4efdf6c
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.c
@@ -0,0 +1,459 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <sys/time.h>
+#include <GLUT/glut.h>
+#include "atlantis.h"
+
+fishRec sharks[NUM_SHARKS];
+fishRec momWhale;
+fishRec babyWhale;
+fishRec dolph;
+
+GLboolean Timing = GL_TRUE;
+
+int w_win = 640;
+int h_win = 480;
+GLint count = 0;
+GLenum StrMode = GL_VENDOR;
+
+GLboolean moving;
+
+static double mtime(void)
+{
+ struct timeval tk_time;
+ struct timezone tz;
+
+ gettimeofday(&tk_time, &tz);
+
+ return 4294.967296 * tk_time.tv_sec + 0.000001 * tk_time.tv_usec;
+}
+
+static double filter(double in, double *save)
+{
+ static double k1 = 0.9;
+ static double k2 = 0.05;
+
+ save[3] = in;
+ save[1] = save[0]*k1 + k2*(save[3] + save[2]);
+
+ save[0]=save[1];
+ save[2]=save[3];
+
+ return(save[1]);
+}
+
+void DrawStr(const char *str)
+{
+ GLint i = 0;
+
+ if(!str) return;
+
+ while(str[i])
+ {
+ glutBitmapCharacter(GLUT_BITMAP_HELVETICA_12, str[i]);
+ i++;
+ }
+}
+
+void
+InitFishs(void)
+{
+ int i;
+
+ for (i = 0; i < NUM_SHARKS; i++) {
+ sharks[i].x = 70000.0 + rand() % 6000;
+ sharks[i].y = rand() % 6000;
+ sharks[i].z = rand() % 6000;
+ sharks[i].psi = rand() % 360 - 180.0;
+ sharks[i].v = 1.0;
+ }
+
+ dolph.x = 30000.0;
+ dolph.y = 0.0;
+ dolph.z = 6000.0;
+ dolph.psi = 90.0;
+ dolph.theta = 0.0;
+ dolph.v = 3.0;
+
+ momWhale.x = 70000.0;
+ momWhale.y = 0.0;
+ momWhale.z = 0.0;
+ momWhale.psi = 90.0;
+ momWhale.theta = 0.0;
+ momWhale.v = 3.0;
+
+ babyWhale.x = 60000.0;
+ babyWhale.y = -2000.0;
+ babyWhale.z = -2000.0;
+ babyWhale.psi = 90.0;
+ babyWhale.theta = 0.0;
+ babyWhale.v = 3.0;
+}
+
+void
+Atlantis_Init(void)
+{
+ static float ambient[] = {0.2, 0.2, 0.2, 1.0};
+ static float diffuse[] = {1.0, 1.0, 1.0, 1.0};
+ static float position[] = {0.0, 1.0, 0.0, 0.0};
+ static float mat_shininess[] = {90.0};
+ static float mat_specular[] = {0.8, 0.8, 0.8, 1.0};
+ static float mat_diffuse[] = {0.46, 0.66, 0.795, 1.0};
+ static float mat_ambient[] = {0.3, 0.4, 0.5, 1.0};
+ static float lmodel_ambient[] = {0.4, 0.4, 0.4, 1.0};
+ static float lmodel_localviewer[] = {0.0};
+ //GLfloat map1[4] = {0.0, 0.0, 0.0, 0.0};
+ //GLfloat map2[4] = {0.0, 0.0, 0.0, 0.0};
+ static float fog_color[] = {0.0, 0.5, 0.9, 1.0};
+
+ glFrontFace(GL_CCW);
+
+ glDepthFunc(GL_LESS);
+ glEnable(GL_DEPTH_TEST);
+
+ glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
+ glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
+ glLightfv(GL_LIGHT0, GL_POSITION, position);
+ glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
+ glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, lmodel_localviewer);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, mat_shininess);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mat_specular);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, mat_diffuse);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, mat_ambient);
+
+ InitFishs();
+
+ glEnable(GL_FOG);
+ glFogi(GL_FOG_MODE, GL_EXP);
+ glFogf(GL_FOG_DENSITY, 0.0000025);
+ glFogfv(GL_FOG_COLOR, fog_color);
+
+ glClearColor(0.0, 0.5, 0.9, 1.0);
+}
+
+void
+Atlantis_Reshape(int width, int height)
+{
+ w_win = width;
+ h_win = height;
+
+ glViewport(0, 0, width, height);
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(60.0, (GLfloat) width / (GLfloat) height, 20000.0, 300000.0);
+ glMatrixMode(GL_MODELVIEW);
+}
+
+void
+Atlantis_Animate(void)
+{
+ int i;
+
+ for (i = 0; i < NUM_SHARKS; i++) {
+ SharkPilot(&sharks[i]);
+ SharkMiss(i);
+ }
+ WhalePilot(&dolph);
+ dolph.phi++;
+ //glutPostRedisplay();
+ WhalePilot(&momWhale);
+ momWhale.phi++;
+ WhalePilot(&babyWhale);
+ babyWhale.phi++;
+}
+
+void
+Atlantis_Key(unsigned char key, int x, int y)
+{
+ switch (key) {
+ case 't':
+ Timing = !Timing;
+ break;
+ case ' ':
+ switch(StrMode)
+ {
+ case GL_EXTENSIONS:
+ StrMode = GL_VENDOR;
+ break;
+ case GL_VENDOR:
+ StrMode = GL_RENDERER;
+ break;
+ case GL_RENDERER:
+ StrMode = GL_VERSION;
+ break;
+ case GL_VERSION:
+ StrMode = GL_EXTENSIONS;
+ break;
+ }
+ break;
+ case 27: /* Esc will quit */
+ exit(1);
+ break;
+ case 's': /* "s" start animation */
+ moving = GL_TRUE;
+ //glutIdleFunc(Animate);
+ break;
+ case 'a': /* "a" stop animation */
+ moving = GL_FALSE;
+ //glutIdleFunc(NULL);
+ break;
+ case '.': /* "." will advance frame */
+ if (!moving) {
+ Atlantis_Animate();
+ }
+ }
+}
+/*
+void Display(void)
+{
+ static float P123[3] = {-448.94, -203.14, 9499.60};
+ static float P124[3] = {-442.64, -185.20, 9528.07};
+ static float P125[3] = {-441.07, -148.05, 9528.07};
+ static float P126[3] = {-443.43, -128.84, 9499.60};
+ static float P127[3] = {-456.87, -146.78, 9466.67};
+ static float P128[3] = {-453.68, -183.93, 9466.67};
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ glPushMatrix();
+ FishTransform(&dolph);
+ DrawDolphin(&dolph);
+ glPopMatrix();
+
+ glutSwapBuffers();
+}
+*/
+
+void
+Atlantis_Display(void)
+{
+ int i;
+ static double th[4] = {0.0, 0.0, 0.0, 0.0};
+ static double t1 = 0.0, t2 = 0.0, t;
+ char num_str[128];
+
+ t1 = t2;
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ for (i = 0; i < NUM_SHARKS; i++) {
+ glPushMatrix();
+ FishTransform(&sharks[i]);
+ DrawShark(&sharks[i]);
+ glPopMatrix();
+ }
+
+ glPushMatrix();
+ FishTransform(&dolph);
+ DrawDolphin(&dolph);
+ glPopMatrix();
+
+ glPushMatrix();
+ FishTransform(&momWhale);
+ DrawWhale(&momWhale);
+ glPopMatrix();
+
+ glPushMatrix();
+ FishTransform(&babyWhale);
+ glScalef(0.45, 0.45, 0.3);
+ DrawWhale(&babyWhale);
+ glPopMatrix();
+
+ if(Timing)
+ {
+ t2 = mtime();
+ t = t2 - t1;
+ if(t > 0.0001) t = 1.0 / t;
+
+ glDisable(GL_LIGHTING);
+ //glDisable(GL_DEPTH_TEST);
+
+ glColor3f(1.0, 0.0, 0.0);
+
+ glMatrixMode (GL_PROJECTION);
+ glPushMatrix();
+ glLoadIdentity();
+ glOrtho(0, w_win, 0, h_win, -10.0, 10.0);
+
+ glRasterPos2f(5.0, 5.0);
+
+ switch(StrMode)
+ {
+ case GL_VENDOR:
+ sprintf(num_str, "%0.2f Hz, %dx%d, VENDOR: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_VENDOR));
+ break;
+ case GL_RENDERER:
+ sprintf(num_str, "%0.2f Hz, %dx%d, RENDERER: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_RENDERER));
+ break;
+ case GL_VERSION:
+ sprintf(num_str, "%0.2f Hz, %dx%d, VERSION: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_VERSION));
+ break;
+ case GL_EXTENSIONS:
+ sprintf(num_str, "%0.2f Hz, %dx%d, EXTENSIONS: ", filter(t, th), w_win, h_win);
+ DrawStr(num_str);
+ DrawStr(glGetString(GL_EXTENSIONS));
+ break;
+ }
+
+ glPopMatrix();
+ glMatrixMode(GL_MODELVIEW);
+
+ glEnable(GL_LIGHTING);
+ //glEnable(GL_DEPTH_TEST);
+ }
+
+ count++;
+
+ glutSwapBuffers();
+}
+
+/*
+void
+Visible(int state)
+{
+ if (state == GLUT_VISIBLE) {
+ if (moving)
+ glutIdleFunc(Animate);
+ } else {
+ if (moving)
+ glutIdleFunc(NULL);
+ }
+}
+
+
+void
+timingSelect(int value)
+{
+ switch(value)
+ {
+ case 1:
+ StrMode = GL_VENDOR;
+ break;
+ case 2:
+ StrMode = GL_RENDERER;
+ break;
+ case 3:
+ StrMode = GL_VERSION;
+ break;
+ case 4:
+ StrMode = GL_EXTENSIONS;
+ break;
+ }
+}
+
+void
+menuSelect(int value)
+{
+ switch (value) {
+ case 1:
+ moving = GL_TRUE;
+ glutIdleFunc(Animate);
+ break;
+ case 2:
+ moving = GL_FALSE;
+ glutIdleFunc(NULL);
+ break;
+ case 4:
+ exit(0);
+ break;
+ }
+}
+
+int
+main(int argc, char **argv)
+{
+ GLboolean fullscreen = GL_FALSE;
+ GLint time_menu;
+
+ srand(0);
+
+ glutInit(&argc, argv);
+ if (argc > 1 && !strcmp(argv[1], "-w"))
+ fullscreen = GL_FALSE;
+
+ //glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
+ glutInitDisplayString("rgba double depth=24");
+ if (fullscreen) {
+ glutGameModeString("1024x768:32");
+ glutEnterGameMode();
+ } else {
+ glutInitWindowSize(320, 240);
+ glutCreateWindow("Atlantis Timing");
+ }
+ Init();
+ glutDisplayFunc(Display);
+ glutReshapeFunc(Reshape);
+ glutKeyboardFunc(Key);
+ moving = GL_TRUE;
+glutIdleFunc(Animate);
+ glutVisibilityFunc(Visible);
+
+ time_menu = glutCreateMenu(timingSelect);
+ glutAddMenuEntry("GL_VENDOR", 1);
+ glutAddMenuEntry("GL_RENDERER", 2);
+ glutAddMenuEntry("GL_VERSION", 3);
+ glutAddMenuEntry("GL_EXTENSIONS", 4);
+
+ glutCreateMenu(menuSelect);
+ glutAddMenuEntry("Start motion", 1);
+ glutAddMenuEntry("Stop motion", 2);
+ glutAddSubMenu("Timing Mode", time_menu);
+ glutAddMenuEntry("Quit", 4);
+
+ //glutAttachMenu(GLUT_RIGHT_BUTTON);
+ glutAttachMenu(GLUT_RIGHT_BUTTON);
+ glutMainLoop();
+ return 0; // ANSI C requires main to return int.
+}
+*/ \ No newline at end of file
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.h b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.h
new file mode 100644
index 0000000..6ccf2d5
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.h
@@ -0,0 +1,65 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#define RAD 57.295
+#define RRAD 0.01745
+
+#define NUM_SHARKS 4
+#define SHARKSIZE 6000
+#define SHARKSPEED 100.0
+
+#define WHALESPEED 250.0
+
+typedef struct _fishRec {
+ float x, y, z, phi, theta, psi, v;
+ float xt, yt, zt;
+ float htail, vtail;
+ float dtheta;
+ int spurt, attack;
+} fishRec;
+
+extern fishRec sharks[NUM_SHARKS];
+extern fishRec momWhale;
+extern fishRec babyWhale;
+extern fishRec dolph;
+
+extern void FishTransform(fishRec *);
+extern void WhalePilot(fishRec *);
+extern void SharkPilot(fishRec *);
+extern void SharkMiss(int);
+extern void DrawWhale(fishRec *);
+extern void DrawShark(fishRec *);
+extern void DrawDolphin(fishRec *);
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/dolphin.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/dolphin.c
new file mode 100644
index 0000000..9fba3ba
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/dolphin.c
@@ -0,0 +1,1934 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <math.h>
+#include <GLUT/glut.h>
+#include "atlantis.h"
+/* *INDENT-OFF* */
+static float N001[3] = {-0.005937 ,-0.101998 ,-0.994767};
+static float N002[3] = {0.936780 ,-0.200803 ,0.286569};
+static float N003[3] = {-0.233062 ,0.972058 ,0.028007};
+static float N005[3] = {0.898117 ,0.360171 ,0.252315};
+static float N006[3] = {-0.915437 ,0.348456 ,0.201378};
+static float N007[3] = {0.602263 ,-0.777527 ,0.180920};
+static float N008[3] = {-0.906912 ,-0.412015 ,0.088061};
+static float N012[3] = {0.884408 ,-0.429417 ,-0.182821};
+static float N013[3] = {0.921121 ,0.311084 ,-0.234016};
+static float N014[3] = {0.382635 ,0.877882 ,-0.287948};
+static float N015[3] = {-0.380046 ,0.888166 ,-0.258316};
+static float N016[3] = {-0.891515 ,0.392238 ,-0.226607};
+static float N017[3] = {-0.901419 ,-0.382002 ,-0.203763};
+static float N018[3] = {-0.367225 ,-0.911091 ,-0.187243};
+static float N019[3] = {0.339539 ,-0.924846 ,-0.171388};
+static float N020[3] = {0.914706 ,-0.378617 ,-0.141290};
+static float N021[3] = {0.950662 ,0.262713 ,-0.164994};
+static float N022[3] = {0.546359 ,0.801460 ,-0.243218};
+static float N023[3] = {-0.315796 ,0.917068 ,-0.243431};
+static float N024[3] = {-0.825687 ,0.532277 ,-0.186875};
+static float N025[3] = {-0.974763 ,-0.155232 ,-0.160435};
+static float N026[3] = {-0.560596 ,-0.816658 ,-0.137119};
+static float N027[3] = {0.380210 ,-0.910817 ,-0.160786};
+static float N028[3] = {0.923772 ,-0.358322 ,-0.135093};
+static float N029[3] = {0.951202 ,0.275053 ,-0.139859};
+static float N030[3] = {0.686099 ,0.702548 ,-0.188932};
+static float N031[3] = {-0.521865 ,0.826719 ,-0.210220};
+static float N032[3] = {-0.923820 ,0.346739 ,-0.162258};
+static float N033[3] = {-0.902095 ,-0.409995 ,-0.134646};
+static float N034[3] = {-0.509115 ,-0.848498 ,-0.144404};
+static float N035[3] = {0.456469 ,-0.880293 ,-0.129305};
+static float N036[3] = {0.873401 ,-0.475489 ,-0.105266};
+static float N037[3] = {0.970825 ,0.179861 ,-0.158584};
+static float N038[3] = {0.675609 ,0.714187 ,-0.183004};
+static float N039[3] = {-0.523574 ,0.830212 ,-0.191360};
+static float N040[3] = {-0.958895 ,0.230808 ,-0.165071};
+static float N041[3] = {-0.918285 ,-0.376803 ,-0.121542};
+static float N042[3] = {-0.622467 ,-0.774167 ,-0.114888};
+static float N043[3] = {0.404497 ,-0.908807 ,-0.102231};
+static float N044[3] = {0.930538 ,-0.365155 ,-0.027588};
+static float N045[3] = {0.921920 ,0.374157 ,-0.100345};
+static float N046[3] = {0.507346 ,0.860739 ,0.041562};
+static float N047[3] = {-0.394646 ,0.918815 ,-0.005730};
+static float N048[3] = {-0.925411 ,0.373024 ,-0.066837};
+static float N049[3] = {-0.945337 ,-0.322309 ,-0.049551};
+static float N050[3] = {-0.660437 ,-0.750557 ,-0.022072};
+static float N051[3] = {0.488835 ,-0.871950 ,-0.027261};
+static float N052[3] = {0.902599 ,-0.421397 ,0.087969};
+static float N053[3] = {0.938636 ,0.322606 ,0.122020};
+static float N054[3] = {0.484605 ,0.871078 ,0.079878};
+static float N055[3] = {-0.353607 ,0.931559 ,0.084619};
+static float N056[3] = {-0.867759 ,0.478564 ,0.134054};
+static float N057[3] = {-0.951583 ,-0.296030 ,0.082794};
+static float N058[3] = {-0.672355 ,-0.730209 ,0.121384};
+static float N059[3] = {0.528336 ,-0.842452 ,0.105525};
+static float N060[3] = {0.786913 ,-0.564760 ,0.248627};
+static float N062[3] = {0.622098 ,0.765230 ,0.165584};
+static float N063[3] = {-0.631711 ,0.767816 ,0.106773};
+static float N064[3] = {-0.687886 ,0.606351 ,0.398938};
+static float N065[3] = {-0.946327 ,-0.281623 ,0.158598};
+static float N066[3] = {-0.509549 ,-0.860437 ,0.002776};
+static float N067[3] = {0.462594 ,-0.876692 ,0.131977};
+static float N071[3] = {0.000000 ,1.000000 ,0.000000};
+static float N077[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N078[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N079[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N080[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N081[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N082[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N083[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N084[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N085[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N086[3] = {-0.571197 ,0.816173 ,0.087152};
+static float N087[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N088[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N089[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N090[3] = {-0.880770 ,0.461448 ,0.106351};
+static float N091[3] = {0.000000 ,1.000000 ,0.000000};
+static float N092[3] = {0.000000 ,1.000000 ,0.000000};
+static float N093[3] = {0.000000 ,1.000000 ,0.000000};
+static float N094[3] = {1.000000 ,0.000000 ,0.000000};
+static float N095[3] = {-1.000000 ,0.000000 ,0.000000};
+static float N097[3] = {-0.697296 ,0.702881 ,0.140491};
+static float N098[3] = {0.918864 ,0.340821 ,0.198819};
+static float N099[3] = {-0.932737 ,0.201195 ,0.299202};
+static float N100[3] = {0.029517 ,0.981679 ,0.188244};
+static float N102[3] = {0.813521 ,-0.204936 ,0.544229};
+static float N110[3] = {-0.781480 ,-0.384779 ,0.491155};
+static float N111[3] = {-0.722243 ,0.384927 ,0.574627};
+static float N112[3] = {-0.752278 ,0.502679 ,0.425901};
+static float N113[3] = {0.547257 ,0.367910 ,0.751766};
+static float N114[3] = {0.725949 ,-0.232568 ,0.647233};
+static float N115[3] = {-0.747182 ,-0.660786 ,0.071280};
+static float N116[3] = {0.931519 ,0.200748 ,0.303270};
+static float N117[3] = {-0.828928 ,0.313757 ,0.463071};
+static float N118[3] = {0.902554 ,-0.370967 ,0.218587};
+static float N119[3] = {-0.879257 ,-0.441851 ,0.177973};
+static float N120[3] = {0.642327 ,0.611901 ,0.461512};
+static float N121[3] = {0.964817 ,-0.202322 ,0.167910};
+static float N122[3] = {0.000000 ,1.000000 ,0.000000};
+static float P001[3] = {5.68, -300.95, 1324.70};
+static float P002[3] = {338.69, -219.63, 9677.03};
+static float P003[3] = {12.18, 474.59, 9138.14};
+static float P005[3] = {487.51, 198.05, 9350.78};
+static float P006[3] = {-457.61, 68.74, 9427.85};
+static float P007[3] = {156.52, -266.72, 10311.68};
+static float P008[3] = {-185.56, -266.51, 10310.47};
+static float P009[3] = {124.39, -261.46, 1942.34};
+static float P010[3] = {-130.05, -261.46, 1946.03};
+static float P011[3] = {141.07, -320.11, 1239.38};
+static float P012[3] = {156.48, -360.12, 2073.41};
+static float P013[3] = {162.00, -175.88, 2064.44};
+static float P014[3] = {88.16, -87.72, 2064.02};
+static float P015[3] = {-65.21, -96.13, 2064.02};
+static float P016[3] = {-156.48, -180.96, 2064.44};
+static float P017[3] = {-162.00, -368.93, 2082.39};
+static float P018[3] = {-88.16, -439.22, 2082.39};
+static float P019[3] = {65.21, -440.32, 2083.39};
+static float P020[3] = {246.87, -356.02, 2576.95};
+static float P021[3] = {253.17, -111.15, 2567.15};
+static float P022[3] = {132.34, 51.41, 2559.84};
+static float P023[3] = {-97.88, 40.44, 2567.15};
+static float P024[3] = {-222.97, -117.49, 2567.15};
+static float P025[3] = {-252.22, -371.53, 2569.92};
+static float P026[3] = {-108.44, -518.19, 2586.75};
+static float P027[3] = {97.88, -524.79, 2586.75};
+static float P028[3] = {370.03, -421.19, 3419.70};
+static float P029[3] = {351.15, -16.98, 3423.17};
+static float P030[3] = {200.66, 248.46, 3430.37};
+static float P031[3] = {-148.42, 235.02, 3417.91};
+static float P032[3] = {-360.21, -30.27, 3416.84};
+static float P033[3] = {-357.90, -414.89, 3407.04};
+static float P034[3] = {-148.88, -631.35, 3409.90};
+static float P035[3] = {156.38, -632.59, 3419.70};
+static float P036[3] = {462.61, -469.21, 4431.51};
+static float P037[3] = {466.60, 102.25, 4434.98};
+static float P038[3] = {243.05, 474.34, 4562.02};
+static float P039[3] = {-191.23, 474.40, 4554.42};
+static float P040[3] = {-476.12, 111.05, 4451.11};
+static float P041[3] = {-473.36, -470.74, 4444.78};
+static float P042[3] = {-266.95, -748.41, 4447.78};
+static float P043[3] = {211.14, -749.91, 4429.73};
+static float P044[3] = {680.57, -370.27, 5943.46};
+static float P045[3] = {834.01, 363.09, 6360.63};
+static float P046[3] = {371.29, 804.51, 6486.26};
+static float P047[3] = {-291.43, 797.22, 6494.28};
+static float P048[3] = {-784.13, 370.75, 6378.01};
+static float P049[3] = {-743.29, -325.82, 5943.46};
+static float P050[3] = {-383.24, -804.77, 5943.46};
+static float P051[3] = {283.47, -846.09, 5943.46};
+static float iP001[3] = {5.68, -300.95, 1324.70};
+static float iP009[3] = {124.39, -261.46, 1942.34};
+static float iP010[3] = {-130.05, -261.46, 1946.03};
+static float iP011[3] = {141.07, -320.11, 1239.38};
+static float iP012[3] = {156.48, -360.12, 2073.41};
+static float iP013[3] = {162.00, -175.88, 2064.44};
+static float iP014[3] = {88.16, -87.72, 2064.02};
+static float iP015[3] = {-65.21, -96.13, 2064.02};
+static float iP016[3] = {-156.48, -180.96, 2064.44};
+static float iP017[3] = {-162.00, -368.93, 2082.39};
+static float iP018[3] = {-88.16, -439.22, 2082.39};
+static float iP019[3] = {65.21, -440.32, 2083.39};
+static float iP020[3] = {246.87, -356.02, 2576.95};
+static float iP021[3] = {253.17, -111.15, 2567.15};
+static float iP022[3] = {132.34, 51.41, 2559.84};
+static float iP023[3] = {-97.88, 40.44, 2567.15};
+static float iP024[3] = {-222.97, -117.49, 2567.15};
+static float iP025[3] = {-252.22, -371.53, 2569.92};
+static float iP026[3] = {-108.44, -518.19, 2586.75};
+static float iP027[3] = {97.88, -524.79, 2586.75};
+static float iP028[3] = {370.03, -421.19, 3419.70};
+static float iP029[3] = {351.15, -16.98, 3423.17};
+static float iP030[3] = {200.66, 248.46, 3430.37};
+static float iP031[3] = {-148.42, 235.02, 3417.91};
+static float iP032[3] = {-360.21, -30.27, 3416.84};
+static float iP033[3] = {-357.90, -414.89, 3407.04};
+static float iP034[3] = {-148.88, -631.35, 3409.90};
+static float iP035[3] = {156.38, -632.59, 3419.70};
+static float iP036[3] = {462.61, -469.21, 4431.51};
+static float iP037[3] = {466.60, 102.25, 4434.98};
+static float iP038[3] = {243.05, 474.34, 4562.02};
+static float iP039[3] = {-191.23, 474.40, 4554.42};
+static float iP040[3] = {-476.12, 111.05, 4451.11};
+static float iP041[3] = {-473.36, -470.74, 4444.78};
+static float iP042[3] = {-266.95, -748.41, 4447.78};
+static float iP043[3] = {211.14, -749.91, 4429.73};
+static float iP044[3] = {680.57, -370.27, 5943.46};
+static float iP045[3] = {834.01, 363.09, 6360.63};
+static float iP046[3] = {371.29, 804.51, 6486.26};
+static float iP047[3] = {-291.43, 797.22, 6494.28};
+static float iP048[3] = {-784.13, 370.75, 6378.01};
+static float iP049[3] = {-743.29, -325.82, 5943.46};
+static float iP050[3] = {-383.24, -804.77, 5943.46};
+static float iP051[3] = {283.47, -846.09, 5943.46};
+static float P052[3] = {599.09, -300.15, 7894.03};
+static float P053[3] = {735.48, 306.26, 7911.92};
+static float P054[3] = {246.22, 558.53, 8460.50};
+static float P055[3] = {-230.41, 559.84, 8473.23};
+static float P056[3] = {-698.66, 320.83, 7902.59};
+static float P057[3] = {-643.29, -299.16, 7902.59};
+static float P058[3] = {-341.47, -719.30, 7902.59};
+static float P059[3] = {252.57, -756.12, 7902.59};
+static float P060[3] = {458.39, -265.31, 9355.44};
+static float P062[3] = {224.04, 338.75, 9450.30};
+static float P063[3] = {-165.71, 341.04, 9462.35};
+static float P064[3] = {-298.11, 110.13, 10180.37};
+static float P065[3] = {-473.99, -219.71, 9355.44};
+static float P066[3] = {-211.97, -479.87, 9355.44};
+static float P067[3] = {192.86, -491.45, 9348.73};
+static float P068[3] = {-136.29, -319.84, 1228.73};
+static float P069[3] = {1111.17, -314.14, 1314.19};
+static float P070[3] = {-1167.34, -321.61, 1319.45};
+static float P071[3] = {1404.86, -306.66, 1235.45};
+static float P072[3] = {-1409.73, -314.14, 1247.66};
+static float P073[3] = {1254.01, -296.87, 1544.58};
+static float P074[3] = {-1262.09, -291.70, 1504.26};
+static float P075[3] = {965.71, -269.26, 1742.65};
+static float P076[3] = {-900.97, -276.74, 1726.07};
+static float iP068[3] = {-136.29, -319.84, 1228.73};
+static float iP069[3] = {1111.17, -314.14, 1314.19};
+static float iP070[3] = {-1167.34, -321.61, 1319.45};
+static float iP071[3] = {1404.86, -306.66, 1235.45};
+static float iP072[3] = {-1409.73, -314.14, 1247.66};
+static float iP073[3] = {1254.01, -296.87, 1544.58};
+static float iP074[3] = {-1262.09, -291.70, 1504.26};
+static float iP075[3] = {965.71, -269.26, 1742.65};
+static float iP076[3] = {-900.97, -276.74, 1726.07};
+static float P077[3] = {1058.00, -448.81, 8194.66};
+static float P078[3] = {-1016.51, -456.43, 8190.62};
+static float P079[3] = {-1515.96, -676.45, 7754.93};
+static float P080[3] = {1856.75, -830.34, 7296.56};
+static float P081[3] = {1472.16, -497.38, 7399.68};
+static float P082[3] = {-1775.26, -829.51, 7298.46};
+static float P083[3] = {911.09, -252.51, 7510.99};
+static float P084[3] = {-1451.94, -495.62, 7384.30};
+static float P085[3] = {1598.75, -669.26, 7769.90};
+static float P086[3] = {-836.53, -250.08, 7463.25};
+static float P087[3] = {722.87, -158.18, 8006.41};
+static float P088[3] = {-688.86, -162.28, 7993.89};
+static float P089[3] = {-626.92, -185.30, 8364.98};
+static float P090[3] = {647.72, -189.46, 8354.99};
+static float P091[3] = {0.00, 835.01, 5555.62};
+static float P092[3] = {0.00, 1350.18, 5220.86};
+static float P093[3] = {0.00, 1422.94, 5285.27};
+static float P094[3] = {0.00, 1296.75, 5650.19};
+static float P095[3] = {0.00, 795.63, 6493.88};
+static float iP091[3] = {0.00, 835.01, 5555.62};
+static float iP092[3] = {0.00, 1350.18, 5220.86};
+static float iP093[3] = {0.00, 1422.94, 5285.27};
+static float iP094[3] = {0.00, 1296.75, 5650.19};
+static float iP095[3] = {0.00, 795.63, 6493.88};
+static float P097[3] = {-194.91, -357.14, 10313.32};
+static float P098[3] = {135.35, -357.66, 10307.94};
+static float iP097[3] = {-194.91, -357.14, 10313.32};
+static float iP098[3] = {135.35, -357.66, 10307.94};
+static float P099[3] = {-380.53, -221.14, 9677.98};
+static float P100[3] = {0.00, 412.99, 9629.33};
+static float P102[3] = {59.51, -412.55, 10677.58};
+static float iP102[3] = {59.51, -412.55, 10677.58};
+static float P103[3] = {6.50, 484.74, 9009.94};
+static float P105[3] = {-41.86, 476.51, 9078.17};
+static float P108[3] = {49.20, 476.83, 9078.24};
+static float P110[3] = {-187.62, -410.04, 10674.12};
+static float iP110[3] = {-187.62, -410.04, 10674.12};
+static float P111[3] = {-184.25, -318.70, 10723.88};
+static float iP111[3] = {-184.25, -318.70, 10723.88};
+static float P112[3] = {-179.61, -142.81, 10670.26};
+static float P113[3] = {57.43, -147.94, 10675.26};
+static float P114[3] = {54.06, -218.90, 10712.44};
+static float P115[3] = {-186.35, -212.09, 10713.76};
+static float P116[3] = {205.90, -84.61, 10275.97};
+static float P117[3] = {-230.96, -83.26, 10280.09};
+static float iP118[3] = {216.78, -509.17, 10098.94};
+static float iP119[3] = {-313.21, -510.79, 10102.62};
+static float P118[3] = {216.78, -509.17, 10098.94};
+static float P119[3] = {-313.21, -510.79, 10102.62};
+static float P120[3] = {217.95, 96.34, 10161.62};
+static float P121[3] = {71.99, -319.74, 10717.70};
+static float iP121[3] = {71.99, -319.74, 10717.70};
+static float P122[3] = {0.00, 602.74, 5375.84};
+static float iP122[3] = {0.00, 602.74, 5375.84};
+static float P123[3] = {-448.94, -203.14, 9499.60};
+static float P124[3] = {-442.64, -185.20, 9528.07};
+static float P125[3] = {-441.07, -148.05, 9528.07};
+static float P126[3] = {-443.43, -128.84, 9499.60};
+static float P127[3] = {-456.87, -146.78, 9466.67};
+static float P128[3] = {-453.68, -183.93, 9466.67};
+static float P129[3] = {428.43, -124.08, 9503.03};
+static float P130[3] = {419.73, -142.14, 9534.56};
+static float P131[3] = {419.92, -179.96, 9534.56};
+static float P132[3] = {431.20, -199.73, 9505.26};
+static float P133[3] = {442.28, -181.67, 9475.96};
+static float P134[3] = {442.08, -143.84, 9475.96};
+/* *INDENT-ON* */
+
+void
+Dolphin001(void)
+{
+ glNormal3fv(N071);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P001);
+ glVertex3fv(P068);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P068);
+ glVertex3fv(P076);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P068);
+ glVertex3fv(P070);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P076);
+ glVertex3fv(P070);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P070);
+ glVertex3fv(P072);
+ glVertex3fv(P074);
+ glEnd();
+ glNormal3fv(N119);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P072);
+ glVertex3fv(P070);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P074);
+ glVertex3fv(P070);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P070);
+ glVertex3fv(P068);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P076);
+ glVertex3fv(P068);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P068);
+ glVertex3fv(P001);
+ glVertex3fv(P010);
+ glEnd();
+}
+
+void
+Dolphin002(void)
+{
+ glNormal3fv(N071);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P011);
+ glVertex3fv(P001);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P075);
+ glVertex3fv(P011);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P011);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P075);
+ glVertex3fv(P073);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P071);
+ glVertex3fv(P069);
+ glVertex3fv(P073);
+ glEnd();
+ glNormal3fv(N119);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P001);
+ glVertex3fv(P011);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P009);
+ glVertex3fv(P011);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P011);
+ glVertex3fv(P069);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P073);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P069);
+ glVertex3fv(P071);
+ glVertex3fv(P073);
+ glEnd();
+}
+
+void
+Dolphin003(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glEnd();
+}
+
+void
+Dolphin004(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glEnd();
+}
+
+void
+Dolphin005(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+}
+
+void
+Dolphin006(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N122);
+ glVertex3fv(P122);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N122);
+ glVertex3fv(P122);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glEnd();
+}
+
+void
+Dolphin007(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+}
+
+void
+Dolphin008(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glEnd();
+}
+
+void
+Dolphin009(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+}
+
+void
+Dolphin010(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+}
+
+void
+Dolphin011(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+}
+
+void
+Dolphin012(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+}
+
+void
+Dolphin013(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glNormal3fv(N113);
+ glVertex3fv(P113);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N114);
+ glVertex3fv(P114);
+ glNormal3fv(N113);
+ glVertex3fv(P113);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glNormal3fv(N115);
+ glVertex3fv(P115);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N114);
+ glVertex3fv(P114);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glNormal3fv(N113);
+ glVertex3fv(P113);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N114);
+ glVertex3fv(P114);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P002);
+ glVertex3fv(P007);
+ glVertex3fv(P008);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P007);
+ glVertex3fv(P114);
+ glVertex3fv(P115);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N112);
+ glVertex3fv(P112);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N115);
+ glVertex3fv(P115);
+ glEnd();
+}
+
+void
+Dolphin014(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N111);
+ glVertex3fv(P111);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glNormal3fv(N121);
+ glVertex3fv(P121);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N111);
+ glVertex3fv(P111);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P098);
+ glVertex3fv(P097);
+ glVertex3fv(P111);
+ glVertex3fv(P121);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P002);
+ glVertex3fv(P099);
+ glVertex3fv(P097);
+ glVertex3fv(P098);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N110);
+ glVertex3fv(P110);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N119);
+ glVertex3fv(P119);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N118);
+ glVertex3fv(P118);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N102);
+ glVertex3fv(P102);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glNormal3fv(N121);
+ glVertex3fv(P121);
+ glEnd();
+}
+
+void
+Dolphin015(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N117);
+ glVertex3fv(P117);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N120);
+ glVertex3fv(P120);
+ glNormal3fv(N116);
+ glVertex3fv(P116);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+}
+
+void
+Dolphin016(void)
+{
+
+ glDisable(GL_DEPTH_TEST);
+ glBegin(GL_POLYGON);
+ glVertex3fv(P123);
+ glVertex3fv(P124);
+ glVertex3fv(P125);
+ glVertex3fv(P126);
+ glVertex3fv(P127);
+ glVertex3fv(P128);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P129);
+ glVertex3fv(P130);
+ glVertex3fv(P131);
+ glVertex3fv(P132);
+ glVertex3fv(P133);
+ glVertex3fv(P134);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P103);
+ glVertex3fv(P105);
+ glVertex3fv(P108);
+ glEnd();
+ glEnable(GL_DEPTH_TEST);
+}
+
+void
+DrawDolphin(fishRec * fish)
+{
+ float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
+ float pitch, thrash, chomp;
+
+ fish->htail = (int) (fish->htail - (int) (10.0 * fish->v)) % 360;
+
+ thrash = 70.0 * fish->v;
+
+ seg0 = 1.0 * thrash * sin((fish->htail) * RRAD);
+ seg3 = 1.0 * thrash * sin((fish->htail) * RRAD);
+ seg1 = 2.0 * thrash * sin((fish->htail + 4.0) * RRAD);
+ seg2 = 3.0 * thrash * sin((fish->htail + 6.0) * RRAD);
+ seg4 = 4.0 * thrash * sin((fish->htail + 10.0) * RRAD);
+ seg5 = 4.5 * thrash * sin((fish->htail + 15.0) * RRAD);
+ seg6 = 5.0 * thrash * sin((fish->htail + 20.0) * RRAD);
+ seg7 = 6.0 * thrash * sin((fish->htail + 30.0) * RRAD);
+
+ pitch = fish->v * sin((fish->htail + 180.0) * RRAD);
+
+ if (fish->v > 2.0) {
+ chomp = -(fish->v - 2.0) * 200.0;
+ }
+ chomp = 100.0;
+
+ P012[1] = iP012[1] + seg5;
+ P013[1] = iP013[1] + seg5;
+ P014[1] = iP014[1] + seg5;
+ P015[1] = iP015[1] + seg5;
+ P016[1] = iP016[1] + seg5;
+ P017[1] = iP017[1] + seg5;
+ P018[1] = iP018[1] + seg5;
+ P019[1] = iP019[1] + seg5;
+
+ P020[1] = iP020[1] + seg4;
+ P021[1] = iP021[1] + seg4;
+ P022[1] = iP022[1] + seg4;
+ P023[1] = iP023[1] + seg4;
+ P024[1] = iP024[1] + seg4;
+ P025[1] = iP025[1] + seg4;
+ P026[1] = iP026[1] + seg4;
+ P027[1] = iP027[1] + seg4;
+
+ P028[1] = iP028[1] + seg2;
+ P029[1] = iP029[1] + seg2;
+ P030[1] = iP030[1] + seg2;
+ P031[1] = iP031[1] + seg2;
+ P032[1] = iP032[1] + seg2;
+ P033[1] = iP033[1] + seg2;
+ P034[1] = iP034[1] + seg2;
+ P035[1] = iP035[1] + seg2;
+
+ P036[1] = iP036[1] + seg1;
+ P037[1] = iP037[1] + seg1;
+ P038[1] = iP038[1] + seg1;
+ P039[1] = iP039[1] + seg1;
+ P040[1] = iP040[1] + seg1;
+ P041[1] = iP041[1] + seg1;
+ P042[1] = iP042[1] + seg1;
+ P043[1] = iP043[1] + seg1;
+
+ P044[1] = iP044[1] + seg0;
+ P045[1] = iP045[1] + seg0;
+ P046[1] = iP046[1] + seg0;
+ P047[1] = iP047[1] + seg0;
+ P048[1] = iP048[1] + seg0;
+ P049[1] = iP049[1] + seg0;
+ P050[1] = iP050[1] + seg0;
+ P051[1] = iP051[1] + seg0;
+
+ P009[1] = iP009[1] + seg6;
+ P010[1] = iP010[1] + seg6;
+ P075[1] = iP075[1] + seg6;
+ P076[1] = iP076[1] + seg6;
+
+ P001[1] = iP001[1] + seg7;
+ P011[1] = iP011[1] + seg7;
+ P068[1] = iP068[1] + seg7;
+ P069[1] = iP069[1] + seg7;
+ P070[1] = iP070[1] + seg7;
+ P071[1] = iP071[1] + seg7;
+ P072[1] = iP072[1] + seg7;
+ P073[1] = iP073[1] + seg7;
+ P074[1] = iP074[1] + seg7;
+
+ P091[1] = iP091[1] + seg3;
+ P092[1] = iP092[1] + seg3;
+ P093[1] = iP093[1] + seg3;
+ P094[1] = iP094[1] + seg3;
+ P095[1] = iP095[1] + seg3;
+ P122[1] = iP122[1] + seg3 * 1.5;
+
+ P097[1] = iP097[1] + chomp;
+ P098[1] = iP098[1] + chomp;
+ P102[1] = iP102[1] + chomp;
+ P110[1] = iP110[1] + chomp;
+ P111[1] = iP111[1] + chomp;
+ P121[1] = iP121[1] + chomp;
+ P118[1] = iP118[1] + chomp;
+ P119[1] = iP119[1] + chomp;
+
+ glPushMatrix();
+
+ glRotatef(pitch, 1.0, 0.0, 0.0);
+
+ glTranslatef(0.0, 0.0, 7000.0);
+
+ glRotatef(180.0, 0.0, 1.0, 0.0);
+
+ glEnable(GL_CULL_FACE);
+ Dolphin014();
+ Dolphin010();
+ Dolphin009();
+ Dolphin012();
+ Dolphin013();
+ Dolphin006();
+ Dolphin002();
+ Dolphin001();
+ Dolphin003();
+ Dolphin015();
+ Dolphin004();
+ Dolphin005();
+ Dolphin007();
+ Dolphin008();
+ Dolphin011();
+ Dolphin016();
+ glDisable(GL_CULL_FACE);
+
+ glPopMatrix();
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/shark.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/shark.c
new file mode 100644
index 0000000..9c847db
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/shark.c
@@ -0,0 +1,1308 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <GLUT/glut.h>
+#include <math.h>
+#include "atlantis.h"
+/* *INDENT-OFF* */
+static float N002[3] = {0.000077 ,-0.020611 ,0.999788};
+static float N003[3] = {0.961425 ,0.258729 ,-0.093390};
+static float N004[3] = {0.510811 ,-0.769633 ,-0.383063};
+static float N005[3] = {0.400123 ,0.855734 ,-0.328055};
+static float N006[3] = {-0.770715 ,0.610204 ,-0.183440};
+static float N007[3] = {-0.915597 ,-0.373345 ,-0.149316};
+static float N008[3] = {-0.972788 ,0.208921 ,-0.100179};
+static float N009[3] = {-0.939713 ,-0.312268 ,-0.139383};
+static float N010[3] = {-0.624138 ,-0.741047 ,-0.247589};
+static float N011[3] = {0.591434 ,-0.768401 ,-0.244471};
+static float N012[3] = {0.935152 ,-0.328495 ,-0.132598};
+static float N013[3] = {0.997102 ,0.074243 ,-0.016593};
+static float N014[3] = {0.969995 ,0.241712 ,-0.026186};
+static float N015[3] = {0.844539 ,0.502628 ,-0.184714};
+static float N016[3] = {-0.906608 ,0.386308 ,-0.169787};
+static float N017[3] = {-0.970016 ,0.241698 ,-0.025516};
+static float N018[3] = {-0.998652 ,0.050493 ,-0.012045};
+static float N019[3] = {-0.942685 ,-0.333051 ,-0.020556};
+static float N020[3] = {-0.660944 ,-0.750276 ,0.015480};
+static float N021[3] = {0.503549 ,-0.862908 ,-0.042749};
+static float N022[3] = {0.953202 ,-0.302092 ,-0.012089};
+static float N023[3] = {0.998738 ,0.023574 ,0.044344};
+static float N024[3] = {0.979297 ,0.193272 ,0.060202};
+static float N025[3] = {0.798300 ,0.464885 ,0.382883};
+static float N026[3] = {-0.756590 ,0.452403 ,0.472126};
+static float N027[3] = {-0.953855 ,0.293003 ,0.065651};
+static float N028[3] = {-0.998033 ,0.040292 ,0.048028};
+static float N029[3] = {-0.977079 ,-0.204288 ,0.059858};
+static float N030[3] = {-0.729117 ,-0.675304 ,0.111140};
+static float N031[3] = {0.598361 ,-0.792753 ,0.116221};
+static float N032[3] = {0.965192 ,-0.252991 ,0.066332};
+static float N033[3] = {0.998201 ,-0.002790 ,0.059892};
+static float N034[3] = {0.978657 ,0.193135 ,0.070207};
+static float N035[3] = {0.718815 ,0.680392 ,0.142733};
+static float N036[3] = {-0.383096 ,0.906212 ,0.178936};
+static float N037[3] = {-0.952831 ,0.292590 ,0.080647};
+static float N038[3] = {-0.997680 ,0.032417 ,0.059861};
+static float N039[3] = {-0.982629 ,-0.169881 ,0.074700};
+static float N040[3] = {-0.695424 ,-0.703466 ,0.146700};
+static float N041[3] = {0.359323 ,-0.915531 ,0.180805};
+static float N042[3] = {0.943356 ,-0.319387 ,0.089842};
+static float N043[3] = {0.998272 ,-0.032435 ,0.048993};
+static float N044[3] = {0.978997 ,0.193205 ,0.065084};
+static float N045[3] = {0.872144 ,0.470094 ,-0.135565};
+static float N046[3] = {-0.664282 ,0.737945 ,-0.119027};
+static float N047[3] = {-0.954508 ,0.288570 ,0.075107};
+static float N048[3] = {-0.998273 ,0.032406 ,0.048993};
+static float N049[3] = {-0.979908 ,-0.193579 ,0.048038};
+static float N050[3] = {-0.858736 ,-0.507202 ,-0.072938};
+static float N051[3] = {0.643545 ,-0.763887 ,-0.048237};
+static float N052[3] = {0.955580 ,-0.288954 ,0.058068};
+static float N058[3] = {0.000050 ,0.793007 ,-0.609213};
+static float N059[3] = {0.913510 ,0.235418 ,-0.331779};
+static float N060[3] = {-0.807970 ,0.495000 ,-0.319625};
+static float N061[3] = {0.000000 ,0.784687 ,-0.619892};
+static float N062[3] = {0.000000 ,-1.000000 ,0.000000};
+static float N063[3] = {0.000000 ,1.000000 ,0.000000};
+static float N064[3] = {0.000000 ,1.000000 ,0.000000};
+static float N065[3] = {0.000000 ,1.000000 ,0.000000};
+static float N066[3] = {-0.055784 ,0.257059 ,0.964784};
+static float N069[3] = {-0.000505 ,-0.929775 ,-0.368127};
+static float N070[3] = {0.000000 ,1.000000 ,0.000000};
+static float P002[3] = {0.00, -36.59, 5687.72};
+static float P003[3] = {90.00, 114.73, 724.38};
+static float P004[3] = {58.24, -146.84, 262.35};
+static float P005[3] = {27.81, 231.52, 510.43};
+static float P006[3] = {-27.81, 230.43, 509.76};
+static float P007[3] = {-46.09, -146.83, 265.84};
+static float P008[3] = {-90.00, 103.84, 718.53};
+static float P009[3] = {-131.10, -165.92, 834.85};
+static float P010[3] = {-27.81, -285.31, 500.00};
+static float P011[3] = {27.81, -285.32, 500.00};
+static float P012[3] = {147.96, -170.89, 845.50};
+static float P013[3] = {180.00, 0.00, 2000.00};
+static float P014[3] = {145.62, 352.67, 2000.00};
+static float P015[3] = {55.62, 570.63, 2000.00};
+static float P016[3] = {-55.62, 570.64, 2000.00};
+static float P017[3] = {-145.62, 352.68, 2000.00};
+static float P018[3] = {-180.00, 0.01, 2000.00};
+static float P019[3] = {-178.20, -352.66, 2001.61};
+static float P020[3] = {-55.63, -570.63, 2000.00};
+static float P021[3] = {55.62, -570.64, 2000.00};
+static float P022[3] = {179.91, -352.69, 1998.39};
+static float P023[3] = {150.00, 0.00, 3000.00};
+static float P024[3] = {121.35, 293.89, 3000.00};
+static float P025[3] = {46.35, 502.93, 2883.09};
+static float P026[3] = {-46.35, 497.45, 2877.24};
+static float P027[3] = {-121.35, 293.90, 3000.00};
+static float P028[3] = {-150.00, 0.00, 3000.00};
+static float P029[3] = {-152.21, -304.84, 2858.68};
+static float P030[3] = {-46.36, -475.52, 3000.00};
+static float P031[3] = {46.35, -475.53, 3000.00};
+static float P032[3] = {155.64, -304.87, 2863.50};
+static float P033[3] = {90.00, 0.00, 4000.00};
+static float P034[3] = {72.81, 176.33, 4000.00};
+static float P035[3] = {27.81, 285.32, 4000.00};
+static float P036[3] = {-27.81, 285.32, 4000.00};
+static float P037[3] = {-72.81, 176.34, 4000.00};
+static float P038[3] = {-90.00, 0.00, 4000.00};
+static float P039[3] = {-72.81, -176.33, 4000.00};
+static float P040[3] = {-27.81, -285.31, 4000.00};
+static float P041[3] = {27.81, -285.32, 4000.00};
+static float P042[3] = {72.81, -176.34, 4000.00};
+static float P043[3] = {30.00, 0.00, 5000.00};
+static float P044[3] = {24.27, 58.78, 5000.00};
+static float P045[3] = {9.27, 95.11, 5000.00};
+static float P046[3] = {-9.27, 95.11, 5000.00};
+static float P047[3] = {-24.27, 58.78, 5000.00};
+static float P048[3] = {-30.00, 0.00, 5000.00};
+static float P049[3] = {-24.27, -58.78, 5000.00};
+static float P050[3] = {-9.27, -95.10, 5000.00};
+static float P051[3] = {9.27, -95.11, 5000.00};
+static float P052[3] = {24.27, -58.78, 5000.00};
+static float P058[3] = {0.00, 1212.72, 2703.08};
+static float P059[3] = {50.36, 0.00, 108.14};
+static float P060[3] = {-22.18, 0.00, 108.14};
+static float P061[3] = {0.00, 1181.61, 6344.65};
+static float P062[3] = {516.45, -887.08, 2535.45};
+static float P063[3] = {-545.69, -879.31, 2555.63};
+static float P064[3] = {618.89, -1005.64, 2988.32};
+static float P065[3] = {-635.37, -1014.79, 2938.68};
+static float P066[3] = {0.00, 1374.43, 3064.18};
+static float P069[3] = {0.00, -418.25, 5765.04};
+static float P070[3] = {0.00, 1266.91, 6629.60};
+static float P071[3] = {-139.12, -124.96, 997.98};
+static float P072[3] = {-139.24, -110.18, 1020.68};
+static float P073[3] = {-137.33, -94.52, 1022.63};
+static float P074[3] = {-137.03, -79.91, 996.89};
+static float P075[3] = {-135.21, -91.48, 969.14};
+static float P076[3] = {-135.39, -110.87, 968.76};
+static float P077[3] = {150.23, -78.44, 995.53};
+static float P078[3] = {152.79, -92.76, 1018.46};
+static float P079[3] = {154.19, -110.20, 1020.55};
+static float P080[3] = {151.33, -124.15, 993.77};
+static float P081[3] = {150.49, -111.19, 969.86};
+static float P082[3] = {150.79, -92.41, 969.70};
+static float iP002[3] = {0.00, -36.59, 5687.72};
+static float iP004[3] = {58.24, -146.84, 262.35};
+static float iP007[3] = {-46.09, -146.83, 265.84};
+static float iP010[3] = {-27.81, -285.31, 500.00};
+static float iP011[3] = {27.81, -285.32, 500.00};
+static float iP023[3] = {150.00, 0.00, 3000.00};
+static float iP024[3] = {121.35, 293.89, 3000.00};
+static float iP025[3] = {46.35, 502.93, 2883.09};
+static float iP026[3] = {-46.35, 497.45, 2877.24};
+static float iP027[3] = {-121.35, 293.90, 3000.00};
+static float iP028[3] = {-150.00, 0.00, 3000.00};
+static float iP029[3] = {-121.35, -304.84, 2853.86};
+static float iP030[3] = {-46.36, -475.52, 3000.00};
+static float iP031[3] = {46.35, -475.53, 3000.00};
+static float iP032[3] = {121.35, -304.87, 2853.86};
+static float iP033[3] = {90.00, 0.00, 4000.00};
+static float iP034[3] = {72.81, 176.33, 4000.00};
+static float iP035[3] = {27.81, 285.32, 4000.00};
+static float iP036[3] = {-27.81, 285.32, 4000.00};
+static float iP037[3] = {-72.81, 176.34, 4000.00};
+static float iP038[3] = {-90.00, 0.00, 4000.00};
+static float iP039[3] = {-72.81, -176.33, 4000.00};
+static float iP040[3] = {-27.81, -285.31, 4000.00};
+static float iP041[3] = {27.81, -285.32, 4000.00};
+static float iP042[3] = {72.81, -176.34, 4000.00};
+static float iP043[3] = {30.00, 0.00, 5000.00};
+static float iP044[3] = {24.27, 58.78, 5000.00};
+static float iP045[3] = {9.27, 95.11, 5000.00};
+static float iP046[3] = {-9.27, 95.11, 5000.00};
+static float iP047[3] = {-24.27, 58.78, 5000.00};
+static float iP048[3] = {-30.00, 0.00, 5000.00};
+static float iP049[3] = {-24.27, -58.78, 5000.00};
+static float iP050[3] = {-9.27, -95.10, 5000.00};
+static float iP051[3] = {9.27, -95.11, 5000.00};
+static float iP052[3] = {24.27, -58.78, 5000.00};
+static float iP061[3] = {0.00, 1181.61, 6344.65};
+static float iP069[3] = {0.00, -418.25, 5765.04};
+static float iP070[3] = {0.00, 1266.91, 6629.60};
+/* *INDENT-ON* */
+
+void
+Fish001(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glNormal3fv(N007);
+ glVertex3fv(P007);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P071);
+ glVertex3fv(P072);
+ glVertex3fv(P073);
+ glVertex3fv(P074);
+ glVertex3fv(P075);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P077);
+ glVertex3fv(P078);
+ glVertex3fv(P079);
+ glVertex3fv(P080);
+ glVertex3fv(P081);
+ glVertex3fv(P082);
+ glEnd();
+}
+
+void
+Fish002(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+}
+
+void
+Fish003(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glEnd();
+}
+
+void
+Fish004(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N061);
+ glVertex3fv(P061);
+ glEnd();
+}
+
+void
+Fish005(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+}
+
+void
+Fish006(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+}
+
+void
+Fish007(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N064);
+ glVertex3fv(P064);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+}
+
+void
+Fish008(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+}
+
+void
+Fish009(void)
+{
+ glBegin(GL_POLYGON);
+ glVertex3fv(P059);
+ glVertex3fv(P012);
+ glVertex3fv(P009);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P012);
+ glVertex3fv(P004);
+ glVertex3fv(P007);
+ glVertex3fv(P009);
+ glEnd();
+}
+
+void
+Fish_1(void)
+{
+ Fish004();
+ Fish005();
+ Fish003();
+ Fish007();
+ Fish006();
+ Fish002();
+ Fish008();
+ Fish009();
+ Fish001();
+}
+
+void
+Fish_2(void)
+{
+ Fish005();
+ Fish004();
+ Fish003();
+ Fish008();
+ Fish006();
+ Fish002();
+ Fish007();
+ Fish009();
+ Fish001();
+}
+
+void
+Fish_3(void)
+{
+ Fish005();
+ Fish004();
+ Fish007();
+ Fish003();
+ Fish002();
+ Fish008();
+ Fish009();
+ Fish001();
+ Fish006();
+}
+
+void
+Fish_4(void)
+{
+ Fish005();
+ Fish004();
+ Fish008();
+ Fish003();
+ Fish002();
+ Fish007();
+ Fish009();
+ Fish001();
+ Fish006();
+}
+
+void
+Fish_5(void)
+{
+ Fish009();
+ Fish006();
+ Fish007();
+ Fish001();
+ Fish002();
+ Fish003();
+ Fish008();
+ Fish004();
+ Fish005();
+}
+
+void
+Fish_6(void)
+{
+ Fish009();
+ Fish006();
+ Fish008();
+ Fish001();
+ Fish002();
+ Fish007();
+ Fish003();
+ Fish004();
+ Fish005();
+}
+
+void
+Fish_7(void)
+{
+ Fish009();
+ Fish001();
+ Fish007();
+ Fish005();
+ Fish002();
+ Fish008();
+ Fish003();
+ Fish004();
+ Fish006();
+}
+
+void
+Fish_8(void)
+{
+ Fish009();
+ Fish008();
+ Fish001();
+ Fish002();
+ Fish007();
+ Fish003();
+ Fish005();
+ Fish004();
+ Fish006();
+}
+
+void
+DrawShark(fishRec * fish)
+{
+ float mat[4][4];
+ int n;
+ float seg1, seg2, seg3, seg4, segup;
+ float thrash, chomp;
+
+ fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360;
+
+ thrash = 50.0 * fish->v;
+
+ seg1 = 0.6 * thrash * sin(fish->htail * RRAD);
+ seg2 = 1.8 * thrash * sin((fish->htail + 45.0) * RRAD);
+ seg3 = 3.0 * thrash * sin((fish->htail + 90.0) * RRAD);
+ seg4 = 4.0 * thrash * sin((fish->htail + 110.0) * RRAD);
+
+ chomp = 0.0;
+ if (fish->v > 2.0) {
+ chomp = -(fish->v - 2.0) * 200.0;
+ }
+ P004[1] = iP004[1] + chomp;
+ P007[1] = iP007[1] + chomp;
+ P010[1] = iP010[1] + chomp;
+ P011[1] = iP011[1] + chomp;
+
+ P023[0] = iP023[0] + seg1;
+ P024[0] = iP024[0] + seg1;
+ P025[0] = iP025[0] + seg1;
+ P026[0] = iP026[0] + seg1;
+ P027[0] = iP027[0] + seg1;
+ P028[0] = iP028[0] + seg1;
+ P029[0] = iP029[0] + seg1;
+ P030[0] = iP030[0] + seg1;
+ P031[0] = iP031[0] + seg1;
+ P032[0] = iP032[0] + seg1;
+ P033[0] = iP033[0] + seg2;
+ P034[0] = iP034[0] + seg2;
+ P035[0] = iP035[0] + seg2;
+ P036[0] = iP036[0] + seg2;
+ P037[0] = iP037[0] + seg2;
+ P038[0] = iP038[0] + seg2;
+ P039[0] = iP039[0] + seg2;
+ P040[0] = iP040[0] + seg2;
+ P041[0] = iP041[0] + seg2;
+ P042[0] = iP042[0] + seg2;
+ P043[0] = iP043[0] + seg3;
+ P044[0] = iP044[0] + seg3;
+ P045[0] = iP045[0] + seg3;
+ P046[0] = iP046[0] + seg3;
+ P047[0] = iP047[0] + seg3;
+ P048[0] = iP048[0] + seg3;
+ P049[0] = iP049[0] + seg3;
+ P050[0] = iP050[0] + seg3;
+ P051[0] = iP051[0] + seg3;
+ P052[0] = iP052[0] + seg3;
+ P002[0] = iP002[0] + seg4;
+ P061[0] = iP061[0] + seg4;
+ P069[0] = iP069[0] + seg4;
+ P070[0] = iP070[0] + seg4;
+
+ fish->vtail += ((fish->dtheta - fish->vtail) * 0.1);
+
+ if (fish->vtail > 0.5) {
+ fish->vtail = 0.5;
+ } else if (fish->vtail < -0.5) {
+ fish->vtail = -0.5;
+ }
+ segup = thrash * fish->vtail;
+
+ P023[1] = iP023[1] + segup;
+ P024[1] = iP024[1] + segup;
+ P025[1] = iP025[1] + segup;
+ P026[1] = iP026[1] + segup;
+ P027[1] = iP027[1] + segup;
+ P028[1] = iP028[1] + segup;
+ P029[1] = iP029[1] + segup;
+ P030[1] = iP030[1] + segup;
+ P031[1] = iP031[1] + segup;
+ P032[1] = iP032[1] + segup;
+ P033[1] = iP033[1] + segup * 5.0;
+ P034[1] = iP034[1] + segup * 5.0;
+ P035[1] = iP035[1] + segup * 5.0;
+ P036[1] = iP036[1] + segup * 5.0;
+ P037[1] = iP037[1] + segup * 5.0;
+ P038[1] = iP038[1] + segup * 5.0;
+ P039[1] = iP039[1] + segup * 5.0;
+ P040[1] = iP040[1] + segup * 5.0;
+ P041[1] = iP041[1] + segup * 5.0;
+ P042[1] = iP042[1] + segup * 5.0;
+ P043[1] = iP043[1] + segup * 12.0;
+ P044[1] = iP044[1] + segup * 12.0;
+ P045[1] = iP045[1] + segup * 12.0;
+ P046[1] = iP046[1] + segup * 12.0;
+ P047[1] = iP047[1] + segup * 12.0;
+ P048[1] = iP048[1] + segup * 12.0;
+ P049[1] = iP049[1] + segup * 12.0;
+ P050[1] = iP050[1] + segup * 12.0;
+ P051[1] = iP051[1] + segup * 12.0;
+ P052[1] = iP052[1] + segup * 12.0;
+ P002[1] = iP002[1] + segup * 17.0;
+ P061[1] = iP061[1] + segup * 17.0;
+ P069[1] = iP069[1] + segup * 17.0;
+ P070[1] = iP070[1] + segup * 17.0;
+
+ glPushMatrix();
+
+ glTranslatef(0.0, 0.0, -3000.0);
+
+ glGetFloatv(GL_MODELVIEW_MATRIX, &mat[0][0]);
+ n = 0;
+ if (mat[0][2] >= 0.0) {
+ n += 1;
+ }
+ if (mat[1][2] >= 0.0) {
+ n += 2;
+ }
+ if (mat[2][2] >= 0.0) {
+ n += 4;
+ }
+ glScalef(2.0, 1.0, 1.0);
+
+ glEnable(GL_CULL_FACE);
+ switch (n) {
+ case 0:
+ Fish_1();
+ break;
+ case 1:
+ Fish_2();
+ break;
+ case 2:
+ Fish_3();
+ break;
+ case 3:
+ Fish_4();
+ break;
+ case 4:
+ Fish_5();
+ break;
+ case 5:
+ Fish_6();
+ break;
+ case 6:
+ Fish_7();
+ break;
+ case 7:
+ Fish_8();
+ break;
+ }
+ glDisable(GL_CULL_FACE);
+
+ glPopMatrix();
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/swim.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/swim.c
new file mode 100644
index 0000000..cac7b60
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/swim.c
@@ -0,0 +1,188 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <math.h>
+#include <stdlib.h> /* For rand(). */
+#include <GLUT/glut.h>
+#include "atlantis.h"
+
+void
+FishTransform(fishRec * fish)
+{
+
+ glTranslatef(fish->y, fish->z, -fish->x);
+ glRotatef(-fish->psi, 0.0, 1.0, 0.0);
+ glRotatef(fish->theta, 1.0, 0.0, 0.0);
+ glRotatef(-fish->phi, 0.0, 0.0, 1.0);
+}
+
+void
+WhalePilot(fishRec * fish)
+{
+
+ fish->phi = -20.0;
+ fish->theta = 0.0;
+ fish->psi -= 0.5;
+
+ fish->x += WHALESPEED * fish->v * cos(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->y += WHALESPEED * fish->v * sin(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->z += WHALESPEED * fish->v * sin(fish->theta / RAD);
+}
+
+void
+SharkPilot(fishRec * fish)
+{
+ static int sign = 1;
+ float X, Y, Z, tpsi, ttheta, thetal;
+
+ fish->xt = 60000.0;
+ fish->yt = 0.0;
+ fish->zt = 0.0;
+
+ X = fish->xt - fish->x;
+ Y = fish->yt - fish->y;
+ Z = fish->zt - fish->z;
+
+ thetal = fish->theta;
+
+ ttheta = RAD * atan(Z / (sqrt(X * X + Y * Y)));
+
+ if (ttheta > fish->theta + 0.25) {
+ fish->theta += 0.5;
+ } else if (ttheta < fish->theta - 0.25) {
+ fish->theta -= 0.5;
+ }
+ if (fish->theta > 90.0) {
+ fish->theta = 90.0;
+ }
+ if (fish->theta < -90.0) {
+ fish->theta = -90.0;
+ }
+ fish->dtheta = fish->theta - thetal;
+
+ tpsi = RAD * atan2(Y, X);
+
+ fish->attack = 0;
+
+ if (fabs(tpsi - fish->psi) < 10.0) {
+ fish->attack = 1;
+ } else if (fabs(tpsi - fish->psi) < 45.0) {
+ if (fish->psi > tpsi) {
+ fish->psi -= 0.5;
+ if (fish->psi < -180.0) {
+ fish->psi += 360.0;
+ }
+ } else if (fish->psi < tpsi) {
+ fish->psi += 0.5;
+ if (fish->psi > 180.0) {
+ fish->psi -= 360.0;
+ }
+ }
+ } else {
+ if (rand() % 100 > 98) {
+ sign = 1 - sign;
+ }
+ fish->psi += sign;
+ if (fish->psi > 180.0) {
+ fish->psi -= 360.0;
+ }
+ if (fish->psi < -180.0) {
+ fish->psi += 360.0;
+ }
+ }
+
+ if (fish->attack) {
+ if (fish->v < 1.1) {
+ fish->spurt = 1;
+ }
+ if (fish->spurt) {
+ fish->v += 0.2;
+ }
+ if (fish->v > 5.0) {
+ fish->spurt = 0;
+ }
+ if ((fish->v > 1.0) && (!fish->spurt)) {
+ fish->v -= 0.2;
+ }
+ } else {
+ if (!(rand() % 400) && (!fish->spurt)) {
+ fish->spurt = 1;
+ }
+ if (fish->spurt) {
+ fish->v += 0.05;
+ }
+ if (fish->v > 3.0) {
+ fish->spurt = 0;
+ }
+ if ((fish->v > 1.0) && (!fish->spurt)) {
+ fish->v -= 0.05;
+ }
+ }
+
+ fish->x += SHARKSPEED * fish->v * cos(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->y += SHARKSPEED * fish->v * sin(fish->psi / RAD) * cos(fish->theta / RAD);
+ fish->z += SHARKSPEED * fish->v * sin(fish->theta / RAD);
+}
+
+void
+SharkMiss(int i)
+{
+ int j;
+ float avoid, thetal;
+ float X, Y, Z, R;
+
+ for (j = 0; j < NUM_SHARKS; j++) {
+ if (j != i) {
+ X = sharks[j].x - sharks[i].x;
+ Y = sharks[j].y - sharks[i].y;
+ Z = sharks[j].z - sharks[i].z;
+
+ R = sqrt(X * X + Y * Y + Z * Z);
+
+ avoid = 1.0;
+ thetal = sharks[i].theta;
+
+ if (R < SHARKSIZE) {
+ if (Z > 0.0) {
+ sharks[i].theta -= avoid;
+ } else {
+ sharks[i].theta += avoid;
+ }
+ }
+ sharks[i].dtheta += (sharks[i].theta - thetal);
+ }
+ }
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/whale.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/whale.c
new file mode 100644
index 0000000..828640a
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/whale.c
@@ -0,0 +1,1798 @@
+/**
+ * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
+ * ALL RIGHTS RESERVED
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the above
+ * copyright notice appear in all copies and that both the copyright notice
+ * and this permission notice appear in supporting documentation, and that
+ * the name of Silicon Graphics, Inc. not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.
+ *
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * US Government Users Restricted Rights
+ * Use, duplication, or disclosure by the Government is subject to
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ * clause at DFARS 252.227-7013 and/or in similar or successor
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
+ * Unpublished-- rights reserved under the copyright laws of the
+ * United States. Contractor/manufacturer is Silicon Graphics,
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+ *
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+ */
+#include <GLUT/glut.h>
+#include <math.h>
+#include "atlantis.h"
+/* *INDENT-OFF* */
+static float N001[3] = {0.019249 ,0.011340 ,-0.999750};
+static float N002[3] = {-0.132579 ,0.954547 ,0.266952};
+static float N003[3] = {-0.196061 ,0.980392 ,-0.019778};
+static float N004[3] = {0.695461 ,0.604704 ,0.388158};
+static float N005[3] = {0.870600 ,0.425754 ,0.246557};
+static float N006[3] = {-0.881191 ,0.392012 ,0.264251};
+static float N008[3] = {-0.341437 ,0.887477 ,0.309523};
+static float N009[3] = {0.124035 ,-0.992278 ,0.000000};
+static float N010[3] = {0.242536 ,0.000000 ,-0.970143};
+static float N011[3] = {0.588172 ,0.000000 ,0.808736};
+static float N012[3] = {0.929824 ,-0.340623 ,-0.139298};
+static float N013[3] = {0.954183 ,0.267108 ,-0.134865};
+static float N014[3] = {0.495127 ,0.855436 ,-0.151914};
+static float N015[3] = {-0.390199 ,0.906569 ,-0.160867};
+static float N016[3] = {-0.923605 ,0.354581 ,-0.145692};
+static float N017[3] = {-0.955796 ,-0.260667 ,-0.136036};
+static float N018[3] = {-0.501283 ,-0.853462 ,-0.142540};
+static float N019[3] = {0.405300 ,-0.901974 ,-0.148913};
+static float N020[3] = {0.909913 ,-0.392746 ,-0.133451};
+static float N021[3] = {0.936494 ,0.331147 ,-0.115414};
+static float N022[3] = {0.600131 ,0.793724 ,-0.099222};
+static float N023[3] = {-0.231556 ,0.968361 ,-0.093053};
+static float N024[3] = {-0.844369 ,0.525330 ,-0.105211};
+static float N025[3] = {-0.982725 ,-0.136329 ,-0.125164};
+static float N026[3] = {-0.560844 ,-0.822654 ,-0.093241};
+static float N027[3] = {0.263884 ,-0.959981 ,-0.093817};
+static float N028[3] = {0.842057 ,-0.525192 ,-0.122938};
+static float N029[3] = {0.921620 ,0.367565 ,-0.124546};
+static float N030[3] = {0.613927 ,0.784109 ,-0.090918};
+static float N031[3] = {-0.448754 ,0.888261 ,-0.098037};
+static float N032[3] = {-0.891865 ,0.434376 ,-0.126077};
+static float N033[3] = {-0.881447 ,-0.448017 ,-0.149437};
+static float N034[3] = {-0.345647 ,-0.922057 ,-0.174183};
+static float N035[3] = {0.307998 ,-0.941371 ,-0.137688};
+static float N036[3] = {0.806316 ,-0.574647 ,-0.140124};
+static float N037[3] = {0.961346 ,0.233646 ,-0.145681};
+static float N038[3] = {0.488451 ,0.865586 ,-0.110351};
+static float N039[3] = {-0.374290 ,0.921953 ,-0.099553};
+static float N040[3] = {-0.928504 ,0.344533 ,-0.138485};
+static float N041[3] = {-0.918419 ,-0.371792 ,-0.135189};
+static float N042[3] = {-0.520666 ,-0.833704 ,-0.183968};
+static float N043[3] = {0.339204 ,-0.920273 ,-0.195036};
+static float N044[3] = {0.921475 ,-0.387382 ,-0.028636};
+static float N045[3] = {0.842465 ,0.533335 ,-0.076204};
+static float N046[3] = {0.380110 ,0.924939 ,0.002073};
+static float N047[3] = {-0.276128 ,0.961073 ,-0.009579};
+static float N048[3] = {-0.879684 ,0.473001 ,-0.049250};
+static float N049[3] = {-0.947184 ,-0.317614 ,-0.044321};
+static float N050[3] = {-0.642059 ,-0.764933 ,-0.051363};
+static float N051[3] = {0.466794 ,-0.880921 ,-0.077990};
+static float N052[3] = {0.898509 ,-0.432277 ,0.076279};
+static float N053[3] = {0.938985 ,0.328141 ,0.103109};
+static float N054[3] = {0.442420 ,0.895745 ,0.043647};
+static float N055[3] = {-0.255163 ,0.966723 ,0.018407};
+static float N056[3] = {-0.833769 ,0.540650 ,0.111924};
+static float N057[3] = {-0.953653 ,-0.289939 ,0.080507};
+static float N058[3] = {-0.672357 ,-0.730524 ,0.119461};
+static float N059[3] = {0.522249 ,-0.846652 ,0.102157};
+static float N060[3] = {0.885868 ,-0.427631 ,0.179914};
+static float N062[3] = {0.648942 ,0.743116 ,0.163255};
+static float N063[3] = {-0.578967 ,0.807730 ,0.111219};
+static float N065[3] = {-0.909864 ,-0.352202 ,0.219321};
+static float N066[3] = {-0.502541 ,-0.818090 ,0.279610};
+static float N067[3] = {0.322919 ,-0.915358 ,0.240504};
+static float N068[3] = {0.242536 ,0.000000 ,-0.970143};
+static float N069[3] = {0.000000 ,1.000000 ,0.000000};
+static float N070[3] = {0.000000 ,1.000000 ,0.000000};
+static float N071[3] = {0.000000 ,1.000000 ,0.000000};
+static float N072[3] = {0.000000 ,1.000000 ,0.000000};
+static float N073[3] = {0.000000 ,1.000000 ,0.000000};
+static float N074[3] = {0.000000 ,1.000000 ,0.000000};
+static float N075[3] = {0.031220 ,0.999025 ,-0.031220};
+static float N076[3] = {0.000000 ,1.000000 ,0.000000};
+static float N077[3] = {0.446821 ,0.893642 ,0.041889};
+static float N078[3] = {0.863035 ,-0.100980 ,0.494949};
+static float N079[3] = {0.585597 ,-0.808215 ,0.062174};
+static float N080[3] = {0.000000 ,1.000000 ,0.000000};
+static float N081[3] = {1.000000 ,0.000000 ,0.000000};
+static float N082[3] = {0.000000 ,1.000000 ,0.000000};
+static float N083[3] = {-1.000000 ,0.000000 ,0.000000};
+static float N084[3] = {-0.478893 ,0.837129 ,-0.264343};
+static float N085[3] = {0.000000 ,1.000000 ,0.000000};
+static float N086[3] = {0.763909 ,0.539455 ,-0.354163};
+static float N087[3] = {0.446821 ,0.893642 ,0.041889};
+static float N088[3] = {0.385134 ,-0.908288 ,0.163352};
+static float N089[3] = {-0.605952 ,0.779253 ,-0.159961};
+static float N090[3] = {0.000000 ,1.000000 ,0.000000};
+static float N091[3] = {0.000000 ,1.000000 ,0.000000};
+static float N092[3] = {0.000000 ,1.000000 ,0.000000};
+static float N093[3] = {0.000000 ,1.000000 ,0.000000};
+static float N094[3] = {1.000000 ,0.000000 ,0.000000};
+static float N095[3] = {-1.000000 ,0.000000 ,0.000000};
+static float N096[3] = {0.644444 ,-0.621516 ,0.445433};
+static float N097[3] = {-0.760896 ,-0.474416 ,0.442681};
+static float N098[3] = {0.636888 ,-0.464314 ,0.615456};
+static float N099[3] = {-0.710295 ,0.647038 ,0.277168};
+static float N100[3] = {0.009604 ,0.993655 ,0.112063};
+static float iP001[3] = {18.74, 13.19, 3.76};
+static float P001[3] = {18.74, 13.19, 3.76};
+static float P002[3] = {0.00, 390.42, 10292.57};
+static float P003[3] = {55.80, 622.31, 8254.35};
+static float P004[3] = {20.80, 247.66, 10652.13};
+static float P005[3] = {487.51, 198.05, 9350.78};
+static float P006[3] = {-457.61, 199.04, 9353.01};
+static float P008[3] = {-34.67, 247.64, 10663.71};
+static float iP009[3] = {97.46, 67.63, 593.82};
+static float iP010[3] = {-84.33, 67.63, 588.18};
+static float iP011[3] = {118.69, 8.98, -66.91};
+static float P009[3] = {97.46, 67.63, 593.82};
+static float P010[3] = {-84.33, 67.63, 588.18};
+static float P011[3] = {118.69, 8.98, -66.91};
+static float iP012[3] = {156.48, -31.95, 924.54};
+static float iP013[3] = {162.00, 110.22, 924.54};
+static float iP014[3] = {88.16, 221.65, 924.54};
+static float iP015[3] = {-65.21, 231.16, 924.54};
+static float iP016[3] = {-156.48, 121.97, 924.54};
+static float iP017[3] = {-162.00, -23.93, 924.54};
+static float iP018[3] = {-88.16, -139.10, 924.54};
+static float iP019[3] = {65.21, -148.61, 924.54};
+static float iP020[3] = {246.87, -98.73, 1783.04};
+static float iP021[3] = {253.17, 127.76, 1783.04};
+static float iP022[3] = {132.34, 270.77, 1783.04};
+static float iP023[3] = {-97.88, 285.04, 1783.04};
+static float iP024[3] = {-222.97, 139.80, 1783.04};
+static float iP025[3] = {-225.29, -86.68, 1783.04};
+static float iP026[3] = {-108.44, -224.15, 1783.04};
+static float iP027[3] = {97.88, -221.56, 1783.04};
+static float iP028[3] = {410.55, -200.66, 3213.87};
+static float iP029[3] = {432.19, 148.42, 3213.87};
+static float iP030[3] = {200.66, 410.55, 3213.87};
+static float iP031[3] = {-148.42, 432.19, 3213.87};
+static float iP032[3] = {-407.48, 171.88, 3213.87};
+static float iP033[3] = {-432.19, -148.42, 3213.87};
+static float iP034[3] = {-148.88, -309.74, 3213.87};
+static float iP035[3] = {156.38, -320.17, 3213.87};
+static float iP036[3] = {523.39, -303.81, 4424.57};
+static float iP037[3] = {574.66, 276.84, 4424.57};
+static float iP038[3] = {243.05, 492.50, 4424.57};
+static float iP039[3] = {-191.23, 520.13, 4424.57};
+static float iP040[3] = {-523.39, 304.01, 4424.57};
+static float iP041[3] = {-574.66, -231.83, 4424.57};
+static float iP042[3] = {-266.95, -578.17, 4424.57};
+static float iP043[3] = {211.14, -579.67, 4424.57};
+static float iP044[3] = {680.57, -370.27, 5943.46};
+static float iP045[3] = {834.01, 363.09, 5943.46};
+static float iP046[3] = {371.29, 614.13, 5943.46};
+static float iP047[3] = {-291.43, 621.86, 5943.46};
+static float iP048[3] = {-784.13, 362.60, 5943.46};
+static float iP049[3] = {-743.29, -325.82, 5943.46};
+static float iP050[3] = {-383.24, -804.77, 5943.46};
+static float iP051[3] = {283.47, -846.09, 5943.46};
+static float P012[3] = {156.48, -31.95, 924.54};
+static float P013[3] = {162.00, 110.22, 924.54};
+static float P014[3] = {88.16, 221.65, 924.54};
+static float P015[3] = {-65.21, 231.16, 924.54};
+static float P016[3] = {-156.48, 121.97, 924.54};
+static float P017[3] = {-162.00, -23.93, 924.54};
+static float P018[3] = {-88.16, -139.10, 924.54};
+static float P019[3] = {65.21, -148.61, 924.54};
+static float P020[3] = {246.87, -98.73, 1783.04};
+static float P021[3] = {253.17, 127.76, 1783.04};
+static float P022[3] = {132.34, 270.77, 1783.04};
+static float P023[3] = {-97.88, 285.04, 1783.04};
+static float P024[3] = {-222.97, 139.80, 1783.04};
+static float P025[3] = {-225.29, -86.68, 1783.04};
+static float P026[3] = {-108.44, -224.15, 1783.04};
+static float P027[3] = {97.88, -221.56, 1783.04};
+static float P028[3] = {410.55, -200.66, 3213.87};
+static float P029[3] = {432.19, 148.42, 3213.87};
+static float P030[3] = {200.66, 410.55, 3213.87};
+static float P031[3] = {-148.42, 432.19, 3213.87};
+static float P032[3] = {-407.48, 171.88, 3213.87};
+static float P033[3] = {-432.19, -148.42, 3213.87};
+static float P034[3] = {-148.88, -309.74, 3213.87};
+static float P035[3] = {156.38, -320.17, 3213.87};
+static float P036[3] = {523.39, -303.81, 4424.57};
+static float P037[3] = {574.66, 276.84, 4424.57};
+static float P038[3] = {243.05, 492.50, 4424.57};
+static float P039[3] = {-191.23, 520.13, 4424.57};
+static float P040[3] = {-523.39, 304.01, 4424.57};
+static float P041[3] = {-574.66, -231.83, 4424.57};
+static float P042[3] = {-266.95, -578.17, 4424.57};
+static float P043[3] = {211.14, -579.67, 4424.57};
+static float P044[3] = {680.57, -370.27, 5943.46};
+static float P045[3] = {834.01, 363.09, 5943.46};
+static float P046[3] = {371.29, 614.13, 5943.46};
+static float P047[3] = {-291.43, 621.86, 5943.46};
+static float P048[3] = {-784.13, 362.60, 5943.46};
+static float P049[3] = {-743.29, -325.82, 5943.46};
+static float P050[3] = {-383.24, -804.77, 5943.46};
+static float P051[3] = {283.47, -846.09, 5943.46};
+static float P052[3] = {599.09, -332.24, 7902.59};
+static float P053[3] = {735.48, 306.26, 7911.92};
+static float P054[3] = {321.55, 558.53, 7902.59};
+static float P055[3] = {-260.54, 559.84, 7902.59};
+static float P056[3] = {-698.66, 320.83, 7902.59};
+static float P057[3] = {-643.29, -299.16, 7902.59};
+static float P058[3] = {-341.47, -719.30, 7902.59};
+static float P059[3] = {252.57, -756.12, 7902.59};
+static float P060[3] = {458.39, -265.31, 9355.44};
+static float P062[3] = {224.04, 438.98, 9364.77};
+static float P063[3] = {-165.71, 441.27, 9355.44};
+static float P065[3] = {-473.99, -219.71, 9355.44};
+static float P066[3] = {-211.97, -479.87, 9355.44};
+static float P067[3] = {192.86, -504.03, 9355.44};
+static float iP068[3] = {-112.44, 9.25, -64.42};
+static float iP069[3] = {1155.63, 0.00, -182.46};
+static float iP070[3] = {-1143.13, 0.00, -181.54};
+static float iP071[3] = {1424.23, 0.00, -322.09};
+static float iP072[3] = {-1368.01, 0.00, -310.38};
+static float iP073[3] = {1255.57, 2.31, 114.05};
+static float iP074[3] = {-1149.38, 0.00, 117.12};
+static float iP075[3] = {718.36, 0.00, 433.36};
+static float iP076[3] = {-655.90, 0.00, 433.36};
+static float P068[3] = {-112.44, 9.25, -64.42};
+static float P069[3] = {1155.63, 0.00, -182.46};
+static float P070[3] = {-1143.13, 0.00, -181.54};
+static float P071[3] = {1424.23, 0.00, -322.09};
+static float P072[3] = {-1368.01, 0.00, -310.38};
+static float P073[3] = {1255.57, 2.31, 114.05};
+static float P074[3] = {-1149.38, 0.00, 117.12};
+static float P075[3] = {718.36, 0.00, 433.36};
+static float P076[3] = {-655.90, 0.00, 433.36};
+static float P077[3] = {1058.00, -2.66, 7923.51};
+static float P078[3] = {-1016.51, -15.47, 7902.87};
+static float P079[3] = {-1363.99, -484.50, 7593.38};
+static float P080[3] = {1478.09, -861.47, 7098.12};
+static float P081[3] = {1338.06, -284.68, 7024.15};
+static float P082[3] = {-1545.51, -860.64, 7106.60};
+static float P083[3] = {1063.19, -70.46, 7466.60};
+static float P084[3] = {-1369.18, -288.11, 7015.34};
+static float P085[3] = {1348.44, -482.50, 7591.41};
+static float P086[3] = {-1015.45, -96.80, 7474.86};
+static float P087[3] = {731.04, 148.38, 7682.58};
+static float P088[3] = {-697.03, 151.82, 7668.81};
+static float P089[3] = {-686.82, 157.09, 7922.29};
+static float P090[3] = {724.73, 147.75, 7931.39};
+static float iP091[3] = {0.00, 327.10, 2346.55};
+static float iP092[3] = {0.00, 552.28, 2311.31};
+static float iP093[3] = {0.00, 721.16, 2166.41};
+static float iP094[3] = {0.00, 693.42, 2388.80};
+static float iP095[3] = {0.00, 389.44, 2859.97};
+static float P091[3] = {0.00, 327.10, 2346.55};
+static float P092[3] = {0.00, 552.28, 2311.31};
+static float P093[3] = {0.00, 721.16, 2166.41};
+static float P094[3] = {0.00, 693.42, 2388.80};
+static float P095[3] = {0.00, 389.44, 2859.97};
+static float iP096[3] = {222.02, -183.67, 10266.89};
+static float iP097[3] = {-128.90, -182.70, 10266.89};
+static float iP098[3] = {41.04, 88.31, 10659.36};
+static float iP099[3] = {-48.73, 88.30, 10659.36};
+static float P096[3] = {222.02, -183.67, 10266.89};
+static float P097[3] = {-128.90, -182.70, 10266.89};
+static float P098[3] = {41.04, 88.31, 10659.36};
+static float P099[3] = {-48.73, 88.30, 10659.36};
+static float P100[3] = {0.00, 603.42, 9340.68};
+static float P104[3] = {-9.86, 567.62, 7858.65};
+static float P105[3] = {31.96, 565.27, 7908.46};
+static float P106[3] = {22.75, 568.13, 7782.83};
+static float P107[3] = {58.93, 568.42, 7775.94};
+static float P108[3] = {55.91, 565.59, 7905.86};
+static float P109[3] = {99.21, 566.00, 7858.65};
+static float P110[3] = {-498.83, 148.14, 9135.10};
+static float P111[3] = {-495.46, 133.24, 9158.48};
+static float P112[3] = {-490.82, 146.23, 9182.76};
+static float P113[3] = {-489.55, 174.11, 9183.66};
+static float P114[3] = {-492.92, 189.00, 9160.28};
+static float P115[3] = {-497.56, 176.02, 9136.00};
+static float P116[3] = {526.54, 169.68, 9137.70};
+static float P117[3] = {523.49, 184.85, 9161.42};
+static float P118[3] = {518.56, 171.78, 9186.06};
+static float P119[3] = {516.68, 143.53, 9186.98};
+static float P120[3] = {519.73, 128.36, 9163.26};
+static float P121[3] = {524.66, 141.43, 9138.62};
+/* *INDENT-ON* */
+
+void
+Whale001(void)
+{
+
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N072);
+ glVertex3fv(P072);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N072);
+ glVertex3fv(P072);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N074);
+ glVertex3fv(P074);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N070);
+ glVertex3fv(P070);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N076);
+ glVertex3fv(P076);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N068);
+ glVertex3fv(P068);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N010);
+ glVertex3fv(P010);
+ glEnd();
+}
+
+void
+Whale002(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N071);
+ glVertex3fv(P071);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N009);
+ glVertex3fv(P009);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N011);
+ glVertex3fv(P011);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glNormal3fv(N075);
+ glVertex3fv(P075);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N069);
+ glVertex3fv(P069);
+ glNormal3fv(N071);
+ glVertex3fv(P071);
+ glNormal3fv(N073);
+ glVertex3fv(P073);
+ glEnd();
+}
+
+void
+Whale003(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N001);
+ glVertex3fv(P001);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glEnd();
+}
+
+void
+Whale004(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N015);
+ glVertex3fv(P015);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N016);
+ glVertex3fv(P016);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N017);
+ glVertex3fv(P017);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N014);
+ glVertex3fv(P014);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N013);
+ glVertex3fv(P013);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N018);
+ glVertex3fv(P018);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N019);
+ glVertex3fv(P019);
+ glNormal3fv(N012);
+ glVertex3fv(P012);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glEnd();
+}
+
+void
+Whale005(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N022);
+ glVertex3fv(P022);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N023);
+ glVertex3fv(P023);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N024);
+ glVertex3fv(P024);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N021);
+ glVertex3fv(P021);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N020);
+ glVertex3fv(P020);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N025);
+ glVertex3fv(P025);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N026);
+ glVertex3fv(P026);
+ glNormal3fv(N027);
+ glVertex3fv(P027);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glEnd();
+}
+
+void
+Whale006(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N093);
+ glVertex3fv(P093);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N091);
+ glVertex3fv(P091);
+ glNormal3fv(N092);
+ glVertex3fv(P092);
+ glNormal3fv(N094);
+ glVertex3fv(P094);
+ glNormal3fv(N095);
+ glVertex3fv(P095);
+ glEnd();
+}
+
+void
+Whale007(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N030);
+ glVertex3fv(P030);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N029);
+ glVertex3fv(P029);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N028);
+ glVertex3fv(P028);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N035);
+ glVertex3fv(P035);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N034);
+ glVertex3fv(P034);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N031);
+ glVertex3fv(P031);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N032);
+ glVertex3fv(P032);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N033);
+ glVertex3fv(P033);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glEnd();
+}
+
+void
+Whale008(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N043);
+ glVertex3fv(P043);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N042);
+ glVertex3fv(P042);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N036);
+ glVertex3fv(P036);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N041);
+ glVertex3fv(P041);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N040);
+ glVertex3fv(P040);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N037);
+ glVertex3fv(P037);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N038);
+ glVertex3fv(P038);
+ glNormal3fv(N039);
+ glVertex3fv(P039);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glEnd();
+}
+
+void
+Whale009(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N051);
+ glVertex3fv(P051);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N044);
+ glVertex3fv(P044);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N050);
+ glVertex3fv(P050);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N049);
+ glVertex3fv(P049);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N048);
+ glVertex3fv(P048);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N045);
+ glVertex3fv(P045);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N046);
+ glVertex3fv(P046);
+ glNormal3fv(N047);
+ glVertex3fv(P047);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+}
+
+void
+Whale010(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N080);
+ glVertex3fv(P080);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N081);
+ glVertex3fv(P081);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N085);
+ glVertex3fv(P085);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N083);
+ glVertex3fv(P083);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N087);
+ glVertex3fv(P087);
+ glNormal3fv(N077);
+ glVertex3fv(P077);
+ glNormal3fv(N090);
+ glVertex3fv(P090);
+ glEnd();
+}
+
+void
+Whale011(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N088);
+ glVertex3fv(P088);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N089);
+ glVertex3fv(P089);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N086);
+ glVertex3fv(P086);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N078);
+ glVertex3fv(P078);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N084);
+ glVertex3fv(P084);
+ glNormal3fv(N082);
+ glVertex3fv(P082);
+ glNormal3fv(N079);
+ glVertex3fv(P079);
+ glEnd();
+}
+
+void
+Whale012(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N059);
+ glVertex3fv(P059);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N058);
+ glVertex3fv(P058);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N057);
+ glVertex3fv(P057);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N056);
+ glVertex3fv(P056);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N053);
+ glVertex3fv(P053);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N052);
+ glVertex3fv(P052);
+ glEnd();
+}
+
+void
+Whale013(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N066);
+ glVertex3fv(P066);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N067);
+ glVertex3fv(P067);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N060);
+ glVertex3fv(P060);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N096);
+ glVertex3fv(P096);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glNormal3fv(N098);
+ glVertex3fv(P098);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N065);
+ glVertex3fv(P065);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N097);
+ glVertex3fv(P097);
+ glNormal3fv(N099);
+ glVertex3fv(P099);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P005);
+ glVertex3fv(P006);
+ glVertex3fv(P099);
+ glVertex3fv(P098);
+ glEnd();
+}
+
+void
+Whale014(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glNormal3fv(N005);
+ glVertex3fv(P005);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P006);
+ glVertex3fv(P005);
+ glVertex3fv(P004);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N006);
+ glVertex3fv(P006);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N008);
+ glVertex3fv(P008);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N004);
+ glVertex3fv(P004);
+ glEnd();
+}
+
+void
+Whale015(void)
+{
+ glBegin(GL_POLYGON);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N055);
+ glVertex3fv(P055);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N003);
+ glVertex3fv(P003);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N054);
+ glVertex3fv(P054);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N063);
+ glVertex3fv(P063);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glNormal3fv(N100);
+ glVertex3fv(P100);
+ glNormal3fv(N002);
+ glVertex3fv(P002);
+ glNormal3fv(N062);
+ glVertex3fv(P062);
+ glEnd();
+}
+
+void
+Whale016(void)
+{
+ glBegin(GL_POLYGON);
+ glVertex3fv(P104);
+ glVertex3fv(P105);
+ glVertex3fv(P106);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P107);
+ glVertex3fv(P108);
+ glVertex3fv(P109);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P110);
+ glVertex3fv(P111);
+ glVertex3fv(P112);
+ glVertex3fv(P113);
+ glVertex3fv(P114);
+ glVertex3fv(P115);
+ glEnd();
+ glBegin(GL_POLYGON);
+ glVertex3fv(P116);
+ glVertex3fv(P117);
+ glVertex3fv(P118);
+ glVertex3fv(P119);
+ glVertex3fv(P120);
+ glVertex3fv(P121);
+ glEnd();
+}
+
+void
+DrawWhale(fishRec * fish)
+{
+ float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
+ float pitch, thrash, chomp;
+
+ fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360;
+
+ thrash = 70.0 * fish->v;
+
+ seg0 = 1.5 * thrash * sin((fish->htail) * RRAD);
+ seg1 = 2.5 * thrash * sin((fish->htail + 10.0) * RRAD);
+ seg2 = 3.7 * thrash * sin((fish->htail + 15.0) * RRAD);
+ seg3 = 4.8 * thrash * sin((fish->htail + 23.0) * RRAD);
+ seg4 = 6.0 * thrash * sin((fish->htail + 28.0) * RRAD);
+ seg5 = 6.5 * thrash * sin((fish->htail + 35.0) * RRAD);
+ seg6 = 6.5 * thrash * sin((fish->htail + 40.0) * RRAD);
+ seg7 = 6.5 * thrash * sin((fish->htail + 55.0) * RRAD);
+
+ pitch = fish->v * sin((fish->htail - 160.0) * RRAD);
+
+ chomp = 0.0;
+ if (fish->v > 2.0) {
+ chomp = -(fish->v - 2.0) * 200.0;
+ }
+ P012[1] = iP012[1] + seg5;
+ P013[1] = iP013[1] + seg5;
+ P014[1] = iP014[1] + seg5;
+ P015[1] = iP015[1] + seg5;
+ P016[1] = iP016[1] + seg5;
+ P017[1] = iP017[1] + seg5;
+ P018[1] = iP018[1] + seg5;
+ P019[1] = iP019[1] + seg5;
+
+ P020[1] = iP020[1] + seg4;
+ P021[1] = iP021[1] + seg4;
+ P022[1] = iP022[1] + seg4;
+ P023[1] = iP023[1] + seg4;
+ P024[1] = iP024[1] + seg4;
+ P025[1] = iP025[1] + seg4;
+ P026[1] = iP026[1] + seg4;
+ P027[1] = iP027[1] + seg4;
+
+ P028[1] = iP028[1] + seg2;
+ P029[1] = iP029[1] + seg2;
+ P030[1] = iP030[1] + seg2;
+ P031[1] = iP031[1] + seg2;
+ P032[1] = iP032[1] + seg2;
+ P033[1] = iP033[1] + seg2;
+ P034[1] = iP034[1] + seg2;
+ P035[1] = iP035[1] + seg2;
+
+ P036[1] = iP036[1] + seg1;
+ P037[1] = iP037[1] + seg1;
+ P038[1] = iP038[1] + seg1;
+ P039[1] = iP039[1] + seg1;
+ P040[1] = iP040[1] + seg1;
+ P041[1] = iP041[1] + seg1;
+ P042[1] = iP042[1] + seg1;
+ P043[1] = iP043[1] + seg1;
+
+ P044[1] = iP044[1] + seg0;
+ P045[1] = iP045[1] + seg0;
+ P046[1] = iP046[1] + seg0;
+ P047[1] = iP047[1] + seg0;
+ P048[1] = iP048[1] + seg0;
+ P049[1] = iP049[1] + seg0;
+ P050[1] = iP050[1] + seg0;
+ P051[1] = iP051[1] + seg0;
+
+ P009[1] = iP009[1] + seg6;
+ P010[1] = iP010[1] + seg6;
+ P075[1] = iP075[1] + seg6;
+ P076[1] = iP076[1] + seg6;
+
+ P001[1] = iP001[1] + seg7;
+ P011[1] = iP011[1] + seg7;
+ P068[1] = iP068[1] + seg7;
+ P069[1] = iP069[1] + seg7;
+ P070[1] = iP070[1] + seg7;
+ P071[1] = iP071[1] + seg7;
+ P072[1] = iP072[1] + seg7;
+ P073[1] = iP073[1] + seg7;
+ P074[1] = iP074[1] + seg7;
+
+ P091[1] = iP091[1] + seg3 * 1.1;
+ P092[1] = iP092[1] + seg3;
+ P093[1] = iP093[1] + seg3;
+ P094[1] = iP094[1] + seg3;
+ P095[1] = iP095[1] + seg3 * 0.9;
+
+ P099[1] = iP099[1] + chomp;
+ P098[1] = iP098[1] + chomp;
+ P097[1] = iP097[1] + chomp;
+ P096[1] = iP096[1] + chomp;
+
+ glPushMatrix();
+
+ glRotatef(pitch, 1.0, 0.0, 0.0);
+
+ glTranslatef(0.0, 0.0, 8000.0);
+
+ glRotatef(180.0, 0.0, 1.0, 0.0);
+
+ glScalef(3.0, 3.0, 3.0);
+
+ glEnable(GL_CULL_FACE);
+
+ Whale001();
+ Whale002();
+ Whale003();
+ Whale004();
+ Whale005();
+ Whale006();
+ Whale007();
+ Whale008();
+ Whale009();
+ Whale010();
+ Whale011();
+ Whale012();
+ Whale013();
+ Whale014();
+ Whale015();
+ Whale016();
+
+ glDisable(GL_CULL_FACE);
+
+ glPopMatrix();
+}
diff --git a/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/main.c b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/main.c
new file mode 100644
index 0000000..b7794b3
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/main.c
@@ -0,0 +1,179 @@
+
+/* Simple program: Create a blank window, wait for keypress, quit.
+
+ Please see the SDL documentation for details on using the SDL API:
+ /Developer/Documentation/SDL/docs.html
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "SDL.h"
+
+extern void Atlantis_Init ();
+extern void Atlantis_Reshape (int w, int h);
+extern void Atlantis_Animate ();
+extern void Atlantis_Display ();
+
+static SDL_Surface *gScreen;
+
+static void initAttributes ()
+{
+ // Setup attributes we want for the OpenGL context
+
+ int value;
+
+ // Don't set color bit sizes (SDL_GL_RED_SIZE, etc)
+ // Mac OS X will always use 8-8-8-8 ARGB for 32-bit screens and
+ // 5-5-5 RGB for 16-bit screens
+
+ // Request a 16-bit depth buffer (without this, there is no depth buffer)
+ value = 16;
+ SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE, value);
+
+
+ // Request double-buffered OpenGL
+ // The fact that windows are double-buffered on Mac OS X has no effect
+ // on OpenGL double buffering.
+ value = 1;
+ SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, value);
+}
+
+static void printAttributes ()
+{
+ // Print out attributes of the context we created
+ int nAttr;
+ int i;
+
+ int attr[] = { SDL_GL_RED_SIZE, SDL_GL_BLUE_SIZE, SDL_GL_GREEN_SIZE,
+ SDL_GL_ALPHA_SIZE, SDL_GL_BUFFER_SIZE, SDL_GL_DEPTH_SIZE };
+
+ char *desc[] = { "Red size: %d bits\n", "Blue size: %d bits\n", "Green size: %d bits\n",
+ "Alpha size: %d bits\n", "Color buffer size: %d bits\n",
+ "Depth bufer size: %d bits\n" };
+
+ nAttr = sizeof(attr) / sizeof(int);
+
+ for (i = 0; i < nAttr; i++) {
+
+ int value;
+ SDL_GL_GetAttribute (attr[i], &value);
+ printf (desc[i], value);
+ }
+}
+
+static void createSurface (int fullscreen)
+{
+ Uint32 flags = 0;
+
+ flags = SDL_OPENGL;
+ if (fullscreen)
+ flags |= SDL_FULLSCREEN;
+
+ // Create window
+ gScreen = SDL_SetVideoMode (640, 480, 0, flags);
+ if (gScreen == NULL) {
+
+ fprintf (stderr, "Couldn't set 640x480 OpenGL video mode: %s\n",
+ SDL_GetError());
+ SDL_Quit();
+ exit(2);
+ }
+}
+
+static void initGL ()
+{
+ Atlantis_Init ();
+ Atlantis_Reshape (gScreen->w, gScreen->h);
+}
+
+static void drawGL ()
+{
+ Atlantis_Animate ();
+ Atlantis_Display ();
+}
+
+static void mainLoop ()
+{
+ SDL_Event event;
+ int done = 0;
+ int fps = 24;
+ int delay = 1000/fps;
+ int thenTicks = -1;
+ int nowTicks;
+
+ while ( !done ) {
+
+ /* Check for events */
+ while ( SDL_PollEvent (&event) ) {
+ switch (event.type) {
+
+ case SDL_MOUSEMOTION:
+ break;
+ case SDL_MOUSEBUTTONDOWN:
+ break;
+ case SDL_KEYDOWN:
+ /* Any keypress quits the app... */
+ case SDL_QUIT:
+ done = 1;
+ break;
+ default:
+ break;
+ }
+ }
+
+ // Draw at 24 hz
+ // This approach is not normally recommended - it is better to
+ // use time-based animation and run as fast as possible
+ drawGL ();
+ SDL_GL_SwapBuffers ();
+
+ // Time how long each draw-swap-delay cycle takes
+ // and adjust delay to get closer to target framerate
+ if (thenTicks > 0) {
+ nowTicks = SDL_GetTicks ();
+ delay += (1000/fps - (nowTicks-thenTicks));
+ thenTicks = nowTicks;
+ if (delay < 0)
+ delay = 1000/fps;
+ }
+ else {
+ thenTicks = SDL_GetTicks ();
+ }
+
+ SDL_Delay (delay);
+ }
+}
+
+int main(int argc, char *argv[])
+{
+ // Init SDL video subsystem
+ if ( SDL_Init (SDL_INIT_VIDEO) < 0 ) {
+
+ fprintf(stderr, "Couldn't initialize SDL: %s\n",
+ SDL_GetError());
+ exit(1);
+ }
+
+ // Set GL context attributes
+ initAttributes ();
+
+ // Create GL context
+ createSurface (0);
+
+ // Get GL context attributes
+ printAttributes ();
+
+ // Init GL state
+ initGL ();
+
+ // Draw, get events...
+ mainLoop ();
+
+ // Cleanup
+ SDL_Quit();
+
+ return 0;
+}
diff --git a/distrib/sdl-1.2.15/Xcode/XcodeDocSet/Doxyfile b/distrib/sdl-1.2.15/Xcode/XcodeDocSet/Doxyfile
new file mode 100644
index 0000000..34e1228
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/XcodeDocSet/Doxyfile
@@ -0,0 +1,1558 @@
+# Doxyfile 1.6.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = SDL
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 1.2.14
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY =
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = YES
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses.
+# With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
+# The format is ext=language, where ext is a file extension, and language is one of
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C. Note that for custom extensions you also need to set
+# FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = YES
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = NO
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = NO
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page. This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = NO
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = ../../include
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS = *.c \
+ *.cc \
+ *.cxx \
+ *.cpp \
+ *.c++ \
+ *.d \
+ *.java \
+ *.ii \
+ *.ixx \
+ *.ipp \
+ *.i++ \
+ *.inl \
+ *.h \
+ *.hh \
+ *.hxx \
+ *.hpp \
+ *.h++ \
+ *.idl \
+ *.odl \
+ *.cs \
+ *.php \
+ *.php3 \
+ *.inc \
+ *.m \
+ *.mm \
+ *.dox \
+ *.py \
+ *.f90 \
+ *.f \
+ *.vhd \
+ *.vhdl
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output. If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code. Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET = YES
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs for SDL"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.libsdl.sdl
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE = SDL.chm
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION = "C:/Program Files/HTML Help Workshop/hhc.exe"
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = YES
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE =
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
+# For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# When the SEARCHENGINE tag is enable doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP)
+# there is already a search function so this one should typically
+# be disabled.
+
+SEARCHENGINE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader. This is useful
+# if you want to understand what is going on. On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = NO
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED = DECLSPEC \
+ SDLCALL
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = NO
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = NO
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH = /Applications/Graphviz.app/Contents/MacOS
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 67
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 2
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/distrib/sdl-1.2.15/Xcode/mkxcode.csh b/distrib/sdl-1.2.15/Xcode/mkxcode.csh
new file mode 100755
index 0000000..caf6481
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/mkxcode.csh
@@ -0,0 +1,20 @@
+#!/bin/csh
+
+###
+## This script creates "Xcode.tar.gz" in the parent directory
+###
+
+# remove build products
+rm -rf SDL/build
+rm -rf SDLTest/build
+
+# remove Finder info files
+find . -name ".DS_Store" -exec rm "{}" ";"
+
+# remove user project prefs
+find . -name "*.pbxuser*" -exec rm "{}" ";"
+find . -name "*.mode*" -exec rm "{}" ";"
+find . -name "*.perspective*" -exec rm "{}" ";"
+
+# create the archive
+(cd .. && gnutar -zcvf Xcode.tar.gz Xcode)
diff --git a/distrib/sdl-1.2.15/Xcode/package b/distrib/sdl-1.2.15/Xcode/package
new file mode 100755
index 0000000..6e6b570
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/package
@@ -0,0 +1,272 @@
+#! /bin/csh -ef
+
+set prog = `/usr/bin/basename $0`
+set usage = "Usage: $prog [-f] root-dir info-file [tiff-file] [-d dest-dir] [-r resource-dir] [-traditional | -gnutar]"
+set noglob
+
+if (-x /usr/bin/mkbom) then
+ set mkbom=/usr/bin/mkbom
+ set lsbom=/usr/bin/lsbom
+else
+ set mkbom=/usr/etc/mkbom
+ set lsbom=/usr/etc/lsbom
+endif
+
+if (-x /usr/bin/awk) then
+ set awk=/usr/bin/awk
+else
+ set awk=/bin/awk
+endif
+
+set gnutar=/usr/bin/gnutar
+set tar=/usr/bin/tar
+set pax=/bin/pax
+
+# gather parameters
+if ($#argv == 0) then
+ echo $usage
+ exit(1)
+endif
+
+while ( $#argv > 0 )
+ switch ( $argv[1] )
+ case -d:
+ if ( $?destDir ) then
+ echo ${prog}: dest-dir parameter already set to ${destDir}.
+ echo $usage
+ exit(1)
+ else if ( $#argv < 2 ) then
+ echo ${prog}: -d option requires destination directory.
+ echo $usage
+ exit(1)
+ else
+ set destDir = $argv[2]
+ shift; shift
+ breaksw
+ endif
+ case -f:
+ if ( $?rootDir ) then
+ echo ${prog}: root-dir parameter already set to ${rootDir}.
+ echo $usage
+ exit(1)
+ else if ( $#argv < 2 ) then
+ echo ${prog}: -f option requires package root directory.
+ echo $usage
+ exit(1)
+ else
+ set rootDir = $argv[2]
+ set fflag
+ shift; shift
+ breaksw
+ endif
+ case -r:
+ if ( $?resDir ) then
+ echo ${prog}: resource-dir parameter already set to ${resDir}.
+ echo $usage
+ exit(1)
+ else if ( $#argv < 2 ) then
+ echo ${prog}: -r option requires package resource directory.
+ echo $usage
+ exit(1)
+ else
+ set resDir = $argv[2]
+ shift; shift
+ breaksw
+ endif
+ case -traditional:
+ set usetar
+ unset usegnutar
+ unset usepax
+ breaksw
+ case -gnutar:
+ set usegnutar
+ unset usepax
+ unset usetar
+ case -B:
+ # We got long file names, better use bigtar instead
+ #set archiver = /NextAdmin/Installer.app/Resources/installer_bigtar
+ echo 2>&1 ${prog}: -B flag is no longer relevant.
+ shift
+ breaksw
+ case -*:
+ echo ${prog}: Unknown option: $argv[1]
+ echo $usage
+ exit(1)
+ case *.info:
+ if ( $?info ) then
+ echo ${prog}: info-file parameter already set to ${info}.
+ echo $usage
+ exit(1)
+ else
+ set info = "$argv[1]"
+ shift
+ breaksw
+ endif
+ case *.tiff:
+ if ( $?tiff ) then
+ echo ${prog}: tiff-file parameter already set to ${tiff}.
+ echo $usage
+ exit(1)
+ else
+ set tiff = "$argv[1]"
+ shift
+ breaksw
+ endif
+ default:
+ if ( $?rootDir ) then
+ echo ${prog}: unrecognized parameter: $argv[1]
+ echo $usage
+ exit(1)
+ else
+ set rootDir = "$argv[1]"
+ shift
+ breaksw
+ endif
+ endsw
+end
+
+# check for mandatory parameters
+if ( ! $?rootDir ) then
+ echo ${prog}: missing root-dir parameter.
+ echo $usage
+ exit(1)
+else if ( ! $?info) then
+ echo ${prog}: missing info-file parameter.
+ echo $usage
+ exit(1)
+endif
+
+# destDir gets default value if unset on command line
+if ( $?destDir ) then
+ /bin/mkdir -p $destDir
+else
+ set destDir = .
+endif
+
+# derive the root name for the package from the root name of the info file
+set root = `/usr/bin/basename $info .info`
+
+# create package directory
+set pkg = ${destDir}/${root}.pkg
+echo Generating Installer package $pkg ...
+if ( -e $pkg ) /bin/rm -rf $pkg
+/bin/mkdir -p -m 755 $pkg
+
+# (gnu)tar/pax and compress root directory to package archive
+echo -n " creating package archive ... "
+if ( $?fflag ) then
+ set pkgTop = ${rootDir:t}
+ set parent = ${rootDir:h}
+ if ( "$parent" == "$pkgTop" ) set parent = "."
+else
+ set parent = $rootDir
+ set pkgTop = .
+endif
+if ( $?usetar ) then
+ set pkgArchive = $pkg/$root.tar.Z
+ (cd $parent; $tar -w $pkgTop) | /usr/bin/compress -f -c > $pkgArchive
+else if ( $?usegnutar ) then
+ set pkgArchive = $pkg/$root.tar.gz
+ (cd $parent; $gnutar zcf $pkgArchive $pkgTop)
+else
+ set pkgArchive = $pkg/$root.pax.gz
+ (cd $parent; $pax -w -z -x cpio $pkgTop) > $pkgArchive
+endif
+/bin/chmod 444 $pkgArchive
+echo done.
+
+# copy info file to package
+set pkgInfo = $pkg/$root.info
+echo -n " copying ${info:t} ... "
+/bin/cp $info $pkgInfo
+/bin/chmod 444 $pkgInfo
+echo done.
+
+# copy tiff file to package
+if ( $?tiff ) then
+ set pkgTiff = $pkg/$root.tiff
+ echo -n " copying ${tiff:t} ... "
+ /bin/cp $tiff $pkgTiff
+ /bin/chmod 444 $pkgTiff
+ echo done.
+endif
+
+# copy resources to package
+if ( $?resDir ) then
+ echo -n " copying ${resDir:t} ... "
+
+ # don't want to see push/pop output
+ pushd $resDir > /dev/null
+ # get lists of resources. We'll want to change
+ # permissions on just these things later.
+ set directoriesInResDir = `find . -type d`
+ set filesInResDir = `find . -type f`
+ popd > /dev/null
+
+ # copy the resource directory contents into the package directory
+ foreach resFile (`ls $resDir`)
+ cp -r $resDir/$resFile $pkg
+ end
+
+ pushd $pkg > /dev/null
+ # Change all directories to +r+x, except the package
+ # directory itself
+ foreach resFileItem ($directoriesInResDir)
+ if ( $resFileItem != "." ) then
+ chmod 555 $resFileItem
+ endif
+ end
+ # change all flat files to read only
+ foreach resFileItem ($filesInResDir)
+ chmod 444 $resFileItem
+ end
+ popd > /dev/null
+
+ echo done.
+endif
+
+# generate bom file
+set pkgBom = $pkg/$root.bom
+echo -n " generating bom file ... "
+/bin/rm -f $pkgBom
+if ( $?fflag ) then
+ $mkbom $parent $pkgBom >& /dev/null
+else
+ $mkbom $rootDir $pkgBom >& /dev/null
+endif
+/bin/chmod 444 $pkgArchive
+echo done.
+
+# generate sizes file
+set pkgSizes = $pkg/$root.sizes
+echo -n " generating sizes file ... "
+
+# compute number of files in package
+set numFiles = `$lsbom -s $pkgBom | /usr/bin/wc -l`
+
+# compute package size when compressed
+@ compressedSize = `/usr/bin/du -k -s $pkg | $awk '{print $1}'`
+@ compressedSize += 3 # add 1KB each for sizes, location, status files
+
+@ infoSize = `/bin/ls -s $pkgInfo | $awk '{print $1}'`
+@ bomSize = `/bin/ls -s $pkgBom | $awk '{print $1}'`
+if ( $?tiff ) then
+ @ tiffSize = `/bin/ls -s $pkgTiff | $awk '{print $1}'`
+else
+ @ tiffSize = 0
+endif
+
+@ installedSize = `/usr/bin/du -k -s $rootDir | $awk '{print $1}'`
+@ installedSize += $infoSize + $bomSize + $tiffSize + 3
+
+# echo size parameters to sizes file
+echo NumFiles $numFiles > $pkgSizes
+echo InstalledSize $installedSize >> $pkgSizes
+echo CompressedSize $compressedSize >> $pkgSizes
+echo done.
+echo " ... finished generating $pkg."
+
+exit(0)
+
+# end package
+
diff --git a/distrib/sdl-1.2.15/Xcode/stationary.csh b/distrib/sdl-1.2.15/Xcode/stationary.csh
new file mode 100755
index 0000000..ba5a385
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/stationary.csh
@@ -0,0 +1,25 @@
+#!/bin/csh
+
+###
+## This script installs the stationary
+###
+
+sudo -v -p "Please enter the administrator password: "
+
+# project templates
+sudo /Developer/Tools/CpMac -r "Project Stationary/SDL Application" "/Developer/ProjectBuilder Extras/Project Templates/Application/"
+
+sudo /Developer/Tools/CpMac -r "Project Stationary/SDL Cocoa Application" "/Developer/ProjectBuilder Extras/Project Templates/Application/"
+
+sudo /Developer/Tools/CpMac -r "Project Stationary/SDL Custom Cocoa Application" "/Developer/ProjectBuilder Extras/Project Templates/Application/"
+
+sudo /Developer/Tools/CpMac -r "Project Stationary/SDL OpenGL Application" "/Developer/ProjectBuilder Extras/Project Templates/Application/"
+
+
+# target templates
+sudo mkdir -p "/Developer/ProjectBuilder Extras/Target Templates/SDL"
+
+sudo /Developer/Tools/CpMac -r "Project Stationary/Application.trgttmpl" "/Developer/ProjectBuilder Extras/Target Templates/SDL"
+
+
+
diff --git a/distrib/sdl-1.2.15/Xcode/uninstall.csh b/distrib/sdl-1.2.15/Xcode/uninstall.csh
new file mode 100755
index 0000000..aab8d79
--- /dev/null
+++ b/distrib/sdl-1.2.15/Xcode/uninstall.csh
@@ -0,0 +1,32 @@
+#!/bin/csh
+
+###
+## This script removes the Developer SDL package
+###
+
+setenv HOME_DIR ~
+
+sudo -v -p "Enter administrator password to remove SDL: "
+
+sudo rm -rf "$HOME_DIR/Library/Frameworks/SDL.framework"
+
+# will only remove the Frameworks dir if empty (since we put it there)
+sudo rmdir "$HOME_DIR/Library/Frameworks"
+
+sudo rm -r "$HOME_DIR/Readme SDL Developer.txt"
+sudo rm -r "/Developer/Documentation/SDL"
+sudo rm -r "/Developer/Documentation/ManPages/man3/SDL"*
+sudo rm -r "/Developer/ProjectBuilder Extras/Project Templates/Application/SDL Application"
+sudo rm -r "/Developer/ProjectBuilder Extras/Project Templates/Application/SDL Cocoa Application"
+sudo rm -r "/Developer/ProjectBuilder Extras/Project Templates/Application/SDL Custom Cocoa Application"
+sudo rm -r "/Developer/ProjectBuilder Extras/Project Templates/Application/SDL OpenGL Application"
+sudo rm -r "/Developer/ProjectBuilder Extras/Target Templates/SDL"
+sudo rm -r "/Library/Receipts/SDL-devel.pkg"
+
+# rebuild apropos database
+sudo /usr/libexec/makewhatis
+
+unsetenv HOME_DIR
+
+
+