From f56fb74a859592bb704f34c85bc11650f005adeb Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 17 Jun 2013 06:35:41 -0700 Subject: [PATCH] Removed obsolete Xcode templates and documentation --- Xcode/SDL/SDL.xcodeproj/project.pbxproj | 122 +- .../SDL/pkg-support/Readme SDL Developer.txt | 282 --- Xcode/SDL/pkg-support/SDL-devel.info | 15 - .../pkg-support/devel-resources/ReadMe.txt | 5 - .../pkg-support/devel-resources/Welcome.txt | 5 - .../pkg-support/devel-resources/install.sh | 76 - Xcode/SDL/pkg-support/resources/ReadMe.txt | 6 - .../pkg-support/resources/ReadMeDevLite.txt | 12 - .../English.lproj/InfoPlist.strings | Bin 644 -> 0 bytes .../SDL Application/Info.plist | 37 - .../___PROJECTNAMEASIDENTIFIER____Prefix.pch | 9 - .../TemplateIcon.icns | Bin 111234 -> 0 bytes .../TemplateInfo.plist | 12 - .../project.pbxproj | 304 --- .../SDL Application/main.c | 65 - .../English.lproj/InfoPlist.strings | Bin 644 -> 0 bytes .../English.lproj/SDLMain.nib/classes.nib | 19 - .../English.lproj/SDLMain.nib/info.nib | 21 - .../English.lproj/SDLMain.nib/objects.nib | Bin 2590 -> 0 bytes .../SDL Cocoa Application/Info.plist | 37 - .../___PROJECTNAMEASIDENTIFIER____Prefix.pch | 9 - .../TemplateIcon.icns | Bin 111234 -> 0 bytes .../TemplateInfo.plist | 12 - .../project.pbxproj | 316 --- .../SDL Cocoa Application/main.c | 65 - .../English.lproj/InfoPlist.strings | Bin 644 -> 0 bytes .../SDL OpenGL Application/Info.plist | 37 - .../___PROJECTNAMEASIDENTIFIER____Prefix.pch | 9 - .../TemplateIcon.icns | Bin 111234 -> 0 bytes .../TemplateInfo.plist | 12 - .../project.pbxproj | 346 --- .../atlantis/atlantis.c | 459 ---- .../atlantis/atlantis.h | 65 - .../SDL OpenGL Application/atlantis/dolphin.c | 1934 ----------------- .../SDL OpenGL Application/atlantis/shark.c | 1308 ----------- .../SDL OpenGL Application/atlantis/swim.c | 188 -- .../SDL OpenGL Application/atlantis/whale.c | 1798 --------------- .../SDL OpenGL Application/main.c | 179 -- .../English.lproj/InfoPlist.strings | Bin 644 -> 0 bytes .../SDL Application/Info.plist | 37 - .../___PROJECTNAMEASIDENTIFIER____Prefix.pch | 9 - .../TemplateIcon.icns | Bin 111234 -> 0 bytes .../TemplateInfo.plist | 12 - .../project.pbxproj | 306 --- .../SDL Application/main.c | 65 - .../English.lproj/InfoPlist.strings | Bin 644 -> 0 bytes .../English.lproj/SDLMain.nib/classes.nib | 19 - .../English.lproj/SDLMain.nib/info.nib | 21 - .../English.lproj/SDLMain.nib/objects.nib | Bin 2590 -> 0 bytes .../SDL Cocoa Application/Info.plist | 37 - .../___PROJECTNAMEASIDENTIFIER____Prefix.pch | 9 - .../TemplateIcon.icns | Bin 111234 -> 0 bytes .../TemplateInfo.plist | 12 - .../project.pbxproj | 318 --- .../SDL Cocoa Application/main.c | 65 - .../English.lproj/InfoPlist.strings | Bin 644 -> 0 bytes .../SDL OpenGL Application/Info.plist | 37 - .../___PROJECTNAMEASIDENTIFIER____Prefix.pch | 9 - .../TemplateIcon.icns | Bin 111234 -> 0 bytes .../TemplateInfo.plist | 12 - .../project.pbxproj | 348 --- .../atlantis/atlantis.c | 459 ---- .../atlantis/atlantis.h | 65 - .../SDL OpenGL Application/atlantis/dolphin.c | 1934 ----------------- .../SDL OpenGL Application/atlantis/shark.c | 1308 ----------- .../SDL OpenGL Application/atlantis/swim.c | 188 -- .../SDL OpenGL Application/atlantis/whale.c | 1798 --------------- .../SDL OpenGL Application/main.c | 179 -- .../English.lproj/InfoPlist.strings | Bin 588 -> 0 bytes .../SDL Application/Info.plist | 28 - .../SDLApp.xcodeproj/TemplateInfo.plist | 12 - .../SDLApp.xcodeproj/project.pbxproj | 297 --- .../SDL Application/SDLApp_Prefix.pch | 9 - .../SDL Application/main.c | 65 - .../English.lproj/InfoPlist.strings | Bin 588 -> 0 bytes .../English.lproj/SDLMain.nib/classes.nib | 19 - .../English.lproj/SDLMain.nib/info.nib | 21 - .../English.lproj/SDLMain.nib/objects.nib | Bin 2590 -> 0 bytes .../SDL Cocoa Application/Info.plist | 28 - .../SDL Cocoa Application/SDLApp_Prefix.pch | 9 - .../SDLCocoaApp.xcodeproj/TemplateInfo.plist | 12 - .../SDLCocoaApp.xcodeproj/project.pbxproj | 309 --- .../SDL Cocoa Application/main.c | 65 - .../English.lproj/InfoPlist.strings | Bin 588 -> 0 bytes .../SDL OpenGL Application/Info.plist | 28 - .../SDL OpenGL Application/SDLApp_Prefix.pch | 9 - .../SDLOpenGLApp.xcodeproj/TemplateInfo.plist | 12 - .../SDLOpenGLApp.xcodeproj/project.pbxproj | 335 --- .../atlantis/atlantis.c | 459 ---- .../atlantis/atlantis.h | 65 - .../SDL OpenGL Application/atlantis/dolphin.c | 1934 ----------------- .../SDL OpenGL Application/atlantis/shark.c | 1308 ----------- .../SDL OpenGL Application/atlantis/swim.c | 188 -- .../SDL OpenGL Application/atlantis/whale.c | 1798 --------------- .../SDL OpenGL Application/main.c | 179 -- Xcode/package | 272 --- Xcode/stationary.csh | 25 - Xcode/uninstall.csh | 32 - 98 files changed, 1 insertion(+), 22528 deletions(-) delete mode 100755 Xcode/SDL/pkg-support/Readme SDL Developer.txt delete mode 100755 Xcode/SDL/pkg-support/SDL-devel.info delete mode 100755 Xcode/SDL/pkg-support/devel-resources/ReadMe.txt delete mode 100755 Xcode/SDL/pkg-support/devel-resources/Welcome.txt delete mode 100755 Xcode/SDL/pkg-support/devel-resources/install.sh delete mode 100644 Xcode/SDL/pkg-support/resources/ReadMeDevLite.txt delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Application/English.lproj/InfoPlist.strings delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Application/Info.plist delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Application/main.c delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/Info.plist delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/main.c delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/Info.plist delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.c delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.h delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/dolphin.c delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/shark.c delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/swim.c delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/whale.c delete mode 100644 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/main.c delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/English.lproj/InfoPlist.strings delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/Info.plist delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/main.c delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/Info.plist delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/main.c delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/Info.plist delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.c delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.h delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/dolphin.c delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/shark.c delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/swim.c delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/whale.c delete mode 100644 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/main.c delete mode 100755 Xcode/TemplatesForXcodeTiger/SDL Application/English.lproj/InfoPlist.strings delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Application/Info.plist delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/TemplateInfo.plist delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/project.pbxproj delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp_Prefix.pch delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Application/main.c delete mode 100755 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/InfoPlist.strings delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/Info.plist delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLApp_Prefix.pch delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/TemplateInfo.plist delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/project.pbxproj delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/main.c delete mode 100755 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/English.lproj/InfoPlist.strings delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/Info.plist delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLApp_Prefix.pch delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/TemplateInfo.plist delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/project.pbxproj delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.c delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.h delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/dolphin.c delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/shark.c delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/swim.c delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/whale.c delete mode 100644 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/main.c delete mode 100755 Xcode/package delete mode 100755 Xcode/stationary.csh delete mode 100755 Xcode/uninstall.csh diff --git a/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/Xcode/SDL/SDL.xcodeproj/project.pbxproj index 4755774d8..48c4c0edf 100755 --- a/Xcode/SDL/SDL.xcodeproj/project.pbxproj +++ b/Xcode/SDL/SDL.xcodeproj/project.pbxproj @@ -6,20 +6,6 @@ objectVersion = 46; objects = { -/* Begin PBXAggregateTarget section */ - 0083103F1072EA5700A531F1 /* Generate Doxygen DocSet */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 008310471072EAAE00A531F1 /* Build configuration list for PBXAggregateTarget "Generate Doxygen DocSet" */; - buildPhases = ( - 0083103E1072EA5700A531F1 /* ShellScript */, - ); - dependencies = ( - ); - name = "Generate Doxygen DocSet"; - productName = "Generate Doxygen DocSet"; - }; -/* End PBXAggregateTarget section */ - /* Begin PBXBuildFile section */ 007317A20858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179B0858DECD00B2BC32 /* AudioToolbox.framework */; }; 007317A30858DECD00B2BC32 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179C0858DECD00B2BC32 /* AudioUnit.framework */; }; @@ -789,13 +775,6 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 008310451072EA9000A531F1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0083103F1072EA5700A531F1; - remoteInfo = "Generate Doxygen DocSet"; - }; BECDF6C50761BA81005FE872 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; @@ -1069,7 +1048,6 @@ BECDF66C0761BA81005FE872 /* SDL2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; BECDF6B30761BA81005FE872 /* libSDL2.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2.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; }; DB31407717554B71006C0E22 /* libSDL2.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSDL2.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; F59C70FF00D5CB5801000001 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe.txt; sourceTree = ""; }; F59C710000D5CB5801000001 /* Welcome.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Welcome.txt; sourceTree = ""; }; @@ -1200,7 +1178,6 @@ BECDF66C0761BA81005FE872 /* SDL2.framework */, BECDF6B30761BA81005FE872 /* libSDL2.a */, BECDF6BE0761BA81005FE872 /* Standard DMG */, - BECDF6C30761BA81005FE872 /* Developer Extras Package */, DB31407717554B71006C0E22 /* libSDL2.dylib */, ); name = Products; @@ -2222,23 +2199,6 @@ 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 = ( - 008310461072EA9000A531F1 /* PBXTargetDependency */, - ); - name = "Developer Extras Package"; - productInstallPath = /usr/local/bin; - productName = "Devel Package"; - productReference = BECDF6C30761BA81005FE872 /* Developer Extras Package */; - productType = "com.apple.product-type.tool"; - }; DB313F7217554B71006C0E22 /* Shared Library */ = { isa = PBXNativeTarget; buildConfigurationList = DB31407417554B71006C0E22 /* Build configuration list for PBXNativeTarget "Shared Library" */; @@ -2286,8 +2246,6 @@ BECDF66D0761BA81005FE872 /* Static Library */, DB313F7217554B71006C0E22 /* Shared Library */, BECDF6BB0761BA81005FE872 /* Standard DMG */, - BECDF6C00761BA81005FE872 /* Developer Extras Package */, - 0083103F1072EA5700A531F1 /* Generate Doxygen DocSet */, ); }; /* End PBXProject section */ @@ -2320,19 +2278,6 @@ /* End PBXRezBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0083103E1072EA5700A531F1 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - 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"; - }; BECDF6BD0761BA81005FE872 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 12; @@ -2340,17 +2285,7 @@ ); 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`xcode-select -print-path`/Tools/CpMac -r $TARGET_BUILD_DIR/SDL2.framework build/dmg-tmp/\n\ncp pkg-support/resources/License.txt build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\ncp pkg-support/resources/ReadMeDevLite.txt 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 \"{}\" \\;\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 SDL2 -srcfolder build/dmg-tmp build/SDL2.dmg\n\n# clean up\nrm -rf build/dmg-tmp"; - }; - 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\n#mkdir -p build/devel-extras-tmp/SDLMain\n#mkdir -p build/devel-extras-tmp/SDLMain/NIBless\n#mkdir -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\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\n#cp pkg-support/resources/ReadMeDevLite.txt build/devel-extras-tmp/SDLMain/NIBless\n#cp ../../src/main/macosx/SDLMain.h build/devel-extras-tmp/SDLMain/NIBless\n#cp ../../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# <>\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"; + shellScript = "# clean up the framework, remove headers, extra files\nmkdir -p build/dmg-tmp\n`xcode-select -print-path`/Tools/CpMac -r $TARGET_BUILD_DIR/SDL2.framework build/dmg-tmp/\n\ncp pkg-support/resources/License.txt build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\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 \"{}\" \\;\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 SDL2 -srcfolder build/dmg-tmp build/SDL2.dmg\n\n# clean up\nrm -rf build/dmg-tmp"; }; /* End PBXShellScriptBuildPhase section */ @@ -2706,11 +2641,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 008310461072EA9000A531F1 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 0083103F1072EA5700A531F1 /* Generate Doxygen DocSet */; - targetProxy = 008310451072EA9000A531F1 /* PBXContainerItemProxy */; - }; BECDF6C60761BA81005FE872 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = BECDF5FE0761BA81005FE872 /* Framework */; @@ -2719,24 +2649,6 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 008310421072EA5700A531F1 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - DOXYGEN_EXE = /Applications/Doxygen.app/Contents/Resources/doxygen; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - PRODUCT_NAME = "Generate Doxygen DocSet"; - }; - name = Debug; - }; - 008310431072EA5700A531F1 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - DOXYGEN_EXE = /Applications/Doxygen.app/Contents/Resources/doxygen; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - PRODUCT_NAME = "Generate Doxygen DocSet"; - }; - name = Release; - }; 00CFA621106A567900758660 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2793,13 +2705,6 @@ }; name = Release; }; - 00CFA626106A567900758660 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "Developer Extras Package"; - }; - name = Release; - }; 00CFA627106A568900758660 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2854,13 +2759,6 @@ }; name = Debug; }; - 00CFA62C106A568900758660 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "Developer Extras Package"; - }; - name = Debug; - }; DB31407517554B71006C0E22 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2929,15 +2827,6 @@ 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 = ( @@ -2947,15 +2836,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 008310471072EAAE00A531F1 /* Build configuration list for PBXAggregateTarget "Generate Doxygen DocSet" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 008310421072EA5700A531F1 /* Debug */, - 008310431072EA5700A531F1 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; DB31407417554B71006C0E22 /* Build configuration list for PBXNativeTarget "Shared Library" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/Xcode/SDL/pkg-support/Readme SDL Developer.txt b/Xcode/SDL/pkg-support/Readme SDL Developer.txt deleted file mode 100755 index 348b80734..000000000 --- a/Xcode/SDL/pkg-support/Readme SDL Developer.txt +++ /dev/null @@ -1,282 +0,0 @@ -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. - We also include 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/Application - - - 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/Xcode/SDL/pkg-support/SDL-devel.info b/Xcode/SDL/pkg-support/SDL-devel.info deleted file mode 100755 index 698f1d603..000000000 --- a/Xcode/SDL/pkg-support/SDL-devel.info +++ /dev/null @@ -1,15 +0,0 @@ -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/Xcode/SDL/pkg-support/devel-resources/ReadMe.txt b/Xcode/SDL/pkg-support/devel-resources/ReadMe.txt deleted file mode 100755 index f4fe36164..000000000 --- a/Xcode/SDL/pkg-support/devel-resources/ReadMe.txt +++ /dev/null @@ -1,5 +0,0 @@ -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/Xcode/SDL/pkg-support/devel-resources/Welcome.txt b/Xcode/SDL/pkg-support/devel-resources/Welcome.txt deleted file mode 100755 index 9b0d2862f..000000000 --- a/Xcode/SDL/pkg-support/devel-resources/Welcome.txt +++ /dev/null @@ -1,5 +0,0 @@ -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/Xcode/SDL/pkg-support/devel-resources/install.sh b/Xcode/SDL/pkg-support/devel-resources/install.sh deleted file mode 100755 index e7a4dedff..000000000 --- a/Xcode/SDL/pkg-support/devel-resources/install.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/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/Xcode/SDL/pkg-support/resources/ReadMe.txt b/Xcode/SDL/pkg-support/resources/ReadMe.txt index f5c3b9ffc..40ac3a14c 100755 --- a/Xcode/SDL/pkg-support/resources/ReadMe.txt +++ b/Xcode/SDL/pkg-support/resources/ReadMe.txt @@ -19,12 +19,6 @@ Copy the SDL2.framework to /Library/Frameworks You may alternatively install it in /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: diff --git a/Xcode/SDL/pkg-support/resources/ReadMeDevLite.txt b/Xcode/SDL/pkg-support/resources/ReadMeDevLite.txt deleted file mode 100644 index f1831a606..000000000 --- a/Xcode/SDL/pkg-support/resources/ReadMeDevLite.txt +++ /dev/null @@ -1,12 +0,0 @@ -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 Project Builder/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 Project Builder/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/Xcode/TemplatesForXcodeLeopard/SDL Application/English.lproj/InfoPlist.strings b/Xcode/TemplatesForXcodeLeopard/SDL Application/English.lproj/InfoPlist.strings deleted file mode 100644 index 6e721b0ef0e7ef6d44f293955483ecf6ae72291a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 644 zcmb`EO;5r=6h+UPU(v8624rnmAW@WPYbY_1jZs_BD1{U>ksq%fS|P!7V?rj=JMYfz z-1qVQ)uKVb6?2|=;Efm7q$F}5V$M=#P9_H8#P6li#B-BHpdh-E&=U_cDxSa9cx2W+D_hvdO&wF~+;q0=#hqR0+N(0!vXM+*J~XGXI1(eH i{XRB-s|ks@a3V7&k@;sTCho^#K2_f3q^fQXm(>rye`=5b diff --git a/Xcode/TemplatesForXcodeLeopard/SDL Application/Info.plist b/Xcode/TemplatesForXcodeLeopard/SDL Application/Info.plist deleted file mode 100644 index e4332041b..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Application/Info.plist +++ /dev/null @@ -1,37 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.___PROJECTNAMEASXML___ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - SDLMain - NSPrincipalClass - NSApplication - LSMinimumSystemVersionByArchitecture - - x86_64 - 10.6.0 - i386 - 10.4.0 - ppc - 10.4.0 - - - diff --git a/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch deleted file mode 100644 index 00095074a..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project -// - -#include "SDL.h" - -#ifdef __OBJC__ - #import -#endif diff --git a/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns deleted file mode 100644 index ae0b02b12ae19056f034a483be03dd053112545a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111234 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 z≷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 diff --git a/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist deleted file mode 100644 index d9ca45493..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj deleted file mode 100644 index 7179f5254..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj +++ /dev/null @@ -1,304 +0,0 @@ -// !$*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 */; }; - 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 = ""; }; - 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 = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 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 = ( - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 002F39F909D0881F00EBEB88 /* SDL.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = "___PROJECTNAMEASXML___"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */, - 002F3A3E09D088BA00EBEB88 /* main.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8D1107310486CEB800E47090 /* Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* 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 = ( - 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 = ""; - }; -/* 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_C_LANGUAGE_STANDARD = c99; - 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_C_LANGUAGE_STANDARD = c99; - 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/Xcode/TemplatesForXcodeLeopard/SDL Application/main.c b/Xcode/TemplatesForXcodeLeopard/SDL Application/main.c deleted file mode 100644 index 47af3765d..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Application/main.c +++ /dev/null @@ -1,65 +0,0 @@ - -/* 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 -#include -#include -#include - -#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/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings b/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings deleted file mode 100644 index 6e721b0ef0e7ef6d44f293955483ecf6ae72291a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 644 zcmb`EO;5r=6h+UPU(v8624rnmAW@WPYbY_1jZs_BD1{U>ksq%fS|P!7V?rj=JMYfz z-1qVQ)uKVb6?2|=;Efm7q$F}5V$M=#P9_H8#P6li#B-BHpdh-E&=U_cDxSa9cx2W+D_hvdO&wF~+;q0=#hqR0+N(0!vXM+*J~XGXI1(eH i{XRB-s|ks@a3V7&k@;sTCho^#K2_f3q^fQXm(>rye`=5b diff --git a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib b/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib deleted file mode 100644 index 799eaaddd..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib +++ /dev/null @@ -1,19 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib b/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib deleted file mode 100644 index 1d6fb7e01..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib +++ /dev/null @@ -1,21 +0,0 @@ - - - - - IBDocumentLocation - 62 117 356 240 0 0 1152 848 - IBEditorPositions - - 29 - 62 362 195 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBOpenObjects - - 29 - - IBSystem Version - 6L60 - - diff --git a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib b/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib deleted file mode 100644 index 637801528a03f85f28a290e5ffde3716217cd1e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2590 zcmai0Ur1Y57(ZvGHPvX{x^|3KmO)4920}Z=I$xHka}{RndLQ;UuF0w1Hn}&uxtZ%; z#*vfDo(2oaLDO`IbX#{sD5X9Glz^L1K@hFJ=jNYE(&QmG-}!#u z-{1MZ>+5vxCP^&i*hEjzw!at-F~+(h+Q`7z_-zt(hIB`#=vT)45zUjJOx9BwOs5jL1&h(w3_4P~J#JZ`0(V9n0#EOOEGR|f|NC<8`&BAS=lO_H+Gc9dMsap@O|lF%oJ z3(qo3h;?w1MDHYY`;O~o*bn?iI03Lc88yBjG0o8(0!L6W__`{bIhjKD4V&B|HZh|l z)z{bOKA1*5s2aidnV)KiLLC#hZp27q%y`mm29tR!N1X~Z=1dYh)!a)>-LFkrQ^9aN z{v6%u5JKod)2M6q0w1T1Lv_ZVHH%qRHSnp&4I(S(x^u1F6!}t-v-|g}oEX&&(`9o7 zpR8GF4t;ktKGvN|k0-!%I4Y^vui8>nZ2@)g?;AGa4eOsi=UL6Vgjr!Tb?2 z75q?7C}v=@S%!7MOJhl51~vV25>q%y0dSA4*3j1FsGC0}E!P7|wYDk~KV3rv!-|kH z8m$=)?rcNRPJUvTF>9)I*{VuVI4lF*@(MRrzqN_pgHh`@K9 z#FMT4dn#4$yPkJ>{}ohb`+igJkge=aCqy7A=DE-F$3Q-=<^tGJ+{?ImzFOwxmC6B3 zx?#(7Ms*XWh7DEA^Ti_HEb)ype+1}z*^Ea!#hs&Ut<&xgh`UWz?aw20I|`|djhb!) z6`rr`8;GY5(I00TW|8cAiSO?4`6A!m;!lcvp~#ENe7VHe%lv7X@9pxnGT$ljt<8FF zor>x=NtBpQ>lPi-taj=jm2t;loalB?RlZpovPI{hMV_l6E1HIz?o`QA<}0N_falrF zY(QS}OR3=4lnG7YOMvrTfsf1gf8!-k@YlM`3vk%5mR!CqiQr9mxu*cM0|*Sio5xP} z-~_pRS1Md}`7=-mNInFsgy35ss;oGmGh+d;T-lw(fn9bYqG|8|TXO_~!d#(CYMqT} z5o3H1EZJ5ZeoWZXmQB&7+S}fdCwno++CrhwyiB{-vSY*^wgCof$&BfCOl`p%x=G^w z@wlQv z2V?#iiIWMnCuIoR8Hn{vlGwK_J0Zt|?xby)5EXYz8Gv*+#7-C{U@Fp8X{g;KQ|cnA zRMwPj3+8NHwytC;7>;$>hLm+wW#N=ph&?IwP0F#NtS!j@r;@O=tAxrvE4&GBJVvQk zrJ}>quS{1KRJS5IjJRkxT&4_M_X2m0lz7;DJUlpqq_lsu~ z{U=UR^o@9h;*fZi;;>kwxKHff78?}5D;6kzLzF4LCSIrb1F=c*1@V;Px5YZe?}$B1 z^icG(ctTNLoS`@ - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.___PROJECTNAMEASXML___ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - SDLMain - NSPrincipalClass - NSApplication - LSMinimumSystemVersionByArchitecture - - x86_64 - 10.6.0 - i386 - 10.4.0 - ppc - 10.4.0 - - - diff --git a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch deleted file mode 100644 index 00095074a..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project -// - -#include "SDL.h" - -#ifdef __OBJC__ - #import -#endif diff --git a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns deleted file mode 100644 index ae0b02b12ae19056f034a483be03dd053112545a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111234 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 z≷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 diff --git a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist deleted file mode 100644 index 1dcbea207..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj deleted file mode 100644 index e259c6102..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj +++ /dev/null @@ -1,316 +0,0 @@ -// !$*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 */; }; - 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 = ""; }; - 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 = ""; }; - 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 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 = ( - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 002F39F909D0881F00EBEB88 /* SDL.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = "___PROJECTNAMEASXML___"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */, - 002F3A3E09D088BA00EBEB88 /* main.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8D1107310486CEB800E47090 /* Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* 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 = ( - 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 = ""; - }; - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 089C165DFE840E0CC02AAC07 /* English */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* 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_C_LANGUAGE_STANDARD = c99; - 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_C_LANGUAGE_STANDARD = c99; - 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/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/main.c b/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/main.c deleted file mode 100644 index 47af3765d..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/main.c +++ /dev/null @@ -1,65 +0,0 @@ - -/* 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 -#include -#include -#include - -#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/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings deleted file mode 100644 index 6e721b0ef0e7ef6d44f293955483ecf6ae72291a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 644 zcmb`EO;5r=6h+UPU(v8624rnmAW@WPYbY_1jZs_BD1{U>ksq%fS|P!7V?rj=JMYfz z-1qVQ)uKVb6?2|=;Efm7q$F}5V$M=#P9_H8#P6li#B-BHpdh-E&=U_cDxSa9cx2W+D_hvdO&wF~+;q0=#hqR0+N(0!vXM+*J~XGXI1(eH i{XRB-s|ks@a3V7&k@;sTCho^#K2_f3q^fQXm(>rye`=5b diff --git a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/Info.plist b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/Info.plist deleted file mode 100644 index a2e942960..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/Info.plist +++ /dev/null @@ -1,37 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.___PROJECTNAMEASXML___ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - SDLMain - NSPrincipalClass - NSApplication - LSMinimumSystemVersionByArchitecture - - x86_64 - 10.6.0 - i386 - 10.4.0 - ppc - 10.4.0 - - - diff --git a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch deleted file mode 100644 index 00095074a..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project -// - -#include "SDL.h" - -#ifdef __OBJC__ - #import -#endif diff --git a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns deleted file mode 100644 index ae0b02b12ae19056f034a483be03dd053112545a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111234 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 z≷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 diff --git a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist deleted file mode 100644 index ba87745fc..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj deleted file mode 100644 index d81bb862e..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj +++ /dev/null @@ -1,346 +0,0 @@ -// !$*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 */; }; - 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 = ""; }; - 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 = ""; }; - 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 = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 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 = ""; - }; - 080E96DDFE201D6D7F000001 /* Classes */ = { - isa = PBXGroup; - children = ( - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 002F39F909D0881F00EBEB88 /* SDL.framework */, - 002F3C6009D0951E00EBEB88 /* GLUT.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - 002F3C0009D093BD00EBEB88 /* OpenGL.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = "___PROJECTNAMEASXML___"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 002F3BF309D0937800EBEB88 /* atlantis */, - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */, - 002F3A3E09D088BA00EBEB88 /* main.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8D1107310486CEB800E47090 /* Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* 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 = ( - 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 = ""; - }; -/* 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_C_LANGUAGE_STANDARD = c99; - 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_C_LANGUAGE_STANDARD = c99; - 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/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.c b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.c deleted file mode 100644 index debed809d..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.c +++ /dev/null @@ -1,459 +0,0 @@ - -/* 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 -#include -#include -#include -#include -#include -#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/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.h b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.h deleted file mode 100644 index 6ccf2d5f0..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * (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/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/dolphin.c b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/dolphin.c deleted file mode 100644 index 9fba3ba98..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/dolphin.c +++ /dev/null @@ -1,1934 +0,0 @@ -/** - * (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 -#include -#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/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/shark.c b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/shark.c deleted file mode 100644 index 9c847dbaf..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/shark.c +++ /dev/null @@ -1,1308 +0,0 @@ -/** - * (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 -#include -#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/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/swim.c b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/swim.c deleted file mode 100644 index cac7b6095..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/swim.c +++ /dev/null @@ -1,188 +0,0 @@ -/** - * (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 -#include /* For rand(). */ -#include -#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/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/whale.c b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/whale.c deleted file mode 100644 index 828640ad0..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/whale.c +++ /dev/null @@ -1,1798 +0,0 @@ -/** - * (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 -#include -#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/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/main.c b/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/main.c deleted file mode 100644 index 3bc4d33b1..000000000 --- a/Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/main.c +++ /dev/null @@ -1,179 +0,0 @@ - -/* 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 -#include -#include -#include - -#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/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/English.lproj/InfoPlist.strings b/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/English.lproj/InfoPlist.strings deleted file mode 100644 index 6e721b0ef0e7ef6d44f293955483ecf6ae72291a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 644 zcmb`EO;5r=6h+UPU(v8624rnmAW@WPYbY_1jZs_BD1{U>ksq%fS|P!7V?rj=JMYfz z-1qVQ)uKVb6?2|=;Efm7q$F}5V$M=#P9_H8#P6li#B-BHpdh-E&=U_cDxSa9cx2W+D_hvdO&wF~+;q0=#hqR0+N(0!vXM+*J~XGXI1(eH i{XRB-s|ks@a3V7&k@;sTCho^#K2_f3q^fQXm(>rye`=5b diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/Info.plist b/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/Info.plist deleted file mode 100644 index e4332041b..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/Info.plist +++ /dev/null @@ -1,37 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.___PROJECTNAMEASXML___ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - SDLMain - NSPrincipalClass - NSApplication - LSMinimumSystemVersionByArchitecture - - x86_64 - 10.6.0 - i386 - 10.4.0 - ppc - 10.4.0 - - - diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch deleted file mode 100644 index 00095074a..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project -// - -#include "SDL.h" - -#ifdef __OBJC__ - #import -#endif diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns deleted file mode 100644 index ae0b02b12ae19056f034a483be03dd053112545a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111234 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 z≷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 diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist deleted file mode 100644 index d9ca45493..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj deleted file mode 100644 index 0d84f2bca..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj +++ /dev/null @@ -1,306 +0,0 @@ -// !$*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 */; }; - 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 = ""; }; - 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 = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 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 = ( - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 002F39F909D0881F00EBEB88 /* SDL.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = "___PROJECTNAMEASXML___"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */, - 002F3A3E09D088BA00EBEB88 /* main.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8D1107310486CEB800E47090 /* Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* 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 = ( - 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 = ""; - }; -/* 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_C_LANGUAGE_STANDARD = c99; - 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_C_LANGUAGE_STANDARD = c99; - 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/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/main.c b/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/main.c deleted file mode 100644 index 47af3765d..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Application/main.c +++ /dev/null @@ -1,65 +0,0 @@ - -/* 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 -#include -#include -#include - -#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/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings b/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings deleted file mode 100644 index 6e721b0ef0e7ef6d44f293955483ecf6ae72291a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 644 zcmb`EO;5r=6h+UPU(v8624rnmAW@WPYbY_1jZs_BD1{U>ksq%fS|P!7V?rj=JMYfz z-1qVQ)uKVb6?2|=;Efm7q$F}5V$M=#P9_H8#P6li#B-BHpdh-E&=U_cDxSa9cx2W+D_hvdO&wF~+;q0=#hqR0+N(0!vXM+*J~XGXI1(eH i{XRB-s|ks@a3V7&k@;sTCho^#K2_f3q^fQXm(>rye`=5b diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib b/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib deleted file mode 100644 index 799eaaddd..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib +++ /dev/null @@ -1,19 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib b/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib deleted file mode 100644 index 1d6fb7e01..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib +++ /dev/null @@ -1,21 +0,0 @@ - - - - - IBDocumentLocation - 62 117 356 240 0 0 1152 848 - IBEditorPositions - - 29 - 62 362 195 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBOpenObjects - - 29 - - IBSystem Version - 6L60 - - diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib b/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib deleted file mode 100644 index 637801528a03f85f28a290e5ffde3716217cd1e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2590 zcmai0Ur1Y57(ZvGHPvX{x^|3KmO)4920}Z=I$xHka}{RndLQ;UuF0w1Hn}&uxtZ%; z#*vfDo(2oaLDO`IbX#{sD5X9Glz^L1K@hFJ=jNYE(&QmG-}!#u z-{1MZ>+5vxCP^&i*hEjzw!at-F~+(h+Q`7z_-zt(hIB`#=vT)45zUjJOx9BwOs5jL1&h(w3_4P~J#JZ`0(V9n0#EOOEGR|f|NC<8`&BAS=lO_H+Gc9dMsap@O|lF%oJ z3(qo3h;?w1MDHYY`;O~o*bn?iI03Lc88yBjG0o8(0!L6W__`{bIhjKD4V&B|HZh|l z)z{bOKA1*5s2aidnV)KiLLC#hZp27q%y`mm29tR!N1X~Z=1dYh)!a)>-LFkrQ^9aN z{v6%u5JKod)2M6q0w1T1Lv_ZVHH%qRHSnp&4I(S(x^u1F6!}t-v-|g}oEX&&(`9o7 zpR8GF4t;ktKGvN|k0-!%I4Y^vui8>nZ2@)g?;AGa4eOsi=UL6Vgjr!Tb?2 z75q?7C}v=@S%!7MOJhl51~vV25>q%y0dSA4*3j1FsGC0}E!P7|wYDk~KV3rv!-|kH z8m$=)?rcNRPJUvTF>9)I*{VuVI4lF*@(MRrzqN_pgHh`@K9 z#FMT4dn#4$yPkJ>{}ohb`+igJkge=aCqy7A=DE-F$3Q-=<^tGJ+{?ImzFOwxmC6B3 zx?#(7Ms*XWh7DEA^Ti_HEb)ype+1}z*^Ea!#hs&Ut<&xgh`UWz?aw20I|`|djhb!) z6`rr`8;GY5(I00TW|8cAiSO?4`6A!m;!lcvp~#ENe7VHe%lv7X@9pxnGT$ljt<8FF zor>x=NtBpQ>lPi-taj=jm2t;loalB?RlZpovPI{hMV_l6E1HIz?o`QA<}0N_falrF zY(QS}OR3=4lnG7YOMvrTfsf1gf8!-k@YlM`3vk%5mR!CqiQr9mxu*cM0|*Sio5xP} z-~_pRS1Md}`7=-mNInFsgy35ss;oGmGh+d;T-lw(fn9bYqG|8|TXO_~!d#(CYMqT} z5o3H1EZJ5ZeoWZXmQB&7+S}fdCwno++CrhwyiB{-vSY*^wgCof$&BfCOl`p%x=G^w z@wlQv z2V?#iiIWMnCuIoR8Hn{vlGwK_J0Zt|?xby)5EXYz8Gv*+#7-C{U@Fp8X{g;KQ|cnA zRMwPj3+8NHwytC;7>;$>hLm+wW#N=ph&?IwP0F#NtS!j@r;@O=tAxrvE4&GBJVvQk zrJ}>quS{1KRJS5IjJRkxT&4_M_X2m0lz7;DJUlpqq_lsu~ z{U=UR^o@9h;*fZi;;>kwxKHff78?}5D;6kzLzF4LCSIrb1F=c*1@V;Px5YZe?}$B1 z^icG(ctTNLoS`@ - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.___PROJECTNAMEASXML___ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - SDLMain - NSPrincipalClass - NSApplication - LSMinimumSystemVersionByArchitecture - - x86_64 - 10.6.0 - i386 - 10.4.0 - ppc - 10.4.0 - - - diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch deleted file mode 100644 index 00095074a..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project -// - -#include "SDL.h" - -#ifdef __OBJC__ - #import -#endif diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns deleted file mode 100644 index ae0b02b12ae19056f034a483be03dd053112545a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111234 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 z≷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 diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist deleted file mode 100644 index 1dcbea207..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj deleted file mode 100644 index 55ae3aef0..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj +++ /dev/null @@ -1,318 +0,0 @@ -// !$*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 */; }; - 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 = ""; }; - 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 = ""; }; - 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 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 = ( - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 002F39F909D0881F00EBEB88 /* SDL.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = "___PROJECTNAMEASXML___"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */, - 002F3A3E09D088BA00EBEB88 /* main.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8D1107310486CEB800E47090 /* Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* 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 = ( - 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 = ""; - }; - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 089C165DFE840E0CC02AAC07 /* English */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* 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_C_LANGUAGE_STANDARD = c99; - 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_C_LANGUAGE_STANDARD = c99; - 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/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/main.c b/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/main.c deleted file mode 100644 index 47af3765d..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/main.c +++ /dev/null @@ -1,65 +0,0 @@ - -/* 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 -#include -#include -#include - -#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/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings deleted file mode 100644 index 6e721b0ef0e7ef6d44f293955483ecf6ae72291a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 644 zcmb`EO;5r=6h+UPU(v8624rnmAW@WPYbY_1jZs_BD1{U>ksq%fS|P!7V?rj=JMYfz z-1qVQ)uKVb6?2|=;Efm7q$F}5V$M=#P9_H8#P6li#B-BHpdh-E&=U_cDxSa9cx2W+D_hvdO&wF~+;q0=#hqR0+N(0!vXM+*J~XGXI1(eH i{XRB-s|ks@a3V7&k@;sTCho^#K2_f3q^fQXm(>rye`=5b diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/Info.plist b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/Info.plist deleted file mode 100644 index a2e942960..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/Info.plist +++ /dev/null @@ -1,37 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.___PROJECTNAMEASXML___ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - SDLMain - NSPrincipalClass - NSApplication - LSMinimumSystemVersionByArchitecture - - x86_64 - 10.6.0 - i386 - 10.4.0 - ppc - 10.4.0 - - - diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch deleted file mode 100644 index 00095074a..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project -// - -#include "SDL.h" - -#ifdef __OBJC__ - #import -#endif diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns deleted file mode 100644 index ae0b02b12ae19056f034a483be03dd053112545a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111234 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 z≷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 diff --git a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist deleted file mode 100644 index ba87745fc..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj deleted file mode 100644 index 09373d1ae..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj +++ /dev/null @@ -1,348 +0,0 @@ -// !$*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 */; }; - 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 = ""; }; - 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 = ""; }; - 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 = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "___PROJECTNAME____Prefix.pch"; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 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 = ""; - }; - 080E96DDFE201D6D7F000001 /* Classes */ = { - isa = PBXGroup; - children = ( - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 002F39F909D0881F00EBEB88 /* SDL.framework */, - 002F3C6009D0951E00EBEB88 /* GLUT.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - 002F3C0009D093BD00EBEB88 /* OpenGL.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = "___PROJECTNAMEASXML___"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 002F3BF309D0937800EBEB88 /* atlantis */, - 32CA4F630368D1EE00C91783 /* ___PROJECTNAME____Prefix.pch */, - 002F3A3E09D088BA00EBEB88 /* main.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8D1107310486CEB800E47090 /* Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* 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 = ( - 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 = ""; - }; -/* 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_C_LANGUAGE_STANDARD = c99; - 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_C_LANGUAGE_STANDARD = c99; - 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/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.c b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.c deleted file mode 100644 index debed809d..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.c +++ /dev/null @@ -1,459 +0,0 @@ - -/* 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 -#include -#include -#include -#include -#include -#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/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.h b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.h deleted file mode 100644 index 6ccf2d5f0..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * (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/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/dolphin.c b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/dolphin.c deleted file mode 100644 index 9fba3ba98..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/dolphin.c +++ /dev/null @@ -1,1934 +0,0 @@ -/** - * (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 -#include -#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/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/shark.c b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/shark.c deleted file mode 100644 index 9c847dbaf..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/shark.c +++ /dev/null @@ -1,1308 +0,0 @@ -/** - * (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 -#include -#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/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/swim.c b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/swim.c deleted file mode 100644 index cac7b6095..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/swim.c +++ /dev/null @@ -1,188 +0,0 @@ -/** - * (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 -#include /* For rand(). */ -#include -#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/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/whale.c b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/whale.c deleted file mode 100644 index 828640ad0..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/whale.c +++ /dev/null @@ -1,1798 +0,0 @@ -/** - * (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 -#include -#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/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/main.c b/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/main.c deleted file mode 100644 index 3bc4d33b1..000000000 --- a/Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/main.c +++ /dev/null @@ -1,179 +0,0 @@ - -/* 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 -#include -#include -#include - -#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/Xcode/TemplatesForXcodeTiger/SDL Application/English.lproj/InfoPlist.strings b/Xcode/TemplatesForXcodeTiger/SDL Application/English.lproj/InfoPlist.strings deleted file mode 100755 index 38224b5a6dc9494230bdffbcad9c8bd915f478d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmb`E-AV#c6otR*o?`G)LhV|*FfmJVCK?IqE}PLJ9c8p2U&%-C-Kx(iie!R_7|yJ- zf6iHJuk-p+r%J#XGj6$I!aXZe5_3;t&ce)$Obo=4|5Kxp`x^72f5Fo1gWbq@^j+uAIK5Cz~RQ+;xpZ`LD%+7#V%} gRQpgJ5_6){QytDcm5PaLSomJX_5K27mA|Wa0|k;~!~g&Q diff --git a/Xcode/TemplatesForXcodeTiger/SDL Application/Info.plist b/Xcode/TemplatesForXcodeTiger/SDL Application/Info.plist deleted file mode 100644 index c678d1145..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Application/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.«PROJECTNAMEASXML» - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - SDLMain - NSPrincipalClass - NSApplication - - diff --git a/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/TemplateInfo.plist b/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/TemplateInfo.plist deleted file mode 100644 index d9ca45493..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/TemplateInfo.plist +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/project.pbxproj b/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/project.pbxproj deleted file mode 100644 index 2bb59b5de..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/project.pbxproj +++ /dev/null @@ -1,297 +0,0 @@ -// !$*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 */; }; - 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 = ""; }; - 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 = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "«PROJECTNAME»_Prefix.pch"; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 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 = ( - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 002F39F909D0881F00EBEB88 /* SDL.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* «PROJECTNAME».app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* «PROJECTNAMEASXML» */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = "«PROJECTNAMEASXML»"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */, - 002F3A3E09D088BA00EBEB88 /* main.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8D1107310486CEB800E47090 /* Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* 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 "SDLApp" */; - 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 = ( - 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 = ""; - }; -/* 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/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp_Prefix.pch b/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp_Prefix.pch deleted file mode 100644 index 00095074a..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp_Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project -// - -#include "SDL.h" - -#ifdef __OBJC__ - #import -#endif diff --git a/Xcode/TemplatesForXcodeTiger/SDL Application/main.c b/Xcode/TemplatesForXcodeTiger/SDL Application/main.c deleted file mode 100644 index 47af3765d..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Application/main.c +++ /dev/null @@ -1,65 +0,0 @@ - -/* 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 -#include -#include -#include - -#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/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/InfoPlist.strings b/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/InfoPlist.strings deleted file mode 100755 index 38224b5a6dc9494230bdffbcad9c8bd915f478d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmb`E-AV#c6otR*o?`G)LhV|*FfmJVCK?IqE}PLJ9c8p2U&%-C-Kx(iie!R_7|yJ- zf6iHJuk-p+r%J#XGj6$I!aXZe5_3;t&ce)$Obo=4|5Kxp`x^72f5Fo1gWbq@^j+uAIK5Cz~RQ+;xpZ`LD%+7#V%} gRQpgJ5_6){QytDcm5PaLSomJX_5K27mA|Wa0|k;~!~g&Q diff --git a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib b/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib deleted file mode 100644 index 799eaaddd..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib +++ /dev/null @@ -1,19 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib b/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib deleted file mode 100644 index 1d6fb7e01..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib +++ /dev/null @@ -1,21 +0,0 @@ - - - - - IBDocumentLocation - 62 117 356 240 0 0 1152 848 - IBEditorPositions - - 29 - 62 362 195 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBOpenObjects - - 29 - - IBSystem Version - 6L60 - - diff --git a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib b/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib deleted file mode 100644 index 637801528a03f85f28a290e5ffde3716217cd1e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2590 zcmai0Ur1Y57(ZvGHPvX{x^|3KmO)4920}Z=I$xHka}{RndLQ;UuF0w1Hn}&uxtZ%; z#*vfDo(2oaLDO`IbX#{sD5X9Glz^L1K@hFJ=jNYE(&QmG-}!#u z-{1MZ>+5vxCP^&i*hEjzw!at-F~+(h+Q`7z_-zt(hIB`#=vT)45zUjJOx9BwOs5jL1&h(w3_4P~J#JZ`0(V9n0#EOOEGR|f|NC<8`&BAS=lO_H+Gc9dMsap@O|lF%oJ z3(qo3h;?w1MDHYY`;O~o*bn?iI03Lc88yBjG0o8(0!L6W__`{bIhjKD4V&B|HZh|l z)z{bOKA1*5s2aidnV)KiLLC#hZp27q%y`mm29tR!N1X~Z=1dYh)!a)>-LFkrQ^9aN z{v6%u5JKod)2M6q0w1T1Lv_ZVHH%qRHSnp&4I(S(x^u1F6!}t-v-|g}oEX&&(`9o7 zpR8GF4t;ktKGvN|k0-!%I4Y^vui8>nZ2@)g?;AGa4eOsi=UL6Vgjr!Tb?2 z75q?7C}v=@S%!7MOJhl51~vV25>q%y0dSA4*3j1FsGC0}E!P7|wYDk~KV3rv!-|kH z8m$=)?rcNRPJUvTF>9)I*{VuVI4lF*@(MRrzqN_pgHh`@K9 z#FMT4dn#4$yPkJ>{}ohb`+igJkge=aCqy7A=DE-F$3Q-=<^tGJ+{?ImzFOwxmC6B3 zx?#(7Ms*XWh7DEA^Ti_HEb)ype+1}z*^Ea!#hs&Ut<&xgh`UWz?aw20I|`|djhb!) z6`rr`8;GY5(I00TW|8cAiSO?4`6A!m;!lcvp~#ENe7VHe%lv7X@9pxnGT$ljt<8FF zor>x=NtBpQ>lPi-taj=jm2t;loalB?RlZpovPI{hMV_l6E1HIz?o`QA<}0N_falrF zY(QS}OR3=4lnG7YOMvrTfsf1gf8!-k@YlM`3vk%5mR!CqiQr9mxu*cM0|*Sio5xP} z-~_pRS1Md}`7=-mNInFsgy35ss;oGmGh+d;T-lw(fn9bYqG|8|TXO_~!d#(CYMqT} z5o3H1EZJ5ZeoWZXmQB&7+S}fdCwno++CrhwyiB{-vSY*^wgCof$&BfCOl`p%x=G^w z@wlQv z2V?#iiIWMnCuIoR8Hn{vlGwK_J0Zt|?xby)5EXYz8Gv*+#7-C{U@Fp8X{g;KQ|cnA zRMwPj3+8NHwytC;7>;$>hLm+wW#N=ph&?IwP0F#NtS!j@r;@O=tAxrvE4&GBJVvQk zrJ}>quS{1KRJS5IjJRkxT&4_M_X2m0lz7;DJUlpqq_lsu~ z{U=UR^o@9h;*fZi;;>kwxKHff78?}5D;6kzLzF4LCSIrb1F=c*1@V;Px5YZe?}$B1 z^icG(ctTNLoS`@ - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.«PROJECTNAMEASXML» - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - SDLMain - NSPrincipalClass - NSApplication - - diff --git a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLApp_Prefix.pch b/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLApp_Prefix.pch deleted file mode 100644 index 00095074a..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLApp_Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project -// - -#include "SDL.h" - -#ifdef __OBJC__ - #import -#endif diff --git a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/TemplateInfo.plist b/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/TemplateInfo.plist deleted file mode 100644 index 1dcbea207..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/TemplateInfo.plist +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/project.pbxproj b/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/project.pbxproj deleted file mode 100644 index d4bc28197..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/project.pbxproj +++ /dev/null @@ -1,309 +0,0 @@ -// !$*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 */; }; - 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 = ""; }; - 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 = ""; }; - 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "«PROJECTNAME»_Prefix.pch"; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 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 = ( - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 002F39F909D0881F00EBEB88 /* SDL.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* «PROJECTNAME».app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* «PROJECTNAMEASXML» */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = "«PROJECTNAMEASXML»"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */, - 002F3A3E09D088BA00EBEB88 /* main.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8D1107310486CEB800E47090 /* Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* 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 "SDLCocoaApp" */; - 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 = ( - 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 = ""; - }; - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 089C165DFE840E0CC02AAC07 /* English */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* 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/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/main.c b/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/main.c deleted file mode 100644 index 47af3765d..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/main.c +++ /dev/null @@ -1,65 +0,0 @@ - -/* 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 -#include -#include -#include - -#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/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/English.lproj/InfoPlist.strings b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/English.lproj/InfoPlist.strings deleted file mode 100755 index 38224b5a6dc9494230bdffbcad9c8bd915f478d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmb`E-AV#c6otR*o?`G)LhV|*FfmJVCK?IqE}PLJ9c8p2U&%-C-Kx(iie!R_7|yJ- zf6iHJuk-p+r%J#XGj6$I!aXZe5_3;t&ce)$Obo=4|5Kxp`x^72f5Fo1gWbq@^j+uAIK5Cz~RQ+;xpZ`LD%+7#V%} gRQpgJ5_6){QytDcm5PaLSomJX_5K27mA|Wa0|k;~!~g&Q diff --git a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/Info.plist b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/Info.plist deleted file mode 100644 index c678d1145..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.«PROJECTNAMEASXML» - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - SDLMain - NSPrincipalClass - NSApplication - - diff --git a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLApp_Prefix.pch b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLApp_Prefix.pch deleted file mode 100644 index 00095074a..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLApp_Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'ÇPROJECTNAMEÈ' target in the 'ÇPROJECTNAMEÈ' project -// - -#include "SDL.h" - -#ifdef __OBJC__ - #import -#endif diff --git a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/TemplateInfo.plist b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/TemplateInfo.plist deleted file mode 100644 index ba87745fc..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/TemplateInfo.plist +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/project.pbxproj b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/project.pbxproj deleted file mode 100644 index 0c03c9a35..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/project.pbxproj +++ /dev/null @@ -1,335 +0,0 @@ -// !$*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 */; }; - 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 = ""; }; - 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 = ""; }; - 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 = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "«PROJECTNAME»_Prefix.pch"; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 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 = ""; - }; - 080E96DDFE201D6D7F000001 /* Classes */ = { - isa = PBXGroup; - children = ( - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 002F39F909D0881F00EBEB88 /* SDL.framework */, - 002F3C6009D0951E00EBEB88 /* GLUT.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - 002F3C0009D093BD00EBEB88 /* OpenGL.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* «PROJECTNAME».app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* «PROJECTNAMEASXML» */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = "«PROJECTNAMEASXML»"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 002F3BF309D0937800EBEB88 /* atlantis */, - 32CA4F630368D1EE00C91783 /* «PROJECTNAME»_Prefix.pch */, - 002F3A3E09D088BA00EBEB88 /* main.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8D1107310486CEB800E47090 /* Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* 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 "SDLOpenGLApp" */; - 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 = ( - 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 = ""; - }; -/* 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/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.c b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.c deleted file mode 100644 index debed809d..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.c +++ /dev/null @@ -1,459 +0,0 @@ - -/* 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 -#include -#include -#include -#include -#include -#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/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.h b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.h deleted file mode 100644 index 6ccf2d5f0..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * (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/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/dolphin.c b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/dolphin.c deleted file mode 100644 index 9fba3ba98..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/dolphin.c +++ /dev/null @@ -1,1934 +0,0 @@ -/** - * (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 -#include -#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/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/shark.c b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/shark.c deleted file mode 100644 index 9c847dbaf..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/shark.c +++ /dev/null @@ -1,1308 +0,0 @@ -/** - * (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 -#include -#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/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/swim.c b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/swim.c deleted file mode 100644 index cac7b6095..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/swim.c +++ /dev/null @@ -1,188 +0,0 @@ -/** - * (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 -#include /* For rand(). */ -#include -#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/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/whale.c b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/whale.c deleted file mode 100644 index 828640ad0..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/whale.c +++ /dev/null @@ -1,1798 +0,0 @@ -/** - * (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 -#include -#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/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/main.c b/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/main.c deleted file mode 100644 index 3bc4d33b1..000000000 --- a/Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/main.c +++ /dev/null @@ -1,179 +0,0 @@ - -/* 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 -#include -#include -#include - -#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/Xcode/package b/Xcode/package deleted file mode 100755 index 6e6b5707c..000000000 --- a/Xcode/package +++ /dev/null @@ -1,272 +0,0 @@ -#! /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/Xcode/stationary.csh b/Xcode/stationary.csh deleted file mode 100755 index ba5a38551..000000000 --- a/Xcode/stationary.csh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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/Xcode/uninstall.csh b/Xcode/uninstall.csh deleted file mode 100755 index aab8d790f..000000000 --- a/Xcode/uninstall.csh +++ /dev/null @@ -1,32 +0,0 @@ -#!/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 - - -