From a28770084787abd086c30b0ed4483fe22c19dca4 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Sun, 29 Mar 2015 22:33:39 +0100 Subject: working for parlour OSX --- images/Aerobics/RE01019A.WMF.svg | 1768 ++----- images/Aerobics/RE01020A.WMF.svg | 5398 ++++---------------- images/Aerobics/RE01022A.WMF.svg | 1775 ++----- images/Tennis.xml | 2 +- sf_live/MetaListener.pde | 17 - sf_live/MidiReceiver.pde | 26 - sf_live/data/Sailing Architraves Tim Live.mid | Bin 14219 -> 0 bytes sf_live/data/Sailing Architraves Tim Live.mp3 | Bin 10587659 -> 0 bytes sf_live/sf_live.pde | 115 - sunkenEngine/Project.xcconfig | 17 + sunkenEngine/addons.make | 7 + sunkenEngine/bin/.DS_Store | Bin 0 -> 6148 bytes sunkenEngine/bin/data/.DS_Store | Bin 0 -> 6148 bytes sunkenEngine/bin/data/.gitkeep | 0 sunkenEngine/bin/data/Aerobics.xml | 68 + .../bin/data/divers mac/._LBOAT022.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LF01606A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LF01631A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LF01730A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LF01745A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LF01776A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LF01811A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LF01812A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LF01814A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LH01152A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._LH01219A.WMF.svg | Bin 0 -> 4096 bytes .../bin/data/divers mac/._RD01449A.WMF.svg | Bin 0 -> 4096 bytes sunkenEngine/bin/data/divers mac/._rd01c70a.svg | Bin 0 -> 4096 bytes sunkenEngine/bin/data/divers mac/._rd01c71a.svg | Bin 0 -> 4096 bytes sunkenEngine/bin/data/divers mac/._rd01c72a.svg | Bin 0 -> 4096 bytes sunkenEngine/bin/data/divers mac/LBOAT022.WMF.svg | 372 ++ sunkenEngine/bin/data/divers mac/LF01606A.WMF.svg | 413 ++ sunkenEngine/bin/data/divers mac/LF01631A.WMF.svg | 710 +++ sunkenEngine/bin/data/divers mac/LF01730A.WMF.svg | 713 +++ sunkenEngine/bin/data/divers mac/LF01745A.WMF.svg | 1865 +++++++ sunkenEngine/bin/data/divers mac/LF01776A.WMF.svg | 669 +++ sunkenEngine/bin/data/divers mac/LF01811A.WMF.svg | 491 ++ sunkenEngine/bin/data/divers mac/LF01812A.WMF.svg | 532 ++ sunkenEngine/bin/data/divers mac/LF01814A.WMF.svg | 595 +++ sunkenEngine/bin/data/divers mac/LH01152A.WMF.svg | 875 ++++ sunkenEngine/bin/data/divers mac/LH01219A.WMF.svg | 790 +++ sunkenEngine/bin/data/divers mac/RD01449A.WMF.svg | 390 ++ sunkenEngine/bin/data/divers mac/rd01c70a.svg | 737 +++ sunkenEngine/bin/data/divers mac/rd01c71a.svg | 609 +++ sunkenEngine/bin/data/divers mac/rd01c72a.svg | 572 +++ sunkenEngine/bin/data/images | 1 + sunkenEngine/bin/data/settings.xml | 7 + sunkenEngine/bin/data/settings_parlour.xml | 7 + .../bin/data/settings_parlour_onscreen.xml | 7 + sunkenEngine/bin/data/settings_picos.xml | 5 + sunkenEngine/bin/data/settings_picos2.xml | 13 + sunkenEngine/bin/data/settings_picos_unmapped.xml | 7 + sunkenEngine/bin/data/settings_testing.xml | 9 + sunkenEngine/bin/data/settings_tv.xml | 5 + sunkenEngine/bin/libfmodex.dylib | Bin 0 -> 1956044 bytes sunkenEngine/bin/openFrameworks.a | Bin 0 -> 5644992 bytes sunkenEngine/bin/openFrameworksDebug.a | Bin 0 -> 40303344 bytes .../bin/sunkenEngine.app/Contents/Info.plist | 24 + .../Contents/MacOS/Frameworks/GLUT.framework/GLUT | Bin 0 -> 603504 bytes .../MacOS/Frameworks/GLUT.framework/Headers/copy.h | 18 + .../Frameworks/GLUT.framework/Headers/extrude.h | 96 + .../Frameworks/GLUT.framework/Headers/glsmap.h | 137 + .../Frameworks/GLUT.framework/Headers/glsmapint.h | 102 + .../MacOS/Frameworks/GLUT.framework/Headers/glut.h | 648 +++ .../Frameworks/GLUT.framework/Headers/glutbitmap.h | 30 + .../Frameworks/GLUT.framework/Headers/glutf90.h | 90 + .../Frameworks/GLUT.framework/Headers/glutstroke.h | 42 + .../Frameworks/GLUT.framework/Headers/gutil.h | 89 + .../Frameworks/GLUT.framework/Headers/intersect.h | 391 ++ .../MacOS/Frameworks/GLUT.framework/Headers/port.h | 298 ++ .../MacOS/Frameworks/GLUT.framework/Headers/rot.h | 98 + .../Frameworks/GLUT.framework/Headers/segment.h | 98 + .../MacOS/Frameworks/GLUT.framework/Headers/tube.h | 203 + .../Frameworks/GLUT.framework/Headers/tube_gc.h | 78 + .../Frameworks/GLUT.framework/Headers/vvector.h | 1339 +++++ .../GLUT.framework/Resources/Caution.tiff | Bin 0 -> 18804 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 + .../Resources/English.lproj/GLUT.nib/info.nib | 25 + .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 0 -> 3908 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 + .../English.lproj/GLUTClipboard.nib/info.nib | 12 + .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 0 -> 1652 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 + .../English.lproj/GLUTPreferences.nib/info.nib | 16 + .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 0 -> 17418 bytes .../Resources/English.lproj/GLUTUI.strings | Bin 0 -> 3594 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 0 -> 268 bytes .../Frameworks/GLUT.framework/Resources/Info.plist | 24 + .../GLUT.framework/Resources/blankCursor.tiff | Bin 0 -> 260 bytes .../GLUT.framework/Resources/bottomCursor.tiff | Bin 0 -> 374 bytes .../GLUT.framework/Resources/bottomleftCursor.tiff | Bin 0 -> 386 bytes .../Resources/bottomrightCursor.tiff | Bin 0 -> 386 bytes .../GLUT.framework/Resources/crossCursor.tiff | Bin 0 -> 380 bytes .../GLUT.framework/Resources/cycleCursor.tiff | Bin 0 -> 410 bytes .../GLUT.framework/Resources/destroyCursor.tiff | Bin 0 -> 414 bytes .../GLUT.framework/Resources/fingerCursor.tiff | Bin 0 -> 674 bytes .../GLUT.framework/Resources/helpCursor.tiff | Bin 0 -> 322 bytes .../GLUT.framework/Resources/leftCursor.tiff | Bin 0 -> 384 bytes .../GLUT.framework/Resources/leftRightCursor.tiff | Bin 0 -> 400 bytes .../GLUT.framework/Resources/rightArrowCursor.tiff | Bin 0 -> 344 bytes .../GLUT.framework/Resources/rightCursor.tiff | Bin 0 -> 384 bytes .../GLUT.framework/Resources/sprayCursor.tiff | Bin 0 -> 404 bytes .../GLUT.framework/Resources/topCursor.tiff | Bin 0 -> 374 bytes .../GLUT.framework/Resources/topleftCursor.tiff | Bin 0 -> 386 bytes .../GLUT.framework/Resources/toprightCursor.tiff | Bin 0 -> 392 bytes .../GLUT.framework/Resources/upDownCursor.tiff | Bin 0 -> 388 bytes .../GLUT.framework/Resources/waitCursor.tiff | Bin 0 -> 818 bytes .../Frameworks/GLUT.framework/Versions/A/GLUT | Bin 0 -> 603504 bytes .../GLUT.framework/Versions/A/Headers/copy.h | 18 + .../GLUT.framework/Versions/A/Headers/extrude.h | 96 + .../GLUT.framework/Versions/A/Headers/glsmap.h | 137 + .../GLUT.framework/Versions/A/Headers/glsmapint.h | 102 + .../GLUT.framework/Versions/A/Headers/glut.h | 648 +++ .../GLUT.framework/Versions/A/Headers/glutbitmap.h | 30 + .../GLUT.framework/Versions/A/Headers/glutf90.h | 90 + .../GLUT.framework/Versions/A/Headers/glutstroke.h | 42 + .../GLUT.framework/Versions/A/Headers/gutil.h | 89 + .../GLUT.framework/Versions/A/Headers/intersect.h | 391 ++ .../GLUT.framework/Versions/A/Headers/port.h | 298 ++ .../GLUT.framework/Versions/A/Headers/rot.h | 98 + .../GLUT.framework/Versions/A/Headers/segment.h | 98 + .../GLUT.framework/Versions/A/Headers/tube.h | 203 + .../GLUT.framework/Versions/A/Headers/tube_gc.h | 78 + .../GLUT.framework/Versions/A/Headers/vvector.h | 1339 +++++ .../Versions/A/Resources/Caution.tiff | Bin 0 -> 18804 bytes .../A/Resources/English.lproj/GLUT.nib/classes.nib | 55 + .../A/Resources/English.lproj/GLUT.nib/info.nib | 25 + .../A/Resources/English.lproj/GLUT.nib/objects.nib | Bin 0 -> 3908 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 + .../English.lproj/GLUTClipboard.nib/info.nib | 12 + .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 0 -> 1652 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 + .../English.lproj/GLUTPreferences.nib/info.nib | 16 + .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 0 -> 17418 bytes .../A/Resources/English.lproj/GLUTUI.strings | Bin 0 -> 3594 bytes .../A/Resources/English.lproj/InfoPlist.strings | Bin 0 -> 268 bytes .../GLUT.framework/Versions/A/Resources/Info.plist | 24 + .../Versions/A/Resources/blankCursor.tiff | Bin 0 -> 260 bytes .../Versions/A/Resources/bottomCursor.tiff | Bin 0 -> 374 bytes .../Versions/A/Resources/bottomleftCursor.tiff | Bin 0 -> 386 bytes .../Versions/A/Resources/bottomrightCursor.tiff | Bin 0 -> 386 bytes .../Versions/A/Resources/crossCursor.tiff | Bin 0 -> 380 bytes .../Versions/A/Resources/cycleCursor.tiff | Bin 0 -> 410 bytes .../Versions/A/Resources/destroyCursor.tiff | Bin 0 -> 414 bytes .../Versions/A/Resources/fingerCursor.tiff | Bin 0 -> 674 bytes .../Versions/A/Resources/helpCursor.tiff | Bin 0 -> 322 bytes .../Versions/A/Resources/leftCursor.tiff | Bin 0 -> 384 bytes .../Versions/A/Resources/leftRightCursor.tiff | Bin 0 -> 400 bytes .../Versions/A/Resources/rightArrowCursor.tiff | Bin 0 -> 344 bytes .../Versions/A/Resources/rightCursor.tiff | Bin 0 -> 384 bytes .../Versions/A/Resources/sprayCursor.tiff | Bin 0 -> 404 bytes .../Versions/A/Resources/topCursor.tiff | Bin 0 -> 374 bytes .../Versions/A/Resources/topleftCursor.tiff | Bin 0 -> 386 bytes .../Versions/A/Resources/toprightCursor.tiff | Bin 0 -> 392 bytes .../Versions/A/Resources/upDownCursor.tiff | Bin 0 -> 388 bytes .../Versions/A/Resources/waitCursor.tiff | Bin 0 -> 818 bytes .../GLUT.framework/Versions/Current/GLUT | Bin 0 -> 603504 bytes .../GLUT.framework/Versions/Current/Headers/copy.h | 18 + .../Versions/Current/Headers/extrude.h | 96 + .../Versions/Current/Headers/glsmap.h | 137 + .../Versions/Current/Headers/glsmapint.h | 102 + .../GLUT.framework/Versions/Current/Headers/glut.h | 648 +++ .../Versions/Current/Headers/glutbitmap.h | 30 + .../Versions/Current/Headers/glutf90.h | 90 + .../Versions/Current/Headers/glutstroke.h | 42 + .../Versions/Current/Headers/gutil.h | 89 + .../Versions/Current/Headers/intersect.h | 391 ++ .../GLUT.framework/Versions/Current/Headers/port.h | 298 ++ .../GLUT.framework/Versions/Current/Headers/rot.h | 98 + .../Versions/Current/Headers/segment.h | 98 + .../GLUT.framework/Versions/Current/Headers/tube.h | 203 + .../Versions/Current/Headers/tube_gc.h | 78 + .../Versions/Current/Headers/vvector.h | 1339 +++++ .../Versions/Current/Resources/Caution.tiff | Bin 0 -> 18804 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 + .../Resources/English.lproj/GLUT.nib/info.nib | 25 + .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 0 -> 3908 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 + .../English.lproj/GLUTClipboard.nib/info.nib | 12 + .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 0 -> 1652 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 + .../English.lproj/GLUTPreferences.nib/info.nib | 16 + .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 0 -> 17418 bytes .../Current/Resources/English.lproj/GLUTUI.strings | Bin 0 -> 3594 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 0 -> 268 bytes .../Versions/Current/Resources/Info.plist | 24 + .../Versions/Current/Resources/blankCursor.tiff | Bin 0 -> 260 bytes .../Versions/Current/Resources/bottomCursor.tiff | Bin 0 -> 374 bytes .../Current/Resources/bottomleftCursor.tiff | Bin 0 -> 386 bytes .../Current/Resources/bottomrightCursor.tiff | Bin 0 -> 386 bytes .../Versions/Current/Resources/crossCursor.tiff | Bin 0 -> 380 bytes .../Versions/Current/Resources/cycleCursor.tiff | Bin 0 -> 410 bytes .../Versions/Current/Resources/destroyCursor.tiff | Bin 0 -> 414 bytes .../Versions/Current/Resources/fingerCursor.tiff | Bin 0 -> 674 bytes .../Versions/Current/Resources/helpCursor.tiff | Bin 0 -> 322 bytes .../Versions/Current/Resources/leftCursor.tiff | Bin 0 -> 384 bytes .../Current/Resources/leftRightCursor.tiff | Bin 0 -> 400 bytes .../Current/Resources/rightArrowCursor.tiff | Bin 0 -> 344 bytes .../Versions/Current/Resources/rightCursor.tiff | Bin 0 -> 384 bytes .../Versions/Current/Resources/sprayCursor.tiff | Bin 0 -> 404 bytes .../Versions/Current/Resources/topCursor.tiff | Bin 0 -> 374 bytes .../Versions/Current/Resources/topleftCursor.tiff | Bin 0 -> 386 bytes .../Versions/Current/Resources/toprightCursor.tiff | Bin 0 -> 392 bytes .../Versions/Current/Resources/upDownCursor.tiff | Bin 0 -> 388 bytes .../Versions/Current/Resources/waitCursor.tiff | Bin 0 -> 818 bytes .../Contents/MacOS/libs/libfmodex.dylib | Bin 0 -> 1956044 bytes .../sunkenEngine.app/Contents/MacOS/sunkenEngine | Bin 0 -> 14157712 bytes .../Frameworks/CoreMIDI.framework/CoreMIDI | 1 + .../Frameworks/CoreMIDI.framework/MIDIServer | 1 + .../Frameworks/CoreMIDI.framework/Resources | 1 + .../CoreMIDI.framework/Versions/A/CoreMIDI | Bin 0 -> 760336 bytes .../CoreMIDI.framework/Versions/A/MIDIServer | Bin 0 -> 38672 bytes .../Resources/BridgeSupport/CoreMIDI.bridgesupport | 516 ++ .../Dutch.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../English.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../French.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../German.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../Versions/A/Resources/Info.plist | 40 + .../Italian.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../Japanese.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../Versions/A/Resources/PowerManagement.plist | 69 + .../Spanish.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../ar.lproj/MIDIServerLocalizable.strings | Bin 0 -> 64 bytes .../ca.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../cs.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../da.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../el.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../es_MX.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../fi.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../he.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../hr.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../hu.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../id.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../ko.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../ms.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../no.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../pl.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../pt.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../pt_PT.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../ro.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../ru.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../sk.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../sv.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../th.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../tr.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../uk.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../Versions/A/Resources/version.plist | 16 + .../vi.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../zh_CN.lproj/MIDIServerLocalizable.strings | Bin 0 -> 59 bytes .../zh_TW.lproj/MIDIServerLocalizable.strings | Bin 0 -> 60 bytes .../Versions/A/_CodeSignature/CodeResources | 247 + .../Frameworks/CoreMIDI.framework/Versions/Current | 1 + .../bin/sunkenEngineDebug.app/Contents/Info.plist | 38 + .../Contents/MacOS/sunkenEngineDebug | Bin 0 -> 11168996 bytes .../bin/sunkenEngineDebug.app/Contents/PkgInfo | 1 + .../Contents/Resources/icon-debug.icns | Bin 0 -> 762563 bytes .../bin/sunkenEngine_debug.app/Contents/Info.plist | 24 + .../Contents/MacOS/Frameworks/GLUT.framework/GLUT | Bin 0 -> 603504 bytes .../MacOS/Frameworks/GLUT.framework/Headers/copy.h | 18 + .../Frameworks/GLUT.framework/Headers/extrude.h | 96 + .../Frameworks/GLUT.framework/Headers/glsmap.h | 137 + .../Frameworks/GLUT.framework/Headers/glsmapint.h | 102 + .../MacOS/Frameworks/GLUT.framework/Headers/glut.h | 648 +++ .../Frameworks/GLUT.framework/Headers/glutbitmap.h | 30 + .../Frameworks/GLUT.framework/Headers/glutf90.h | 90 + .../Frameworks/GLUT.framework/Headers/glutstroke.h | 42 + .../Frameworks/GLUT.framework/Headers/gutil.h | 89 + .../Frameworks/GLUT.framework/Headers/intersect.h | 391 ++ .../MacOS/Frameworks/GLUT.framework/Headers/port.h | 298 ++ .../MacOS/Frameworks/GLUT.framework/Headers/rot.h | 98 + .../Frameworks/GLUT.framework/Headers/segment.h | 98 + .../MacOS/Frameworks/GLUT.framework/Headers/tube.h | 203 + .../Frameworks/GLUT.framework/Headers/tube_gc.h | 78 + .../Frameworks/GLUT.framework/Headers/vvector.h | 1339 +++++ .../GLUT.framework/Resources/Caution.tiff | Bin 0 -> 18804 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 + .../Resources/English.lproj/GLUT.nib/info.nib | 25 + .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 0 -> 3908 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 + .../English.lproj/GLUTClipboard.nib/info.nib | 12 + .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 0 -> 1652 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 + .../English.lproj/GLUTPreferences.nib/info.nib | 16 + .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 0 -> 17418 bytes .../Resources/English.lproj/GLUTUI.strings | Bin 0 -> 3594 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 0 -> 268 bytes .../Frameworks/GLUT.framework/Resources/Info.plist | 24 + .../GLUT.framework/Resources/blankCursor.tiff | Bin 0 -> 260 bytes .../GLUT.framework/Resources/bottomCursor.tiff | Bin 0 -> 374 bytes .../GLUT.framework/Resources/bottomleftCursor.tiff | Bin 0 -> 386 bytes .../Resources/bottomrightCursor.tiff | Bin 0 -> 386 bytes .../GLUT.framework/Resources/crossCursor.tiff | Bin 0 -> 380 bytes .../GLUT.framework/Resources/cycleCursor.tiff | Bin 0 -> 410 bytes .../GLUT.framework/Resources/destroyCursor.tiff | Bin 0 -> 414 bytes .../GLUT.framework/Resources/fingerCursor.tiff | Bin 0 -> 674 bytes .../GLUT.framework/Resources/helpCursor.tiff | Bin 0 -> 322 bytes .../GLUT.framework/Resources/leftCursor.tiff | Bin 0 -> 384 bytes .../GLUT.framework/Resources/leftRightCursor.tiff | Bin 0 -> 400 bytes .../GLUT.framework/Resources/rightArrowCursor.tiff | Bin 0 -> 344 bytes .../GLUT.framework/Resources/rightCursor.tiff | Bin 0 -> 384 bytes .../GLUT.framework/Resources/sprayCursor.tiff | Bin 0 -> 404 bytes .../GLUT.framework/Resources/topCursor.tiff | Bin 0 -> 374 bytes .../GLUT.framework/Resources/topleftCursor.tiff | Bin 0 -> 386 bytes .../GLUT.framework/Resources/toprightCursor.tiff | Bin 0 -> 392 bytes .../GLUT.framework/Resources/upDownCursor.tiff | Bin 0 -> 388 bytes .../GLUT.framework/Resources/waitCursor.tiff | Bin 0 -> 818 bytes .../Frameworks/GLUT.framework/Versions/A/GLUT | Bin 0 -> 603504 bytes .../GLUT.framework/Versions/A/Headers/copy.h | 18 + .../GLUT.framework/Versions/A/Headers/extrude.h | 96 + .../GLUT.framework/Versions/A/Headers/glsmap.h | 137 + .../GLUT.framework/Versions/A/Headers/glsmapint.h | 102 + .../GLUT.framework/Versions/A/Headers/glut.h | 648 +++ .../GLUT.framework/Versions/A/Headers/glutbitmap.h | 30 + .../GLUT.framework/Versions/A/Headers/glutf90.h | 90 + .../GLUT.framework/Versions/A/Headers/glutstroke.h | 42 + .../GLUT.framework/Versions/A/Headers/gutil.h | 89 + .../GLUT.framework/Versions/A/Headers/intersect.h | 391 ++ .../GLUT.framework/Versions/A/Headers/port.h | 298 ++ .../GLUT.framework/Versions/A/Headers/rot.h | 98 + .../GLUT.framework/Versions/A/Headers/segment.h | 98 + .../GLUT.framework/Versions/A/Headers/tube.h | 203 + .../GLUT.framework/Versions/A/Headers/tube_gc.h | 78 + .../GLUT.framework/Versions/A/Headers/vvector.h | 1339 +++++ .../Versions/A/Resources/Caution.tiff | Bin 0 -> 18804 bytes .../A/Resources/English.lproj/GLUT.nib/classes.nib | 55 + .../A/Resources/English.lproj/GLUT.nib/info.nib | 25 + .../A/Resources/English.lproj/GLUT.nib/objects.nib | Bin 0 -> 3908 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 + .../English.lproj/GLUTClipboard.nib/info.nib | 12 + .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 0 -> 1652 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 + .../English.lproj/GLUTPreferences.nib/info.nib | 16 + .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 0 -> 17418 bytes .../A/Resources/English.lproj/GLUTUI.strings | Bin 0 -> 3594 bytes .../A/Resources/English.lproj/InfoPlist.strings | Bin 0 -> 268 bytes .../GLUT.framework/Versions/A/Resources/Info.plist | 24 + .../Versions/A/Resources/blankCursor.tiff | Bin 0 -> 260 bytes .../Versions/A/Resources/bottomCursor.tiff | Bin 0 -> 374 bytes .../Versions/A/Resources/bottomleftCursor.tiff | Bin 0 -> 386 bytes .../Versions/A/Resources/bottomrightCursor.tiff | Bin 0 -> 386 bytes .../Versions/A/Resources/crossCursor.tiff | Bin 0 -> 380 bytes .../Versions/A/Resources/cycleCursor.tiff | Bin 0 -> 410 bytes .../Versions/A/Resources/destroyCursor.tiff | Bin 0 -> 414 bytes .../Versions/A/Resources/fingerCursor.tiff | Bin 0 -> 674 bytes .../Versions/A/Resources/helpCursor.tiff | Bin 0 -> 322 bytes .../Versions/A/Resources/leftCursor.tiff | Bin 0 -> 384 bytes .../Versions/A/Resources/leftRightCursor.tiff | Bin 0 -> 400 bytes .../Versions/A/Resources/rightArrowCursor.tiff | Bin 0 -> 344 bytes .../Versions/A/Resources/rightCursor.tiff | Bin 0 -> 384 bytes .../Versions/A/Resources/sprayCursor.tiff | Bin 0 -> 404 bytes .../Versions/A/Resources/topCursor.tiff | Bin 0 -> 374 bytes .../Versions/A/Resources/topleftCursor.tiff | Bin 0 -> 386 bytes .../Versions/A/Resources/toprightCursor.tiff | Bin 0 -> 392 bytes .../Versions/A/Resources/upDownCursor.tiff | Bin 0 -> 388 bytes .../Versions/A/Resources/waitCursor.tiff | Bin 0 -> 818 bytes .../GLUT.framework/Versions/Current/GLUT | Bin 0 -> 603504 bytes .../GLUT.framework/Versions/Current/Headers/copy.h | 18 + .../Versions/Current/Headers/extrude.h | 96 + .../Versions/Current/Headers/glsmap.h | 137 + .../Versions/Current/Headers/glsmapint.h | 102 + .../GLUT.framework/Versions/Current/Headers/glut.h | 648 +++ .../Versions/Current/Headers/glutbitmap.h | 30 + .../Versions/Current/Headers/glutf90.h | 90 + .../Versions/Current/Headers/glutstroke.h | 42 + .../Versions/Current/Headers/gutil.h | 89 + .../Versions/Current/Headers/intersect.h | 391 ++ .../GLUT.framework/Versions/Current/Headers/port.h | 298 ++ .../GLUT.framework/Versions/Current/Headers/rot.h | 98 + .../Versions/Current/Headers/segment.h | 98 + .../GLUT.framework/Versions/Current/Headers/tube.h | 203 + .../Versions/Current/Headers/tube_gc.h | 78 + .../Versions/Current/Headers/vvector.h | 1339 +++++ .../Versions/Current/Resources/Caution.tiff | Bin 0 -> 18804 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 + .../Resources/English.lproj/GLUT.nib/info.nib | 25 + .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 0 -> 3908 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 + .../English.lproj/GLUTClipboard.nib/info.nib | 12 + .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 0 -> 1652 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 + .../English.lproj/GLUTPreferences.nib/info.nib | 16 + .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 0 -> 17418 bytes .../Current/Resources/English.lproj/GLUTUI.strings | Bin 0 -> 3594 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 0 -> 268 bytes .../Versions/Current/Resources/Info.plist | 24 + .../Versions/Current/Resources/blankCursor.tiff | Bin 0 -> 260 bytes .../Versions/Current/Resources/bottomCursor.tiff | Bin 0 -> 374 bytes .../Current/Resources/bottomleftCursor.tiff | Bin 0 -> 386 bytes .../Current/Resources/bottomrightCursor.tiff | Bin 0 -> 386 bytes .../Versions/Current/Resources/crossCursor.tiff | Bin 0 -> 380 bytes .../Versions/Current/Resources/cycleCursor.tiff | Bin 0 -> 410 bytes .../Versions/Current/Resources/destroyCursor.tiff | Bin 0 -> 414 bytes .../Versions/Current/Resources/fingerCursor.tiff | Bin 0 -> 674 bytes .../Versions/Current/Resources/helpCursor.tiff | Bin 0 -> 322 bytes .../Versions/Current/Resources/leftCursor.tiff | Bin 0 -> 384 bytes .../Current/Resources/leftRightCursor.tiff | Bin 0 -> 400 bytes .../Current/Resources/rightArrowCursor.tiff | Bin 0 -> 344 bytes .../Versions/Current/Resources/rightCursor.tiff | Bin 0 -> 384 bytes .../Versions/Current/Resources/sprayCursor.tiff | Bin 0 -> 404 bytes .../Versions/Current/Resources/topCursor.tiff | Bin 0 -> 374 bytes .../Versions/Current/Resources/topleftCursor.tiff | Bin 0 -> 386 bytes .../Versions/Current/Resources/toprightCursor.tiff | Bin 0 -> 392 bytes .../Versions/Current/Resources/upDownCursor.tiff | Bin 0 -> 388 bytes .../Versions/Current/Resources/waitCursor.tiff | Bin 0 -> 818 bytes .../Contents/MacOS/libs/libfmodex.dylib | Bin 0 -> 1956044 bytes .../Contents/MacOS/sunkenEngine_debug | Bin 0 -> 20681848 bytes sunkenEngine/config.make | 142 + sunkenEngine/openFrameworks-Info.plist | 22 + sunkenEngine/src/layers.cpp | 229 + sunkenEngine/src/layers.h | 134 + sunkenEngine/src/main.cpp | 62 + sunkenEngine/src/ofApp.cpp | 375 ++ sunkenEngine/src/ofApp.h | 119 + sunkenEngine/src/playlist.cpp | 127 + sunkenEngine/src/playlist.h | 30 + sunkenEngine/src/viewport.cpp | 136 + sunkenEngine/src/viewport.h | 34 + sunkenEngine/sunkenEngine.cbp | 52 + sunkenEngine/sunkenEngine.layout | 4 + .../sunkenEngine.xcodeproj/project.pbxproj | 723 +++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../tim.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 26585 bytes .../tim.xcuserdatad/WorkspaceSettings.xcsettings | 22 + .../xcschemes/emptyExample Debug.xcscheme | 88 + .../xcschemes/emptyExample Release.xcscheme | 88 + .../xcdebugger/Breakpoints_v2.xcbkptlist | 23 + .../xcschemes/xcschememanagement.plist | 14 + 427 files changed, 39483 insertions(+), 7364 deletions(-) delete mode 100644 sf_live/MetaListener.pde delete mode 100644 sf_live/MidiReceiver.pde delete mode 100644 sf_live/data/Sailing Architraves Tim Live.mid delete mode 100644 sf_live/data/Sailing Architraves Tim Live.mp3 delete mode 100644 sf_live/sf_live.pde create mode 100644 sunkenEngine/Project.xcconfig create mode 100644 sunkenEngine/addons.make create mode 100644 sunkenEngine/bin/.DS_Store create mode 100644 sunkenEngine/bin/data/.DS_Store create mode 100644 sunkenEngine/bin/data/.gitkeep create mode 100644 sunkenEngine/bin/data/Aerobics.xml create mode 100644 sunkenEngine/bin/data/divers mac/._LBOAT022.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LF01606A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LF01631A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LF01730A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LF01745A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LF01776A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LF01811A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LF01812A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LF01814A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LH01152A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._LH01219A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._RD01449A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/._rd01c70a.svg create mode 100644 sunkenEngine/bin/data/divers mac/._rd01c71a.svg create mode 100644 sunkenEngine/bin/data/divers mac/._rd01c72a.svg create mode 100644 sunkenEngine/bin/data/divers mac/LBOAT022.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LF01606A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LF01631A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LF01730A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LF01745A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LF01776A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LF01811A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LF01812A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LF01814A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LH01152A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/LH01219A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/RD01449A.WMF.svg create mode 100644 sunkenEngine/bin/data/divers mac/rd01c70a.svg create mode 100644 sunkenEngine/bin/data/divers mac/rd01c71a.svg create mode 100644 sunkenEngine/bin/data/divers mac/rd01c72a.svg create mode 120000 sunkenEngine/bin/data/images create mode 100644 sunkenEngine/bin/data/settings.xml create mode 100644 sunkenEngine/bin/data/settings_parlour.xml create mode 100644 sunkenEngine/bin/data/settings_parlour_onscreen.xml create mode 100755 sunkenEngine/bin/data/settings_picos.xml create mode 100755 sunkenEngine/bin/data/settings_picos2.xml create mode 100644 sunkenEngine/bin/data/settings_picos_unmapped.xml create mode 100644 sunkenEngine/bin/data/settings_testing.xml create mode 100755 sunkenEngine/bin/data/settings_tv.xml create mode 100644 sunkenEngine/bin/libfmodex.dylib create mode 100644 sunkenEngine/bin/openFrameworks.a create mode 100644 sunkenEngine/bin/openFrameworksDebug.a create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/Info.plist create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/GLUT create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/copy.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/extrude.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmap.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmapint.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glut.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutbitmap.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutf90.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutstroke.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/gutil.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/intersect.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/port.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/rot.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/segment.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube_gc.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/vvector.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Caution.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Info.plist create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/blankCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/crossCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/cycleCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/destroyCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/fingerCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/helpCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/sprayCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/toprightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/upDownCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/waitCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/GLUT create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/copy.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glut.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/port.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/rot.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/segment.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Caution.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/GLUT create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/port.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Caution.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/libs/libfmodex.dylib create mode 100755 sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/sunkenEngine create mode 120000 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/CoreMIDI create mode 120000 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/MIDIServer create mode 120000 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Resources create mode 100755 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI create mode 100755 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/MIDIServer create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/BridgeSupport/CoreMIDI.bridgesupport create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Dutch.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/English.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/French.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/German.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Info.plist create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Italian.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Japanese.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/PowerManagement.plist create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Spanish.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ar.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ca.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/cs.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/da.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/el.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/es_MX.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/fi.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/he.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/hr.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/hu.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/id.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ko.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ms.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/no.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pl.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pt.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pt_PT.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ro.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ru.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/sk.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/sv.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/th.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/tr.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/uk.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/version.plist create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/vi.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/zh_CN.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/zh_TW.lproj/MIDIServerLocalizable.strings create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/_CodeSignature/CodeResources create mode 120000 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/Current create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Info.plist create mode 100755 sunkenEngine/bin/sunkenEngineDebug.app/Contents/MacOS/sunkenEngineDebug create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/PkgInfo create mode 100644 sunkenEngine/bin/sunkenEngineDebug.app/Contents/Resources/icon-debug.icns create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/Info.plist create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/GLUT create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/copy.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/extrude.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmap.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmapint.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glut.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutbitmap.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutf90.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutstroke.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/gutil.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/intersect.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/port.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/rot.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/segment.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube_gc.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/vvector.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Caution.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Info.plist create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/blankCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/crossCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/cycleCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/destroyCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/fingerCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/helpCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/sprayCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/toprightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/upDownCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/waitCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/GLUT create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/copy.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glut.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/port.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/rot.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/segment.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Caution.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/GLUT create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/port.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Caution.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff create mode 100644 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/libs/libfmodex.dylib create mode 100755 sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/sunkenEngine_debug create mode 100644 sunkenEngine/config.make create mode 100644 sunkenEngine/openFrameworks-Info.plist create mode 100755 sunkenEngine/src/layers.cpp create mode 100755 sunkenEngine/src/layers.h create mode 100644 sunkenEngine/src/main.cpp create mode 100644 sunkenEngine/src/ofApp.cpp create mode 100644 sunkenEngine/src/ofApp.h create mode 100755 sunkenEngine/src/playlist.cpp create mode 100755 sunkenEngine/src/playlist.h create mode 100755 sunkenEngine/src/viewport.cpp create mode 100755 sunkenEngine/src/viewport.h create mode 100644 sunkenEngine/sunkenEngine.cbp create mode 100644 sunkenEngine/sunkenEngine.layout create mode 100644 sunkenEngine/sunkenEngine.xcodeproj/project.pbxproj create mode 100644 sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 sunkenEngine/sunkenEngine.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme create mode 100644 sunkenEngine/sunkenEngine.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme create mode 100644 sunkenEngine/sunkenEngine.xcodeproj/xcuserdata/tim.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 sunkenEngine/sunkenEngine.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/images/Aerobics/RE01019A.WMF.svg b/images/Aerobics/RE01019A.WMF.svg index 2cee6d2..b3b57bb 100644 --- a/images/Aerobics/RE01019A.WMF.svg +++ b/images/Aerobics/RE01019A.WMF.svg @@ -1,1385 +1,383 @@ - - - -wmf2svg - - - - - - - - - - - - - - - - - - - - - - - + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/Aerobics/RE01020A.WMF.svg b/images/Aerobics/RE01020A.WMF.svg index d2da277..5f448d3 100644 --- a/images/Aerobics/RE01020A.WMF.svg +++ b/images/Aerobics/RE01020A.WMF.svg @@ -1,4375 +1,1023 @@ - - - -wmf2svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/Aerobics/RE01022A.WMF.svg b/images/Aerobics/RE01022A.WMF.svg index c78446b..9931cb0 100644 --- a/images/Aerobics/RE01022A.WMF.svg +++ b/images/Aerobics/RE01022A.WMF.svg @@ -1,1445 +1,330 @@ - - - -wmf2svg - - - - - - - - - + + + +wmf2svg + + + + + + + + diff --git a/images/Tennis.xml b/images/Tennis.xml index 34a46bc..112272a 100644 --- a/images/Tennis.xml +++ b/images/Tennis.xml @@ -27,7 +27,7 @@ - + diff --git a/sf_live/MetaListener.pde b/sf_live/MetaListener.pde deleted file mode 100644 index bf0f177..0000000 --- a/sf_live/MetaListener.pde +++ /dev/null @@ -1,17 +0,0 @@ -class MetaListener implements MetaEventListener{ - - void MetaListner(){ - } - - void meta(MetaMessage message){ - switch(message.getType()){ - case 47: //end of track - s.setMicrosecondPosition(0); - s.start(); - break; - default: - break; - } - } -} - diff --git a/sf_live/MidiReceiver.pde b/sf_live/MidiReceiver.pde deleted file mode 100644 index 25d3e1c..0000000 --- a/sf_live/MidiReceiver.pde +++ /dev/null @@ -1,26 +0,0 @@ -class MidiReceiver implements Receiver{ - - void MidiReceiver(){ - } - - void close(){ - } - - void send(MidiMessage message, long lTimeStamp){ - switch(message.getStatus()){ - case 144: //note on chan 1 - midiOut.sendNoteOn(0, message.getMessage()[1], message.getMessage()[2]); - //println(message.getStatus()+" "+message.getMessage()[1]+" "+message.getMessage()[2]); - break; - case 128: //note off chan 1 - midiOut.sendNoteOff(0, message.getMessage()[1], message.getMessage()[2]); - break; - case 176: //control change chan 1 - midiOut.sendController(0, message.getMessage()[1], message.getMessage()[2]); - default: - break; - } - //nb can be if >127<144 note off (status-127) - } -} - diff --git a/sf_live/data/Sailing Architraves Tim Live.mid b/sf_live/data/Sailing Architraves Tim Live.mid deleted file mode 100644 index c6bc735..0000000 Binary files a/sf_live/data/Sailing Architraves Tim Live.mid and /dev/null differ diff --git a/sf_live/data/Sailing Architraves Tim Live.mp3 b/sf_live/data/Sailing Architraves Tim Live.mp3 deleted file mode 100644 index a28589f..0000000 Binary files a/sf_live/data/Sailing Architraves Tim Live.mp3 and /dev/null differ diff --git a/sf_live/sf_live.pde b/sf_live/sf_live.pde deleted file mode 100644 index aa8406f..0000000 --- a/sf_live/sf_live.pde +++ /dev/null @@ -1,115 +0,0 @@ -//modprobe snd-virmidi -//creates virtual midi interface - -import javax.sound.midi.*; -import java.io.File; -import ddf.minim.*; - -String midiFileName = "Sailing Architraves Tim Live.mid"; -String audioFileName = "Sailing Architraves Tim Live.mp3"; -Sequencer s; -MetaListener metaListener; - -Minim minim; -AudioPlayer audioPlayer; - -int pw,ph; - -import rwmidi.*; -MidiOutput midiOut; - -void setup(){ - - - rwmidi.MidiDevice[] devs=RWMidi.getOutputDevices(); - /* - if (devs.length>0) { - println("MIDI devices:"); - for (int i=0;i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/._LBOAT022.WMF.svg b/sunkenEngine/bin/data/divers mac/._LBOAT022.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LBOAT022.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LF01606A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LF01606A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LF01606A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LF01631A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LF01631A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LF01631A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LF01730A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LF01730A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LF01730A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LF01745A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LF01745A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LF01745A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LF01776A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LF01776A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LF01776A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LF01811A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LF01811A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LF01811A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LF01812A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LF01812A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LF01812A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LF01814A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LF01814A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LF01814A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LH01152A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LH01152A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LH01152A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._LH01219A.WMF.svg b/sunkenEngine/bin/data/divers mac/._LH01219A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._LH01219A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._RD01449A.WMF.svg b/sunkenEngine/bin/data/divers mac/._RD01449A.WMF.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._RD01449A.WMF.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._rd01c70a.svg b/sunkenEngine/bin/data/divers mac/._rd01c70a.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._rd01c70a.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._rd01c71a.svg b/sunkenEngine/bin/data/divers mac/._rd01c71a.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._rd01c71a.svg differ diff --git a/sunkenEngine/bin/data/divers mac/._rd01c72a.svg b/sunkenEngine/bin/data/divers mac/._rd01c72a.svg new file mode 100644 index 0000000..57b4f31 Binary files /dev/null and b/sunkenEngine/bin/data/divers mac/._rd01c72a.svg differ diff --git a/sunkenEngine/bin/data/divers mac/LBOAT022.WMF.svg b/sunkenEngine/bin/data/divers mac/LBOAT022.WMF.svg new file mode 100644 index 0000000..390283e --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LBOAT022.WMF.svg @@ -0,0 +1,372 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LF01606A.WMF.svg b/sunkenEngine/bin/data/divers mac/LF01606A.WMF.svg new file mode 100644 index 0000000..ea19525 --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LF01606A.WMF.svg @@ -0,0 +1,413 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LF01631A.WMF.svg b/sunkenEngine/bin/data/divers mac/LF01631A.WMF.svg new file mode 100644 index 0000000..c651930 --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LF01631A.WMF.svg @@ -0,0 +1,710 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LF01730A.WMF.svg b/sunkenEngine/bin/data/divers mac/LF01730A.WMF.svg new file mode 100644 index 0000000..14fcc7a --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LF01730A.WMF.svg @@ -0,0 +1,713 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LF01745A.WMF.svg b/sunkenEngine/bin/data/divers mac/LF01745A.WMF.svg new file mode 100644 index 0000000..55ecb6d --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LF01745A.WMF.svg @@ -0,0 +1,1865 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LF01776A.WMF.svg b/sunkenEngine/bin/data/divers mac/LF01776A.WMF.svg new file mode 100644 index 0000000..98d6279 --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LF01776A.WMF.svg @@ -0,0 +1,669 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LF01811A.WMF.svg b/sunkenEngine/bin/data/divers mac/LF01811A.WMF.svg new file mode 100644 index 0000000..e2d10c4 --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LF01811A.WMF.svg @@ -0,0 +1,491 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LF01812A.WMF.svg b/sunkenEngine/bin/data/divers mac/LF01812A.WMF.svg new file mode 100644 index 0000000..4f3c66c --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LF01812A.WMF.svg @@ -0,0 +1,532 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LF01814A.WMF.svg b/sunkenEngine/bin/data/divers mac/LF01814A.WMF.svg new file mode 100644 index 0000000..90d5083 --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LF01814A.WMF.svg @@ -0,0 +1,595 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LH01152A.WMF.svg b/sunkenEngine/bin/data/divers mac/LH01152A.WMF.svg new file mode 100644 index 0000000..4b372ce --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LH01152A.WMF.svg @@ -0,0 +1,875 @@ + + + + +wmf2svg + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/LH01219A.WMF.svg b/sunkenEngine/bin/data/divers mac/LH01219A.WMF.svg new file mode 100644 index 0000000..18c235c --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/LH01219A.WMF.svg @@ -0,0 +1,790 @@ + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/RD01449A.WMF.svg b/sunkenEngine/bin/data/divers mac/RD01449A.WMF.svg new file mode 100644 index 0000000..648042c --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/RD01449A.WMF.svg @@ -0,0 +1,390 @@ + + + + +wmf2svg + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/rd01c70a.svg b/sunkenEngine/bin/data/divers mac/rd01c70a.svg new file mode 100644 index 0000000..7cca60d --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/rd01c70a.svg @@ -0,0 +1,737 @@ + + + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/rd01c71a.svg b/sunkenEngine/bin/data/divers mac/rd01c71a.svg new file mode 100644 index 0000000..42e2c9e --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/rd01c71a.svg @@ -0,0 +1,609 @@ + + + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/divers mac/rd01c72a.svg b/sunkenEngine/bin/data/divers mac/rd01c72a.svg new file mode 100644 index 0000000..d4a4e60 --- /dev/null +++ b/sunkenEngine/bin/data/divers mac/rd01c72a.svg @@ -0,0 +1,572 @@ + + + + + + +wmf2svg + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/images b/sunkenEngine/bin/data/images new file mode 120000 index 0000000..4dd3347 --- /dev/null +++ b/sunkenEngine/bin/data/images @@ -0,0 +1 @@ +../../../images \ No newline at end of file diff --git a/sunkenEngine/bin/data/settings.xml b/sunkenEngine/bin/data/settings.xml new file mode 100644 index 0000000..92be4ba --- /dev/null +++ b/sunkenEngine/bin/data/settings.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/sunkenEngine/bin/data/settings_parlour.xml b/sunkenEngine/bin/data/settings_parlour.xml new file mode 100644 index 0000000..fc0fe8f --- /dev/null +++ b/sunkenEngine/bin/data/settings_parlour.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/sunkenEngine/bin/data/settings_parlour_onscreen.xml b/sunkenEngine/bin/data/settings_parlour_onscreen.xml new file mode 100644 index 0000000..90240c1 --- /dev/null +++ b/sunkenEngine/bin/data/settings_parlour_onscreen.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/sunkenEngine/bin/data/settings_picos.xml b/sunkenEngine/bin/data/settings_picos.xml new file mode 100755 index 0000000..03fb2d2 --- /dev/null +++ b/sunkenEngine/bin/data/settings_picos.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/sunkenEngine/bin/data/settings_picos2.xml b/sunkenEngine/bin/data/settings_picos2.xml new file mode 100755 index 0000000..9693bcd --- /dev/null +++ b/sunkenEngine/bin/data/settings_picos2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/data/settings_picos_unmapped.xml b/sunkenEngine/bin/data/settings_picos_unmapped.xml new file mode 100644 index 0000000..92be4ba --- /dev/null +++ b/sunkenEngine/bin/data/settings_picos_unmapped.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/sunkenEngine/bin/data/settings_testing.xml b/sunkenEngine/bin/data/settings_testing.xml new file mode 100644 index 0000000..a693cca --- /dev/null +++ b/sunkenEngine/bin/data/settings_testing.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/sunkenEngine/bin/data/settings_tv.xml b/sunkenEngine/bin/data/settings_tv.xml new file mode 100755 index 0000000..9c9f9b6 --- /dev/null +++ b/sunkenEngine/bin/data/settings_tv.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/sunkenEngine/bin/libfmodex.dylib b/sunkenEngine/bin/libfmodex.dylib new file mode 100644 index 0000000..bea90a1 Binary files /dev/null and b/sunkenEngine/bin/libfmodex.dylib differ diff --git a/sunkenEngine/bin/openFrameworks.a b/sunkenEngine/bin/openFrameworks.a new file mode 100644 index 0000000..789929f Binary files /dev/null and b/sunkenEngine/bin/openFrameworks.a differ diff --git a/sunkenEngine/bin/openFrameworksDebug.a b/sunkenEngine/bin/openFrameworksDebug.a new file mode 100644 index 0000000..720cb90 Binary files /dev/null and b/sunkenEngine/bin/openFrameworksDebug.a differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/Info.plist b/sunkenEngine/bin/sunkenEngine.app/Contents/Info.plist new file mode 100644 index 0000000..f640cb4 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleGetInfoString + sunkenEngine.app + CFBundleExecutable + sunkenEngine + CFBundleIdentifier + com.your-company-name.www + CFBundleName + sunkenEngine + CFBundleShortVersionString + 0.01 + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + IFMajorVersion + 0 + IFMinorVersion + 1 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/GLUT b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/GLUT new file mode 100644 index 0000000..babc6b1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/GLUT differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/copy.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/copy.h new file mode 100644 index 0000000..a5116e2 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/copy.h @@ -0,0 +1,18 @@ + +/* + * + * Written By Linas Vepstas November 1991 + */ + + +#define COPY_THREE_WORDS(A,B) { \ + struct three_words { int a, b, c, }; \ + *(struct three_words *) (A) = *(struct three_words *) (B); \ +} + +#define COPY_FOUR_WORDS(A,B) { \ + struct four_words { int a, b, c, d, }; \ + *(struct four_words *) (A) = *(struct four_words *) (B); \ +} + +/* ============================================================= */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/extrude.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/extrude.h new file mode 100644 index 0000000..658699e --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/extrude.h @@ -0,0 +1,96 @@ + +/* + * extrude.h + * + * FUNCTION: + * prototypes for privately used subroutines for the tubing library + * + * HISTORY: + * Linas Vepstas 1991 + */ + +#include "port.h" /* for gleDouble */ + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ============================================================ */ +/* + * Provides choice of calling subroutine, vs. invoking macro. + * Basically, inlines the source, or not. + * Trades performance for executable size. + */ + +#define INLINE_INTERSECT +#ifdef INLINE_INTERSECT +#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } +#else +#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) +#endif /* INLINE_INTERSECT */ + +/* ============================================================ */ +/* The folowing defines give a kludgy way of accessing the qmesh primitive */ + +/* +#define bgntmesh _emu_qmesh_bgnqmesh +#define endtmesh _emu_qmesh_endqmesh +#define c3f _emu_qmesh_c3f +#define n3f _emu_qmesh_n3f +#define v3f _emu_qmesh_v3f +*/ + +/* ============================================================ */ + +extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3]); /* polyline */ + + +extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble zval, /* where to draw cap */ + int frontwards); /* front or back cap */ + +extern void draw_round_style_cap_callback (int iloop, + double cap[][3], + float face_color[3], + gleDouble cut_vector[3], + gleDouble bisect_vector[3], + double norms[][3], + int frontwards); + +extern void draw_angle_style_front_cap (int ncp, + gleDouble bi[3], + gleDouble point_array[][3]); + +extern void extrusion_raw_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_angle_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* -------------------------- end of file -------------------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmap.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmap.h new file mode 100644 index 0000000..baf54a7 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmap.h @@ -0,0 +1,137 @@ +#ifndef __glsmap_h__ +#define __glsmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* Try hard to avoid including to avoid name space pollution, + but Win32's needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef CALLBACK + /* XXX This is from Win32's */ +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif /* _WIN32 */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + SMAP_CLEAR_SMAP_TEXTURE = 0x1, + SMAP_GENERATE_VIEW_MIPMAPS = 0x2, + SMAP_GENERATE_SMAP_MIPMAPS = 0x4, + SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ +} SphereMapFlags; + +/* Cube view enumerants. */ +enum { + SMAP_FRONT = 0, + SMAP_TOP = 1, + SMAP_BOTTOM = 2, + SMAP_LEFT = 3, + SMAP_RIGHT = 4, + SMAP_BACK = 5 +}; + +typedef struct _SphereMap SphereMap; + +extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); +extern void smapDestroySphereMap(SphereMap *smap); + +extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); + +extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); +extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); + +extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); +extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); + +extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); +extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); + +extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); +extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); +extern void smapSetUpVector(SphereMap *smap, GLfloat *up); +extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); +extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); +extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); +extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); +extern void smapGetUpVector(SphereMap *smap, GLfloat *up); +extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); +extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); + +extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); +extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); + +extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); +extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); +extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); +extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); + +extern void smapSetContextData(SphereMap *smap, void *context); +extern void smapGetContextData(SphereMap *smap, void **context); + +extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); +extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); +extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); +extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); + +extern void smapGenViewTex(SphereMap *smap, int view); +extern void smapGenViewTexs(SphereMap *smap); +extern void smapGenSphereMapFromViewTexs(SphereMap *smap); +extern void smapGenSphereMap(SphereMap *smap); +extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); + +extern int smapRvecToSt(float rvec[3], float st[2]); +extern void smapStToRvec(float *st, float *rvec); + +#ifdef __cplusplus +} + +#endif +#endif /* __glsmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmapint.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmapint.h new file mode 100644 index 0000000..3620e7d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmapint.h @@ -0,0 +1,102 @@ +#ifndef __glsmapint_h__ +#define __glsmapint_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glsmap.h" + +enum { X = 0, Y = 1, Z = 2 }; + +#define INITFACE(mesh) \ + int steps = mesh->steps; \ + int sqsteps = mesh->steps * mesh->steps + +#define FACE(side,y,x) \ + mesh->face[(side)*sqsteps + (y)*steps + (x)] + +#define FACExy(side,i,j) \ + (&FACE(side,i,j).x) + +#define FACEst(side,i,j) \ + (&FACE(side,i,j).s) + +#define INITBACK(mesh) \ + int allrings = mesh->rings + mesh->edgeExtend; \ + int ringedspokes = allrings * mesh->steps + +#define BACK(edge,ring,spoke) \ + mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] + +#define BACKxy(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).x) + +#define BACKst(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).s) + +typedef struct _STXY { + GLfloat s, t; + GLfloat x, y; +} STXY; + +typedef struct _SphereMapMesh { + + int refcnt; + + int steps; + int rings; + int edgeExtend; + + STXY *face; + STXY *back; + +} SphereMapMesh; + +struct _SphereMap { + + /* Shared sphere map mesh vertex data. */ + SphereMapMesh *mesh; + + /* Texture object ids. */ + GLuint smapTexObj; + GLuint viewTexObjs[6]; + GLuint viewTexObj; + + /* Flags */ + SphereMapFlags flags; + + /* Texture dimensions must be a power of two. */ + int viewTexDim; /* view texture dimension */ + int smapTexDim; /* sphere map texture dimension */ + + /* Viewport origins for view and sphere map rendering. */ + int viewOrigin[2]; + int smapOrigin[2]; + + /* Viewing vectors. */ + GLfloat eye[3]; + GLfloat up[3]; + GLfloat obj[3]; + + /* Projection parameters. */ + GLfloat viewNear; + GLfloat viewFar; + + /* Rendering callbacks. */ + void (*positionLights)(int view, void *context); + void (*drawView)(int view, void *context); + + /* Application specified callback data. */ + void *context; + +}; + +/* Library internal routines. */ +extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); +extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); +extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); + +#endif /* __glsmapint_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glut.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glut.h new file mode 100644 index 0000000..cbc6ebe --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glut.h @@ -0,0 +1,648 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ +//#define GLUT_OF_007_HACK + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including + to avoid name space pollution, but Win32's + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ +#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif + +#if defined(__APPLE__) || defined(MACOSX) +#include +#include +#include +#else +#include +#include +#endif + +/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ +#if !defined(_WIN32) +#define APIENTRY +#define GLUT_APIENTRY_DEFINED +#define CALLBACK +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). + + GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 5 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/** + MacOS X GLUT implementation revision history: + + GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X + specific GLUT API revisions and implementation revisions + (ie, bug fixes). + + GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. + + GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. + +**/ +#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_MACOSX_IMPLEMENTATION 2 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif +#define GLUT_NO_RECOVERY 1024 + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +/* Layers for use. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +extern void *glutStrokeRoman; +extern void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +extern void *glutBitmap9By15; +extern void *glutBitmap8By13; +extern void *glutBitmapTimesRoman10; +extern void *glutBitmapTimesRoman24; +extern void *glutBitmapHelvetica10; +extern void *glutBitmapHelvetica12; +extern void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X 100 +#define GLUT_WINDOW_Y 101 +#define GLUT_WINDOW_WIDTH 102 +#define GLUT_WINDOW_HEIGHT 103 +#define GLUT_WINDOW_BUFFER_SIZE 104 +#define GLUT_WINDOW_STENCIL_SIZE 105 +#define GLUT_WINDOW_DEPTH_SIZE 106 +#define GLUT_WINDOW_RED_SIZE 107 +#define GLUT_WINDOW_GREEN_SIZE 108 +#define GLUT_WINDOW_BLUE_SIZE 109 +#define GLUT_WINDOW_ALPHA_SIZE 110 +#define GLUT_WINDOW_ACCUM_RED_SIZE 111 +#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 +#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 +#define GLUT_WINDOW_DOUBLEBUFFER 115 +#define GLUT_WINDOW_RGBA 116 +#define GLUT_WINDOW_PARENT 117 +#define GLUT_WINDOW_NUM_CHILDREN 118 +#define GLUT_WINDOW_COLORMAP_SIZE 119 +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES 120 +#define GLUT_WINDOW_STEREO 121 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR 122 +#endif +#define GLUT_SCREEN_WIDTH 200 +#define GLUT_SCREEN_HEIGHT 201 +#define GLUT_SCREEN_WIDTH_MM 202 +#define GLUT_SCREEN_HEIGHT_MM 203 +#define GLUT_MENU_NUM_ITEMS 300 +#define GLUT_DISPLAY_MODE_POSSIBLE 400 +#define GLUT_INIT_WINDOW_X 500 +#define GLUT_INIT_WINDOW_Y 501 +#define GLUT_INIT_WINDOW_WIDTH 502 +#define GLUT_INIT_WINDOW_HEIGHT 503 +#define GLUT_INIT_DISPLAY_MODE 504 +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME 700 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID 123 +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD 600 +#define GLUT_HAS_MOUSE 601 +#define GLUT_HAS_SPACEBALL 602 +#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 +#define GLUT_HAS_TABLET 604 +#define GLUT_NUM_MOUSE_BUTTONS 605 +#define GLUT_NUM_SPACEBALL_BUTTONS 606 +#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 +#define GLUT_NUM_DIALS 608 +#define GLUT_NUM_TABLET_BUTTONS 609 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 +#define GLUT_DEVICE_KEY_REPEAT 611 +#define GLUT_HAS_JOYSTICK 612 +#define GLUT_OWNS_JOYSTICK 613 +#define GLUT_JOYSTICK_BUTTONS 614 +#define GLUT_JOYSTICK_AXES 615 +#define GLUT_JOYSTICK_POLL_RATE 616 +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE 800 +#define GLUT_LAYER_IN_USE 801 +#define GLUT_HAS_OVERLAY 802 +#define GLUT_TRANSPARENT_INDEX 803 +#define GLUT_NORMAL_DAMAGED 804 +#define GLUT_OVERLAY_DAMAGED 805 + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE 900 +#define GLUT_VIDEO_RESIZE_IN_USE 901 +#define GLUT_VIDEO_RESIZE_X_DELTA 902 +#define GLUT_VIDEO_RESIZE_Y_DELTA 903 +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 +#define GLUT_VIDEO_RESIZE_X 906 +#define GLUT_VIDEO_RESIZE_Y 907 +#define GLUT_VIDEO_RESIZE_WIDTH 908 +#define GLUT_VIDEO_RESIZE_HEIGHT 909 +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +extern void APIENTRY glutInit(int *argcp, char **argv); +extern void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutInitDisplayString(const char *string); +#endif +extern void APIENTRY glutInitWindowPosition(int x, int y); +extern void APIENTRY glutInitWindowSize(int width, int height); +extern void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +extern int APIENTRY glutCreateWindow(const char *title); +extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +extern void APIENTRY glutDestroyWindow(int win); +extern void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowRedisplay(int win); +#endif +extern void APIENTRY glutSwapBuffers(void); +extern int APIENTRY glutGetWindow(void); +extern void APIENTRY glutSetWindow(int win); +extern void APIENTRY glutSetWindowTitle(const char *title); +extern void APIENTRY glutSetIconTitle(const char *title); +extern void APIENTRY glutPositionWindow(int x, int y); +extern void APIENTRY glutReshapeWindow(int width, int height); +extern void APIENTRY glutPopWindow(void); +extern void APIENTRY glutPushWindow(void); +extern void APIENTRY glutIconifyWindow(void); +extern void APIENTRY glutShowWindow(void); +extern void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutFullScreen(void); +extern void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWarpPointer(int x, int y); +#if (GLUT_MACOSX_IMPLEMENTATION >= 1) +/* surface texturing API Mac OS X specific +* Note: +* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object +*/ +#ifdef MAC_OS_X_VERSION_10_5 +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 +#else +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); +#endif +#endif +#if (GLUT_MACOSX_IMPLEMENTATION >= 2) +/* Mac OS X specific API */ +extern void APIENTRY glutWMCloseFunc(void (*func)(void)); +extern void APIENTRY glutCheckLoop(void); +#endif +#endif + +/* GLUT overlay sub-API. */ +extern void APIENTRY glutEstablishOverlay(void); +extern void APIENTRY glutRemoveOverlay(void); +extern void APIENTRY glutUseLayer(GLenum layer); +extern void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +extern void APIENTRY glutShowOverlay(void); +extern void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +extern int APIENTRY glutCreateMenu(void (*)(int)); +extern void APIENTRY glutDestroyMenu(int menu); +extern int APIENTRY glutGetMenu(void); +extern void APIENTRY glutSetMenu(int menu); +extern void APIENTRY glutAddMenuEntry(const char *label, int value); +extern void APIENTRY glutAddSubMenu(const char *label, int submenu); +extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +extern void APIENTRY glutRemoveMenuItem(int item); +extern void APIENTRY glutAttachMenu(int button); +extern void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +extern void APIENTRY glutDisplayFunc(void (*func)(void)); +extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); +extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); +extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutEntryFunc(void (*func)(int state)); +extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); +extern void APIENTRY glutIdleFunc(void (*func)(void)); +extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); +extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); +#if (GLUT_API_VERSION >= 2) +extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); +extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); +extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); +extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); +extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +//#ifdef GLUT_OF_007_HACK +extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); +//#endif +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +extern GLfloat APIENTRY glutGetColor(int ndx, int component); +extern void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +extern int APIENTRY glutGet(GLenum type); +extern int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +extern int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +extern int APIENTRY glutGetModifiers(void); +extern int APIENTRY glutLayerGet(GLenum type); +#endif +#if (GLUT_API_VERSION >= 5) +extern void * APIENTRY glutGetProcAddress(const char *procName); +#endif + +/* GLUT font sub-API */ +extern void APIENTRY glutBitmapCharacter(void *font, int character); +extern int APIENTRY glutBitmapWidth(void *font, int character); +extern void APIENTRY glutStrokeCharacter(void *font, int character); +extern int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutWireCube(GLdouble size); +extern void APIENTRY glutSolidCube(GLdouble size); +extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutWireDodecahedron(void); +extern void APIENTRY glutSolidDodecahedron(void); +extern void APIENTRY glutWireTeapot(GLdouble size); +extern void APIENTRY glutSolidTeapot(GLdouble size); +extern void APIENTRY glutWireOctahedron(void); +extern void APIENTRY glutSolidOctahedron(void); +extern void APIENTRY glutWireTetrahedron(void); +extern void APIENTRY glutSolidTetrahedron(void); +extern void APIENTRY glutWireIcosahedron(void); +extern void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +extern int APIENTRY glutVideoResizeGet(GLenum param); +extern void APIENTRY glutSetupVideoResizing(void); +extern void APIENTRY glutStopVideoResizing(void); +extern void APIENTRY glutVideoResize(int x, int y, int width, int height); +extern void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +extern void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +extern void APIENTRY glutIgnoreKeyRepeat(int ignore); +extern void APIENTRY glutSetKeyRepeat(int repeatMode); +extern void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE 0 +#define GLUT_GAME_MODE_POSSIBLE 1 +#define GLUT_GAME_MODE_WIDTH 2 +#define GLUT_GAME_MODE_HEIGHT 3 +#define GLUT_GAME_MODE_PIXEL_DEPTH 4 +#define GLUT_GAME_MODE_REFRESH_RATE 5 +#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 + +extern void APIENTRY glutGameModeString(const char *string); +extern int APIENTRY glutEnterGameMode(void); +extern void APIENTRY glutLeaveGameMode(void); +extern int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif /* __glut_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutbitmap.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutbitmap.h new file mode 100644 index 0000000..e29a016 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutbitmap.h @@ -0,0 +1,30 @@ +#ifndef __glutbitmap_h__ +#define __glutbitmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glut.h" + +typedef struct { + const GLsizei width; + const GLsizei height; + const GLfloat xorig; + const GLfloat yorig; + const GLfloat advance; + const GLubyte *bitmap; +} BitmapCharRec, *BitmapCharPtr; + +typedef struct { + const char *name; + const int num_chars; + const int first; + const BitmapCharRec * const *ch; +} BitmapFontRec, *BitmapFontPtr; + +typedef void *GLUTbitmapFont; + +#endif /* __glutbitmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutf90.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutf90.h new file mode 100644 index 0000000..f8a170b --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutf90.h @@ -0,0 +1,90 @@ +#ifndef __glutf90_h__ +#define __glutf90_h__ + +/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +/* This header provides the binding interface for William Mitchell's + f90gl Fortran 90 GLUT binding. Other GLUT language bindings + can and should use this interace. */ + +/* I appreciate the guidance from William Mitchell + (mitchell@cam.nist.gov) in developing this friend interface + for use by the f90gl package. See ../../README.fortran */ + +#include + +#ifndef GLUTCALLBACK + #define GLUTCALLBACK +#endif +#ifndef APIENTRY + #define APIENTRY +#endif + +/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ +/* NOTE These values are part of a binary interface for the f90gl Fortran + 90 binding and so must NOT changes (additions are allowed). */ + +/* GLUTwindow callbacks. */ +#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ +#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ +#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ +#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ +#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ +#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ +#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ +#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ +#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ +#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ +#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ +#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ +#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ +#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ +#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ +#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ +#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ +#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ +#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ +#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ +#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ +/* Non-GLUTwindow callbacks. */ +#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ +#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ +#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ + +/* GLUT Fortran callback function types. */ +typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); +typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); +typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); +/* NOTE the pressed key is int, not unsigned char for Fortran! */ +typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); +typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); +typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); +typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); + +typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); +typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); +typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ +typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTidleFCB) (void); + +/* Functions that set and return Fortran callback functions. */ +extern void* APIENTRY __glutGetFCB(int which); +extern void APIENTRY __glutSetFCB(int which, void *func); + +#endif /* __glutf90_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutstroke.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutstroke.h new file mode 100644 index 0000000..cbc9e15 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutstroke.h @@ -0,0 +1,42 @@ +#ifndef __glutstroke_h__ +#define __glutstroke_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +#endif + +typedef struct { + float x; + float y; +} CoordRec, *CoordPtr; + +typedef struct { + int num_coords; + const CoordRec *coord; +} StrokeRec, *StrokePtr; + +typedef struct { + int num_strokes; + const StrokeRec *stroke; + float center; + float right; +} StrokeCharRec, *StrokeCharPtr; + +typedef struct { + const char *name; + int num_chars; + const StrokeCharRec *ch; + float top; + float bottom; +} StrokeFontRec, *StrokeFontPtr; + +typedef void *GLUTstrokeFont; + +#endif /* __glutstroke_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/gutil.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/gutil.h new file mode 100644 index 0000000..f7ffcf3 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/gutil.h @@ -0,0 +1,89 @@ + +/* + * gutil.h + * + * FUNCTION: + * Provide utilities that allow rotation to occur + * around any axis. + * + * HISTORY: + * created by Linas Vepstas 1990 + * added single & double precision, June 1991, Linas Vepstas + */ + +#ifndef __GUTIL_H__ +#define __GUTIL_H__ + +#ifdef __GUTIL_DOUBLE +#define gutDouble double +#else +#define gutDouble float +#endif + + +#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (); +extern void rot_about_axis_f (); +extern void rot_omega_f (); +extern void urot_axis_f (); +extern void urot_about_axis_f (); +extern void urot_omega_f (); + +/* double-precision versions */ +extern void rot_axis_d (); +extern void rot_about_axis_d (); +extern void rot_omega_d (); +extern void urot_axis_d (); +extern void urot_about_axis_d (); +extern void urot_omega_d (); + +/* viewpoint functions */ +extern void uview_direction_d (); +extern void uview_direction_f (); +extern void uviewpoint_d (); +extern void uviewpoint_f (); + +#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (float omega, float axis[3]); +extern void rot_about_axis_f (float angle, float axis[3]); +extern void rot_omega_f (float axis[3]); +extern void urot_axis_f (float m[4][4], float omega, float axis[3]); +extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); +extern void urot_omega_f (float m[4][4], float axis[3]); + +/* double-precision versions */ +extern void rot_axis_d (double omega, double axis[3]); +extern void rot_about_axis_d (double angle, double axis[3]); +extern void rot_omega_d (double axis[3]); +extern void urot_axis_d (double m[4][4], double omega, double axis[3]); +extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); +extern void urot_omega_d (double m[4][4], double axis[3]); + +/* viewpoint functions */ +extern void uview_direction_d (double m[4][4], /* returned */ + double v21[3], /* input */ + double up[3]); /* input */ + +extern void uview_direction_f (float m[4][4], /* returned */ + float v21[3], /* input */ + float up[3]); /* input */ + +extern void uviewpoint_d (double m[4][4], /* returned */ + double v1[3], /* input */ + double v2[3], /* input */ + double up[3]); /* input */ + +extern void uviewpoint_f (float m[4][4], /* returned */ + float v1[3], /* input */ + float v2[3], /* input */ + float up[3]); /* input */ + +#endif /* _NO_PROTO */ + +#endif /* _GUTIL_H__ */ + +/* ------------------- end of file ---------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/intersect.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/intersect.h new file mode 100644 index 0000000..f5ff7a5 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/intersect.h @@ -0,0 +1,391 @@ +/* + * FUNCTION: + * This file contains a number of utilities useful to 3D graphics in + * general, and to the generation of tubing and extrusions in particular + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Updated to correctly handle degenerate cases, Linas, February 1993 + */ + +#include +#include "port.h" +#include "vvector.h" + +#define BACKWARDS_INTERSECT (2) + +/* ========================================================== */ +/* + * the Degenerate_Tolerance token represents the greatest amount by + * which different scales in a graphics environment can differ before + * they should be considered "degenerate". That is, when one vector is + * a million times longer than another, changces are that the second will + * be less than a pixel int, and therefore was probably meant to be + * degenerate (by the CAD package, etc.) But what should this tolerance + * be? At least 1 in onethousand (since screen sizes are 1K pixels), but + * les than 1 in 4 million (since this is the limit of single-precision + * floating point accuracy). Of course, if double precision were used, + * then the tolerance could be increased. + * + * Potentially, this naive assumption could cause problems if the CAD + * package attempts to zoom in on small details, and turns out, certain + * points should not hvae been degenerate. The problem presented here + * is that the tolerance could run out before single-precision ran + * out, and so the CAD packages would perceive this as a "bug". + * One alternative is to fiddle around & try to tighten the tolerance. + * However, the right alternative is to code the graphics pipeline in + * double-precision (and tighten the tolerance). + * + * By the way, note that Degernate Tolerance is a "dimensionless" + * quantitiy -- it has no units -- it does not measure feet, inches, + * millimeters or pixels. It is used only in the computations of ratios + * and relative lengths. + */ + +/* + * Right now, the tolerance is set to 2 parts in a million, which + * corresponds to a 19-bit distinction of mantissas. Note that + * single-precsion numbers have 24 bit mantissas. + */ + +#define DEGENERATE_TOLERANCE (0.000002) + +/* ========================================================== */ +/* + * The macro and subroutine INTERSECT are designed to compute the + * intersection of a line (defined by the points v1 and v2) and a plane + * (defined as plane which is normal to the vector n, and contains the + * point p). Both return the point sect, which is the point of + * interesection. + * + * This MACRO attemps to be fairly robust by checking for a divide by + * zero. + */ + +/* ========================================================== */ +/* + * HACK ALERT + * The intersection parameter t has the nice property that if t>1, + * then the intersection is "in front of" p1, and if t<0, then the + * intersection is "behind" p2. Unfortunately, as the intersecting plane + * and the line become parallel, t wraps through infinity -- i.e. t can + * become so large that t becomes "greater than infinity" and comes back + * as a negative number (i.e. winding number hopped by one unit). We + * have no way of detecting this situation without adding gazzillions + * of lines of code of topological algebra to detect the winding number; + * and this would be incredibly difficult, and ruin performance. + * + * Thus, we've installed a cheap hack for use by the "cut style" drawing + * routines. If t proves to be a large negative number (more negative + * than -5), then we assume that t was positive and wound through + * infinity. This makes most cuts look good, without introducing bogus + * cuts at infinity. + */ +/* ========================================================== */ + +#define INTERSECT(sect,p,n,v1,v2) \ +{ \ + gleDouble deno, numer, t, omt; \ + \ + deno = (v1[0] - v2[0]) * n[0]; \ + deno += (v1[1] - v2[1]) * n[1]; \ + deno += (v1[2] - v2[2]) * n[2]; \ + \ + if (deno == 0.0) { \ + VEC_COPY (n, v1); \ + /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ + } else { \ + \ + numer = (p[0] - v2[0]) * n[0]; \ + numer += (p[1] - v2[1]) * n[1]; \ + numer += (p[2] - v2[2]) * n[2]; \ + \ + t = numer / deno; \ + omt = 1.0 - t; \ + \ + sect[0] = t * v1[0] + omt * v2[0]; \ + sect[1] = t * v1[1] + omt * v2[1]; \ + sect[2] = t * v1[2] + omt * v2[2]; \ + } \ +} + +/* ========================================================== */ +/* + * The macro and subroutine BISECTING_PLANE compute a normal vector that + * describes the bisecting plane between three points (v1, v2 and v3). + * This bisecting plane has the following properties: + * 1) it contains the point v2 + * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it + * makes with v32 == v3 - v2 + * 3) it is perpendicular to the plane defined by v1, v2, v3. + * + * Having input v1, v2, and v3, it returns a unit vector n. + * + * In some cases, the user may specify degenerate points, and still + * expect "reasonable" or "obvious" behaviour. The "expected" + * behaviour for these degenerate cases is: + * + * 1) if v1 == v2 == v3, then return n=0 + * 2) if v1 == v2, then return v32 (normalized). + * 3) if v2 == v3, then return v21 (normalized). + * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). + * + * Mathematically, these special cases "make sense" -- we just have to + * code around potential divide-by-zero's in the code below. + */ + +/* ========================================================== */ + +#define BISECTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as bisector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ + (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ +/* + * The block of code below is ifdef'd out, and is here for reference + * purposes only. It performs the "mathematically right thing" for + * computing a bisecting plane, but is, unfortunately, subject ot noise + * in the presence of near degenerate points. Since computer graphics, + * due to sloppy coding, laziness, or correctness, is filled with + * degenerate points, we can't really use this version. The code above + * is far more appropriate for graphics. + */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define BISECTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 == 0.0) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + } \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + if (len32 == 0.0) { \ + /* return a normalized copy of v21 as bisector */ \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot == 1.0) || (vdot == -1.0)) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} +#endif + +/* ========================================================== */ +/* + * This macro computes the plane perpendicular to the the plane + * defined by three points, and whose normal vector is givven as the + * difference between the two vectors ... + * + * (See way below for the "math" model if you want to understand this. + * The comments about relative errors above apply here.) + */ + +#define CUTTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double lendiff; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as cut-vector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as cut vector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_LENGTH (lendiff, n); \ + \ + /* if the perp vector is very small, then the two \ + * vectors are darn near collinear, and the cut \ + * vector is probably poorly defined. */ \ + if (lendiff < DEGENERATE_TOLERANCE) { \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + lendiff = 1.0 / lendiff; \ + VEC_SCALE (n, lendiff, n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define CUTTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_NORMALIZE (v21); \ + VEC_NORMALIZE (v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_NORMALIZE (n); \ +} +#endif + + +/* ============================================================ */ +/* This macro is used in several places to cycle through a series of + * points to find the next non-degenerate point in a series */ + +#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ +{ \ + gleDouble slen; \ + gleDouble summa[3]; \ + \ + do { \ + /* get distance to next point */ \ + VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (len, diff); \ + VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (slen, summa); \ + slen *= DEGENERATE_TOLERANCE; \ + inext ++; \ + } while ((len <= slen) && (inext < npoints-1)); \ +} + +/* ========================================================== */ + +extern int bisecting_plane (gleDouble n[3], /* returned */ + gleDouble v1[3], /* input */ + gleDouble v2[3], /* input */ + gleDouble v3[3]); /* input */ + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/port.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/port.h new file mode 100644 index 0000000..2827bbf --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/port.h @@ -0,0 +1,298 @@ + +/* + * port.h + * + * FUNCTION: + * This file contains defines for porting the tubing toolkit from GL to + * OpenGL to some callback scheme. + * + * HISTORY: + * Created by Linas Vepstas -- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + */ + +#ifndef __GLE_PORT_H__ +#define __GLE_PORT_H__ + + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ====================================================== */ +/* Some compilers can't handle multiply-subscripted array's */ + +#ifdef FUNKY_C +typedef gleDouble gleVector; +#define AVAL(arr,n,i,j) arr(6*n+3*i+j) +#define VVAL(arr,n,i) arr(3*n+i) + +#else /* FUNKY_C */ +typedef double gleVector[3]; +typedef double glePoint[2]; +#define AVAL(arr,n,i,j) arr[n][i][j] +#define VVAL(arr,n,i) arr[n][i]; + +#endif /* FUNKY_C */ + +/* ====================================================== */ +/* These are used to convey info about topography to the + * texture mapping routines */ + +#define FRONT 1 +#define BACK 2 +#define FRONT_CAP 3 +#define BACK_CAP 4 +#define FILLET 5 + +/* ====================================================== */ + +#define __GLE_DOUBLE + +/* ====================================================== */ + +#ifdef __GLE_DOUBLE +#ifndef gleDouble + #define gleDouble double +#endif +#define urot_axis(a,b,c) urot_axis_d(a,b,c) +#define uview_direction(a,b,c) uview_direction_d(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_D(m) +#define LOADMATRIX(m) LOADMATRIX_D(m) +#define V3F(x,j,id) V3F_D(x,j,id) +#define N3F(x) N3F_D(x) +#define T2F(x,y) T2F_D(x,y) +#else +#define gleDouble float +#define urot_axis(a,b,c) urot_axis_f(a,b,c) +#define uview_direction(a,b,c) uview_direction_f(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_F(m) +#define LOADMATRIX(m) LOADMATRIX_F(m) +#define V3F(x,j,id) V3F_F(x,j,id) +#define N3F(x) N3F_F(x) +#define T2F(x,y) T2F_F(x,y) +#endif + +/* ====================================================== */ + +#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) +#undef GL_32 +#undef OPENGL_10 + +#define BGNTMESH(i,len) printf ("bgntmesh() \n"); +#define ENDTMESH() printf ("endtmesh() \n"); +#define BGNPOLYGON() printf ("bgnpolygon() \n"); +#define ENDPOLYGON() printf ("endpolygon() \n"); +#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); + +#define POPMATRIX() printf ("popmatrix () \n"); +#define PUSHMATRIX() printf ("pushmatrix() \n"); +#define MULTMATRIX_F(x) MULTMATRIX_D(x) +#define LOADMATRIX_F(x) LOADMATRIX_D(x) + + +#define LOADMATRIX_D(x) { \ + int i, j; \ + printf ("loadmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + printf ("multmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define __IS_LIGHTING_ON (1) + +#endif + +/* ====================================================== */ + +#ifdef GL_32 + +#include + +#define BGNTMESH(i,len) bgntmesh() +#define ENDTMESH() endtmesh() +#define BGNPOLYGON() bgnpolygon() +#define ENDPOLYGON() endpolygon() +#define V3F_F(x,j,id) v3f(x) +#define V3F_D(x,j,id) v3d(x) +#define N3F_F(x) n3f(x) +#define T2F_F(x,y) +#define T2F_D(x,y) +#define C3F(x) c3f(x) + +#define POPMATRIX() popmatrix () +#define PUSHMATRIX() pushmatrix() +#define MULTMATRIX_F(x) multmatrix (x) +#define LOADMATRIX_F(x) loadmatrix (x) + +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = (float) x[0]; \ + nnn[1] = (float) x[1]; \ + nnn[2] = (float) x[2]; \ + n3f (nnn); \ +} + +#define LOADMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + loadmatrix(mmm); \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + multmatrix(mmm); \ +} + +/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ +#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) + +#endif /* GL_32 */ + +/* ====================================================== */ +#ifdef OPENGL_10 + +#if defined(_WIN32) +#include +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#endif +#include +#include + +/* +#define N3F_F(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +*/ + +#define C3F(x) glColor3fv(x) +#define T2F_F(x,y) glTexCoord2f(x,y) +#define T2F_D(x,y) glTexCoord2d(x,y) + +#define POPMATRIX() glPopMatrix() +#define PUSHMATRIX() glPushMatrix() + +#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) +#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) + +#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) +#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) + +#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) + +/* ====================================================== */ +#ifdef AUTO_TEXTURE + +#define BGNTMESH(i,len) { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ + glBegin (GL_TRIANGLE_STRIP); \ +} + +#define BGNPOLYGON() { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ + glBegin (GL_POLYGON); \ +} + +#define N3F_F(x) { \ + if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ + glNormal3fv(x); \ +} + +#define N3F_D(x) { \ + if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ + glNormal3dv(x); \ +} + +#define V3F_F(x,j,id) { \ + if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ + glVertex3fv(x); \ +} + +#define V3F_D(x,j,id) { \ + if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ + glVertex3dv(x); \ +} + +#define ENDTMESH() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +#define ENDPOLYGON() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +/* ====================================================== */ +#else /* AUTO_TEXTURE */ + +#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); +#define BGNPOLYGON() glBegin (GL_POLYGON); + +#define N3F_F(x) glNormal3fv(x) +#define N3F_D(x) glNormal3dv(x) +#define V3F_F(x,j,id) glVertex3fv(x); +#define V3F_D(x,j,id) glVertex3dv(x); + +#define ENDTMESH() glEnd () +#define ENDPOLYGON() glEnd() + +#endif /* AUTO_TEXTURE */ + +#endif /* OPENGL_10 */ + +/* ====================================================== */ + + +#endif /* __GLE_PORT_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/rot.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/rot.h new file mode 100644 index 0000000..91083e9 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/rot.h @@ -0,0 +1,98 @@ + +/* + * rot.h + * + * FUNCTION: + * rotation matrix utilities + * + * HISTORY: + * Linas Vepstas Aug 1990 + */ + +/* ========================================================== */ +/* + * The MACROS below generate and return more traditional rotation + * matrices -- matrices for rotations about principal axes. + */ +/* ========================================================== */ + +#define ROTX_CS(m,cosine,sine) \ +{ \ + /* rotation about the x-axis */ \ + \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = (cosine); \ + m[1][2] = (sine); \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = -(sine); \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTY_CS(m,cosine,sine) \ +{ \ + /* rotation about the y-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = 0.0; \ + m[0][2] = -(sine); \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = (sine); \ + m[2][1] = 0.0; \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTZ_CS(m,cosine,sine) \ +{ \ + /* rotation about the z-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = (sine); \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = -(sine); \ + m[1][1] = (cosine); \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/segment.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/segment.h new file mode 100644 index 0000000..8d1cf04 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/segment.h @@ -0,0 +1,98 @@ + +/* + * MODULE: segment.h + * + * FUNCTION: + * Contains function prototypes for segment drawing subroutines. + * These are used only internally, and are not to be exported to + * the user. + * + * HISTORY: + * Create by Linas Vepstas + * Added tube.h include to define gleDouble, tad February 2002 + */ + +/* ============================================================ */ + +#include "tube.h" + +extern void draw_segment_plain (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + int inext, double len); + +extern void draw_segment_color (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_edge_n (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_edge_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +/* ============================================================ */ + +extern void draw_binorm_segment_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_binorm_segment_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ + gleDouble bi[3], /* biscetor */ + gleDouble point_array[][3]); /* polyline */ + +/* -------------------------- end of file -------------------------------- */ + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube.h new file mode 100644 index 0000000..c303e19 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube.h @@ -0,0 +1,203 @@ +/* + * tube.h + * + * FUNCTION: + * Tubing and Extrusion header file. + * This file provides protypes and defines for the extrusion + * and tubing primitives. + * + * HISTORY: + * Linas Vepstas 1990, 1991 + */ + +#ifndef __TUBE_H__ +#define __TUBE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLE API revision history: + + GLE_API_VERSION is updated to reflect GLE API changes (interface + changes, semantic changes, deletions, or additions). + + GLE_API_VERSION=228 GLUT 3.7 release of GLE. +**/ +#ifndef GLE_API_VERSION /* allow this to be overriden */ +#define GLE_API_VERSION 228 +#endif + +/* some types */ +#ifndef gleDouble + #define gleDouble double +#endif +typedef gleDouble gleAffine[2][3]; + +/* ====================================================== */ + +/* defines for tubing join styles */ +#define TUBE_JN_RAW 0x1 +#define TUBE_JN_ANGLE 0x2 +#define TUBE_JN_CUT 0x3 +#define TUBE_JN_ROUND 0x4 +#define TUBE_JN_MASK 0xf /* mask bits */ +#define TUBE_JN_CAP 0x10 + +/* determine how normal vectors are to be handled */ +#define TUBE_NORM_FACET 0x100 +#define TUBE_NORM_EDGE 0x200 +#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ +#define TUBE_NORM_MASK 0xf00 /* mask bits */ + +/* closed or open countours */ +#define TUBE_CONTOUR_CLOSED 0x1000 + +#define GLE_TEXTURE_ENABLE 0x10000 +#define GLE_TEXTURE_STYLE_MASK 0xff +#define GLE_TEXTURE_VERTEX_FLAT 1 +#define GLE_TEXTURE_NORMAL_FLAT 2 +#define GLE_TEXTURE_VERTEX_CYL 3 +#define GLE_TEXTURE_NORMAL_CYL 4 +#define GLE_TEXTURE_VERTEX_SPH 5 +#define GLE_TEXTURE_NORMAL_SPH 6 +#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 +#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 +#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 +#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 +#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 +#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 + +#ifdef GL_32 +/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ +#define TUBE_LIGHTING_ON 0x80000000 + +#define gleExtrusion extrusion +#define gleSetJoinStyle setjoinstyle +#define gleGetJoinStyle getjoinstyle +#define glePolyCone polycone +#define glePolyCylinder polycylinder +#define gleSuperExtrusion super_extrusion +#define gleTwistExtrusion twist_extrusion +#define gleSpiral spiral +#define gleLathe lathe +#define gleHelicoid helicoid +#define gleToroid toroid +#define gleScrew screw + +#endif /* GL_32 */ + +extern int gleGetJoinStyle (void); +extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ +extern int gleGetNumSlices(void); +extern void gleSetNumSlices(int slices); + +/* draw polyclinder, specified as a polyline */ +extern void glePolyCylinder (int npoints, /* num points in polyline */ + gleDouble point_array[][3], /* polyline vertces */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius); /* radius of polycylinder */ + +/* draw polycone, specified as a polyline with radii */ +extern void glePolyCone (int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius_array[]); /* cone radii at polyline verts */ + +/* extrude arbitrary 2D contour along arbitrary 3D path */ +extern void gleExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3]); /* colors at polyline verts */ + +/* extrude 2D contour, specifying local rotations (twists) */ +extern void gleTwistExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble twist_array[]); /* countour twists (in degrees) */ + +/* extrude 2D contour, specifying local affine tranformations */ +extern void gleSuperExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* spiral moves contour along helical path by parallel transport */ +extern void gleSpiral (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* lathe moves contour along helical path by helically shearing 3D space */ +extern void gleLathe (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to spiral, except contour is a circle */ +extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to lathe, except contour is a circle */ +extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* draws a screw shape */ +extern void gleScrew (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startz, /* start of segment */ + gleDouble endz, /* end of segment */ + gleDouble twist); /* number of rotations */ + +extern void gleTextureMode (int mode); + +#ifdef __cplusplus +} + +#endif +#endif /* __TUBE_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube_gc.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube_gc.h new file mode 100644 index 0000000..ccd2853 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube_gc.h @@ -0,0 +1,78 @@ + +/* + * tube_gc.h + * + * FUNCTION: + * This file allows for easy changes to changes in the way the extrusion + * library handles state info (i.e. context). + * + * HISTORY: + * Linas Vepstas --- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + * Added tube.h include to define gleDouble, tad February 2002 + */ + +#include "tube.h" +#include "port.h" /* for gleVector */ + +typedef float gleColor[3]; +typedef double gleTwoVec[2]; + +typedef struct { + + /* public methods */ + void (*bgn_gen_texture) (int, double); + void (*n3f_gen_texture) (float *); + void (*n3d_gen_texture) (double *); + void (*v3f_gen_texture) (float *, int, int); + void (*v3d_gen_texture) (double *, int, int); + void (*end_gen_texture) (void); + + /* protected members -- "general knowledge" stuff */ + int join_style; + + /* arguments passed into extrusion code */ + int ncp; /* number of contour points */ + gleTwoVec *contour; /* 2D contour */ + gleTwoVec *cont_normal; /* 2D contour normals */ + gleDouble *up; /* up vector */ + int npoints; /* number of points in polyline */ + gleVector *point_array; /* path */ + gleColor *color_array; /* path colors */ + gleAffine *xform_array; /* contour xforms */ + + /* private members, used by texturing code */ + int num_vert; + int segment_number; + double segment_length; + double accum_seg_len; + double prev_x; + double prev_y; + + void (*save_bgn_gen_texture) (int, double); + void (*save_n3f_gen_texture) (float *); + void (*save_n3d_gen_texture) (double *); + void (*save_v3f_gen_texture) (float *, int, int); + void (*save_v3d_gen_texture) (double *, int, int); + void (*save_end_gen_texture) (void); + +} gleGC; + +extern gleGC *_gle_gc; +extern gleGC * gleCreateGC (void); + +#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } +#define extrusion_join_style (_gle_gc->join_style) + +#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) +#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) +#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) +#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) + +#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) +#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) +#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) +#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) +#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) + +/* ======================= END OF FILE ========================== */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/vvector.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/vvector.h new file mode 100644 index 0000000..b58dcd6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/vvector.h @@ -0,0 +1,1339 @@ + +/* + * vvector.h + * + * FUNCTION: + * This file contains a number of utilities useful for handling + * 3D vectors + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Added 2D code, March 1993 + * Added Outer products, C++ proofed, Linas Vepstas October 1993 + */ + +#ifndef __GUTIL_VECTOR_H__ +#define __GUTIL_VECTOR_H__ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + + +#include +#include "port.h" + +/* ========================================================== */ +/* Zero out a 2D vector */ + +#define VEC_ZERO_2(a) \ +{ \ + (a)[0] = (a)[1] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 3D vector */ + +#define VEC_ZERO(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 4D vector */ + +#define VEC_ZERO_4(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ +} + +/* ========================================================== */ +/* Vector copy */ + +#define VEC_COPY_2(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ +} + +/* ========================================================== */ +/* Copy 3D vector */ + +#define VEC_COPY(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ +} + +/* ========================================================== */ +/* Copy 4D vector */ + +#define VEC_COPY_4(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ + (b)[3] = (a)[3]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ + (v21)[3] = (v2)[3] - (v1)[3]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ + (v21)[3] = (v2)[3] + (v1)[3]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_2(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_4(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ + (c)[3] = (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_2(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_4(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ + (c)[3] += (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_2(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_4(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ +} + +/* ========================================================== */ +/* vector impact parameter (squared) */ + +#define VEC_IMPACT_SQ(bsq,direction,position) \ +{ \ + gleDouble vlen, llel; \ + VEC_DOT_PRODUCT (vlen, position, position); \ + VEC_DOT_PRODUCT (llel, direction, position); \ + bsq = vlen - llel*llel; \ +} + +/* ========================================================== */ +/* vector impact parameter */ + +#define VEC_IMPACT(bsq,direction,position) \ +{ \ + VEC_IMPACT_SQ(bsq,direction,position); \ + bsq = sqrt (bsq); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_2(vlen,a) \ +{ \ + vlen = a[0]*a[0] + a[1]*a[1]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_4(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen += (a)[3] * (a)[3]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* distance between two points */ + +#define VEC_DISTANCE(vlen,va,vb) \ +{ \ + gleDouble tmp[4]; \ + VEC_DIFF (tmp, vb, va); \ + VEC_LENGTH (vlen, tmp); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_CONJUGATE_LENGTH(vlen,a) \ +{ \ + vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_NORMALIZE(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = 1.0 / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_RENORMALIZE(a,newlen) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = newlen / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* 3D Vector cross product yeilding vector */ + +#define VEC_CROSS_PRODUCT(c,a,b) \ +{ \ + c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ + c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ + c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ +} + +/* ========================================================== */ +/* Vector perp -- assumes that n is of unit length + * accepts vector v, subtracts out any component parallel to n */ + +#define VEC_PERP(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (v)[0] - (vdot) * (n)[0]; \ + vp[1] = (v)[1] - (vdot) * (n)[1]; \ + vp[2] = (v)[2] - (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector parallel -- assumes that n is of unit length + * accepts vector v, subtracts out any component perpendicular to n */ + +#define VEC_PARALLEL(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (vdot) * (n)[0]; \ + vp[1] = (vdot) * (n)[1]; \ + vp[2] = (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector reflection -- assumes n is of unit length */ +/* Takes vector v, reflects it against reflector n, and returns vr */ + +#define VEC_REFLECT(vr,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ + vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ + vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector blending */ +/* Takes two vectors a, b, blends them together */ + +#define VEC_BLEND(vr,sa,a,sb,b) \ +{ \ + \ + vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ + vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ + vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_2(a) \ +{ \ + double vlen; \ + VEC_LENGTH_2 (vlen, a); \ + printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen, (a)); \ + printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_4(a) \ +{ \ + double vlen; \ + VEC_LENGTH_4 (vlen, (a)); \ + printf (" a is %f %f %f %f length of a is %f \n", \ + (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_4X4(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_3X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<3; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_2X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<2; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_3X3(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_4X4(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + b[0][3] = a[0][3]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + b[1][3] = a[1][3]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[2][3]; \ + \ + b[3][0] = a[3][0]; \ + b[3][1] = a[3][1]; \ + b[3][2] = a[3][2]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + b[0][3] = a[3][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + b[1][3] = a[3][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[3][2]; \ + \ + b[3][0] = a[0][3]; \ + b[3][1] = a[1][3]; \ + b[3][2] = a[2][3]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + b[0][3] = (s) * a[0][3]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + b[1][3] = (s) * a[1][3]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ + b[2][3] = (s) * a[2][3]; \ + \ + b[3][0] = s * a[3][0]; \ + b[3][1] = s * a[3][1]; \ + b[3][2] = s * a[3][2]; \ + b[3][3] = s * a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + b[0][3] += (s) * a[0][3]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + b[1][3] += (s) * a[1][3]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ + b[2][3] += (s) * a[2][3]; \ + \ + b[3][0] += (s) * a[3][0]; \ + b[3][1] += (s) * a[3][1]; \ + b[3][2] += (s) * a[3][2]; \ + b[3][3] += (s) * a[3][3]; \ +} + +/* +========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_2X2(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_3X3(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_4X4(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ + c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ + c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ + c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ + \ + c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ + c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ + c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ + c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_3X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_4X4(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ + p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ +} + +/* ========================================================== */ +/* vector transpose times matrix */ +/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ + +#define VEC_DOT_MAT_3X3(p,v,m) \ +{ \ + p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ + p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ + p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ +} + +/* ========================================================== */ +/* affine matrix times vector */ +/* The matrix is assumed to be an affine matrix, with last two + * entries representing a translation */ + +#define MAT_DOT_VEC_2X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ +} + +/* ========================================================== */ +/* inverse transpose of matrix times vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * + * DANGER !!! Do Not use this on normal vectors!!! + * It will leave normals the wrong length !!! + * See macro below for use on normals. + */ + +#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + gleDouble det; \ + \ + det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + /* if matrix not singular, and not orthonormal, then renormalize */ \ + if ((det!=1.0) && (det != 0.0)) { \ + det = 1.0 / det; \ + p[0] *= det; \ + p[1] *= det; \ + } \ +} + +/* ========================================================== */ +/* transform normal vector by inverse transpose of matrix + * and then renormalize the vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * Vector p is then normalized. + */ + + +#define NORM_XFORM_2X2(p,m,v) \ +{ \ + double mlen; \ + \ + /* do nothing if off-diagonals are zero and diagonals are \ + * equal */ \ + if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + mlen = p[0]*p[0] + p[1]*p[1]; \ + mlen = 1.0 / sqrt (mlen); \ + p[0] *= mlen; \ + p[1] *= mlen; \ + } else { \ + VEC_COPY_2 (p, v); \ + } \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + m[0][3] = v[0] * t[3]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + m[1][3] = v[1] * t[3]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ + m[2][3] = v[2] * t[3]; \ + \ + m[3][0] = v[3] * t[0]; \ + m[3][1] = v[3] * t[1]; \ + m[3][2] = v[3] * t[2]; \ + m[3][3] = v[3] * t[3]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + m[0][3] += v[0] * t[3]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + m[1][3] += v[1] * t[3]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ + m[2][3] += v[2] * t[3]; \ + \ + m[3][0] += v[3] * t[0]; \ + m[3][1] += v[3] * t[1]; \ + m[3][2] += v[3] * t[2]; \ + m[3][3] += v[3] * t[3]; \ +} + +/* +========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_2X2(d,m) \ +{ \ + d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ +} + +/* ========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_3X3(d,m) \ +{ \ + d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ + d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ + d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ +} + +/* ========================================================== */ +/* i,j,th cofactor of a 4x4 matrix + * + */ + +#define COFACTOR_4X4_IJ(fac,m,i,j) \ +{ \ + int ii[4], jj[4], k; \ + \ + /* compute which row, columnt to skip */ \ + for (k=0; k + + + + IBDocumentLocation + 4 104 410 240 0 0 1152 848 + IBEditorPositions + + 29 + 19 615 246 44 0 0 1152 848 + + IBFramework Version + 291.0 + IBGroupedObjects + + IBLastGroupID + 1 + IBOpenObjects + + 29 + + IBSystem Version + 6I32 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib new file mode 100644 index 0000000..8a7140e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib new file mode 100644 index 0000000..7e85eb1 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib @@ -0,0 +1,13 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {toggleWindow = id; }; + CLASS = GLUTClipboardController; + LANGUAGE = ObjC; + OUTLETS = {_infoText = id; _scrollView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib new file mode 100644 index 0000000..867735d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib @@ -0,0 +1,12 @@ + + + + + IBDocumentLocation + 63 221 356 240 0 0 1600 1178 + IBFramework Version + 263.2 + IBSystem Version + 5S41 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib new file mode 100644 index 0000000..29125d4 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib new file mode 100644 index 0000000..c675963 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib @@ -0,0 +1,73 @@ +{ + IBClasses = ( + { + ACTIONS = {save = id; saveAs = id; }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + ACTIONS = { + cancel = id; + joyAssign = id; + joyDevice = id; + joyElement = id; + joyInvert = id; + launchDebugMode = id; + launchGamemodeCaptureSingle = id; + launchIconic = id; + launchUseCurrWD = id; + launchUseExtDesktop = id; + launchUseMacOSCoords = id; + mouseEanbleEmulation = id; + mouseMiddleMenu = id; + mouseRightMenu = id; + ok = id; + spaceAssign = id; + spaceDevice = id; + spaceElement = id; + spaceInvert = id; + }; + CLASS = GLUTPreferencesController; + LANGUAGE = ObjC; + OUTLETS = { + joyAssign = NSButton; + joyAssignNote = NSTextField; + joyAssignWarningIcon = NSImageView; + joyDeviceMenu = NSPopUpButton; + joyElement = NSTextField; + joyInputMenu = NSPopUpButton; + joyInverted = NSButton; + launchDebugMode = NSButton; + launchFadeTime = NSTextField; + launchGamemodeCaptureSingle = NSButton; + launchIconic = NSButton; + launchInitHeight = NSTextField; + launchInitWidth = NSTextField; + launchInitX = NSTextField; + launchInitY = NSTextField; + launchMenuIdle = NSTextField; + launchSyncToVBL = NSButton; + launchUseCurrWD = NSButton; + launchUseExtendedDesktop = NSButton; + launchUseMacOSXCoords = NSButton; + mouseAssignWarningIcon = NSImageView; + mouseAssignWarningText = NSTextField; + mouseDetected = NSTextField; + mouseEmulation = NSButton; + mouseMiddleConfigMenu = NSPopUpButton; + mouseRightConfigMenu = NSPopUpButton; + prefsTabView = NSTabView; + spaceAssign = NSButton; + spaceAssignNote = NSTextField; + spaceAssignWarningIcon = NSImageView; + spaceDeviceMenu = NSPopUpButton; + spaceElement = NSTextField; + spaceInputMenu = NSPopUpButton; + spaceInverted = NSButton; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib new file mode 100644 index 0000000..216c8dc --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 16 329 410 240 0 0 1920 1178 + IBFramework Version + 439.0 + IBOpenObjects + + 205 + + IBSystem Version + 8G32 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib new file mode 100644 index 0000000..7598f2c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings new file mode 100644 index 0000000..6db3c5c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..6f78b89 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Info.plist b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Info.plist new file mode 100644 index 0000000..e8fc9d6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GLUT + CFBundleGetInfoString + 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved + CFBundleIdentifier + com.apple.glut + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.4.0 + CFBundleSignature + ???? + CFBundleVersion + GLUT-3.4.0 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/blankCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/blankCursor.tiff new file mode 100644 index 0000000..a2b0cf1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/blankCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomCursor.tiff new file mode 100644 index 0000000..c3f4795 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff new file mode 100644 index 0000000..274529f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff new file mode 100644 index 0000000..dec4252 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/crossCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/crossCursor.tiff new file mode 100644 index 0000000..8536c0e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/crossCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/cycleCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/cycleCursor.tiff new file mode 100644 index 0000000..34b52f6 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/cycleCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/destroyCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/destroyCursor.tiff new file mode 100644 index 0000000..9e3a1cb Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/destroyCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/fingerCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/fingerCursor.tiff new file mode 100644 index 0000000..0087c66 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/fingerCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/helpCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/helpCursor.tiff new file mode 100644 index 0000000..fc4a88a Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/helpCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftCursor.tiff new file mode 100644 index 0000000..852b69b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff new file mode 100644 index 0000000..37fe393 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff new file mode 100644 index 0000000..d852616 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightCursor.tiff new file mode 100644 index 0000000..9781f22 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/sprayCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/sprayCursor.tiff new file mode 100644 index 0000000..9bec966 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/sprayCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topCursor.tiff new file mode 100644 index 0000000..e4df0de Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topleftCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topleftCursor.tiff new file mode 100644 index 0000000..43cf97f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/toprightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/toprightCursor.tiff new file mode 100644 index 0000000..429b01b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/toprightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/upDownCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/upDownCursor.tiff new file mode 100644 index 0000000..1605063 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/upDownCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/waitCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/waitCursor.tiff new file mode 100644 index 0000000..81ba1aa Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/waitCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/GLUT b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/GLUT new file mode 100644 index 0000000..babc6b1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/GLUT differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/copy.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/copy.h new file mode 100644 index 0000000..a5116e2 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/copy.h @@ -0,0 +1,18 @@ + +/* + * + * Written By Linas Vepstas November 1991 + */ + + +#define COPY_THREE_WORDS(A,B) { \ + struct three_words { int a, b, c, }; \ + *(struct three_words *) (A) = *(struct three_words *) (B); \ +} + +#define COPY_FOUR_WORDS(A,B) { \ + struct four_words { int a, b, c, d, }; \ + *(struct four_words *) (A) = *(struct four_words *) (B); \ +} + +/* ============================================================= */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h new file mode 100644 index 0000000..658699e --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h @@ -0,0 +1,96 @@ + +/* + * extrude.h + * + * FUNCTION: + * prototypes for privately used subroutines for the tubing library + * + * HISTORY: + * Linas Vepstas 1991 + */ + +#include "port.h" /* for gleDouble */ + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ============================================================ */ +/* + * Provides choice of calling subroutine, vs. invoking macro. + * Basically, inlines the source, or not. + * Trades performance for executable size. + */ + +#define INLINE_INTERSECT +#ifdef INLINE_INTERSECT +#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } +#else +#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) +#endif /* INLINE_INTERSECT */ + +/* ============================================================ */ +/* The folowing defines give a kludgy way of accessing the qmesh primitive */ + +/* +#define bgntmesh _emu_qmesh_bgnqmesh +#define endtmesh _emu_qmesh_endqmesh +#define c3f _emu_qmesh_c3f +#define n3f _emu_qmesh_n3f +#define v3f _emu_qmesh_v3f +*/ + +/* ============================================================ */ + +extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3]); /* polyline */ + + +extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble zval, /* where to draw cap */ + int frontwards); /* front or back cap */ + +extern void draw_round_style_cap_callback (int iloop, + double cap[][3], + float face_color[3], + gleDouble cut_vector[3], + gleDouble bisect_vector[3], + double norms[][3], + int frontwards); + +extern void draw_angle_style_front_cap (int ncp, + gleDouble bi[3], + gleDouble point_array[][3]); + +extern void extrusion_raw_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_angle_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* -------------------------- end of file -------------------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h new file mode 100644 index 0000000..baf54a7 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h @@ -0,0 +1,137 @@ +#ifndef __glsmap_h__ +#define __glsmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* Try hard to avoid including to avoid name space pollution, + but Win32's needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef CALLBACK + /* XXX This is from Win32's */ +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif /* _WIN32 */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + SMAP_CLEAR_SMAP_TEXTURE = 0x1, + SMAP_GENERATE_VIEW_MIPMAPS = 0x2, + SMAP_GENERATE_SMAP_MIPMAPS = 0x4, + SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ +} SphereMapFlags; + +/* Cube view enumerants. */ +enum { + SMAP_FRONT = 0, + SMAP_TOP = 1, + SMAP_BOTTOM = 2, + SMAP_LEFT = 3, + SMAP_RIGHT = 4, + SMAP_BACK = 5 +}; + +typedef struct _SphereMap SphereMap; + +extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); +extern void smapDestroySphereMap(SphereMap *smap); + +extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); + +extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); +extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); + +extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); +extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); + +extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); +extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); + +extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); +extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); +extern void smapSetUpVector(SphereMap *smap, GLfloat *up); +extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); +extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); +extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); +extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); +extern void smapGetUpVector(SphereMap *smap, GLfloat *up); +extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); +extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); + +extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); +extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); + +extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); +extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); +extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); +extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); + +extern void smapSetContextData(SphereMap *smap, void *context); +extern void smapGetContextData(SphereMap *smap, void **context); + +extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); +extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); +extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); +extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); + +extern void smapGenViewTex(SphereMap *smap, int view); +extern void smapGenViewTexs(SphereMap *smap); +extern void smapGenSphereMapFromViewTexs(SphereMap *smap); +extern void smapGenSphereMap(SphereMap *smap); +extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); + +extern int smapRvecToSt(float rvec[3], float st[2]); +extern void smapStToRvec(float *st, float *rvec); + +#ifdef __cplusplus +} + +#endif +#endif /* __glsmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h new file mode 100644 index 0000000..3620e7d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h @@ -0,0 +1,102 @@ +#ifndef __glsmapint_h__ +#define __glsmapint_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glsmap.h" + +enum { X = 0, Y = 1, Z = 2 }; + +#define INITFACE(mesh) \ + int steps = mesh->steps; \ + int sqsteps = mesh->steps * mesh->steps + +#define FACE(side,y,x) \ + mesh->face[(side)*sqsteps + (y)*steps + (x)] + +#define FACExy(side,i,j) \ + (&FACE(side,i,j).x) + +#define FACEst(side,i,j) \ + (&FACE(side,i,j).s) + +#define INITBACK(mesh) \ + int allrings = mesh->rings + mesh->edgeExtend; \ + int ringedspokes = allrings * mesh->steps + +#define BACK(edge,ring,spoke) \ + mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] + +#define BACKxy(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).x) + +#define BACKst(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).s) + +typedef struct _STXY { + GLfloat s, t; + GLfloat x, y; +} STXY; + +typedef struct _SphereMapMesh { + + int refcnt; + + int steps; + int rings; + int edgeExtend; + + STXY *face; + STXY *back; + +} SphereMapMesh; + +struct _SphereMap { + + /* Shared sphere map mesh vertex data. */ + SphereMapMesh *mesh; + + /* Texture object ids. */ + GLuint smapTexObj; + GLuint viewTexObjs[6]; + GLuint viewTexObj; + + /* Flags */ + SphereMapFlags flags; + + /* Texture dimensions must be a power of two. */ + int viewTexDim; /* view texture dimension */ + int smapTexDim; /* sphere map texture dimension */ + + /* Viewport origins for view and sphere map rendering. */ + int viewOrigin[2]; + int smapOrigin[2]; + + /* Viewing vectors. */ + GLfloat eye[3]; + GLfloat up[3]; + GLfloat obj[3]; + + /* Projection parameters. */ + GLfloat viewNear; + GLfloat viewFar; + + /* Rendering callbacks. */ + void (*positionLights)(int view, void *context); + void (*drawView)(int view, void *context); + + /* Application specified callback data. */ + void *context; + +}; + +/* Library internal routines. */ +extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); +extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); +extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); + +#endif /* __glsmapint_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glut.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glut.h new file mode 100644 index 0000000..cbc6ebe --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glut.h @@ -0,0 +1,648 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ +//#define GLUT_OF_007_HACK + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including + to avoid name space pollution, but Win32's + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ +#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif + +#if defined(__APPLE__) || defined(MACOSX) +#include +#include +#include +#else +#include +#include +#endif + +/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ +#if !defined(_WIN32) +#define APIENTRY +#define GLUT_APIENTRY_DEFINED +#define CALLBACK +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). + + GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 5 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/** + MacOS X GLUT implementation revision history: + + GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X + specific GLUT API revisions and implementation revisions + (ie, bug fixes). + + GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. + + GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. + +**/ +#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_MACOSX_IMPLEMENTATION 2 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif +#define GLUT_NO_RECOVERY 1024 + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +/* Layers for use. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +extern void *glutStrokeRoman; +extern void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +extern void *glutBitmap9By15; +extern void *glutBitmap8By13; +extern void *glutBitmapTimesRoman10; +extern void *glutBitmapTimesRoman24; +extern void *glutBitmapHelvetica10; +extern void *glutBitmapHelvetica12; +extern void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X 100 +#define GLUT_WINDOW_Y 101 +#define GLUT_WINDOW_WIDTH 102 +#define GLUT_WINDOW_HEIGHT 103 +#define GLUT_WINDOW_BUFFER_SIZE 104 +#define GLUT_WINDOW_STENCIL_SIZE 105 +#define GLUT_WINDOW_DEPTH_SIZE 106 +#define GLUT_WINDOW_RED_SIZE 107 +#define GLUT_WINDOW_GREEN_SIZE 108 +#define GLUT_WINDOW_BLUE_SIZE 109 +#define GLUT_WINDOW_ALPHA_SIZE 110 +#define GLUT_WINDOW_ACCUM_RED_SIZE 111 +#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 +#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 +#define GLUT_WINDOW_DOUBLEBUFFER 115 +#define GLUT_WINDOW_RGBA 116 +#define GLUT_WINDOW_PARENT 117 +#define GLUT_WINDOW_NUM_CHILDREN 118 +#define GLUT_WINDOW_COLORMAP_SIZE 119 +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES 120 +#define GLUT_WINDOW_STEREO 121 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR 122 +#endif +#define GLUT_SCREEN_WIDTH 200 +#define GLUT_SCREEN_HEIGHT 201 +#define GLUT_SCREEN_WIDTH_MM 202 +#define GLUT_SCREEN_HEIGHT_MM 203 +#define GLUT_MENU_NUM_ITEMS 300 +#define GLUT_DISPLAY_MODE_POSSIBLE 400 +#define GLUT_INIT_WINDOW_X 500 +#define GLUT_INIT_WINDOW_Y 501 +#define GLUT_INIT_WINDOW_WIDTH 502 +#define GLUT_INIT_WINDOW_HEIGHT 503 +#define GLUT_INIT_DISPLAY_MODE 504 +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME 700 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID 123 +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD 600 +#define GLUT_HAS_MOUSE 601 +#define GLUT_HAS_SPACEBALL 602 +#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 +#define GLUT_HAS_TABLET 604 +#define GLUT_NUM_MOUSE_BUTTONS 605 +#define GLUT_NUM_SPACEBALL_BUTTONS 606 +#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 +#define GLUT_NUM_DIALS 608 +#define GLUT_NUM_TABLET_BUTTONS 609 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 +#define GLUT_DEVICE_KEY_REPEAT 611 +#define GLUT_HAS_JOYSTICK 612 +#define GLUT_OWNS_JOYSTICK 613 +#define GLUT_JOYSTICK_BUTTONS 614 +#define GLUT_JOYSTICK_AXES 615 +#define GLUT_JOYSTICK_POLL_RATE 616 +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE 800 +#define GLUT_LAYER_IN_USE 801 +#define GLUT_HAS_OVERLAY 802 +#define GLUT_TRANSPARENT_INDEX 803 +#define GLUT_NORMAL_DAMAGED 804 +#define GLUT_OVERLAY_DAMAGED 805 + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE 900 +#define GLUT_VIDEO_RESIZE_IN_USE 901 +#define GLUT_VIDEO_RESIZE_X_DELTA 902 +#define GLUT_VIDEO_RESIZE_Y_DELTA 903 +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 +#define GLUT_VIDEO_RESIZE_X 906 +#define GLUT_VIDEO_RESIZE_Y 907 +#define GLUT_VIDEO_RESIZE_WIDTH 908 +#define GLUT_VIDEO_RESIZE_HEIGHT 909 +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +extern void APIENTRY glutInit(int *argcp, char **argv); +extern void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutInitDisplayString(const char *string); +#endif +extern void APIENTRY glutInitWindowPosition(int x, int y); +extern void APIENTRY glutInitWindowSize(int width, int height); +extern void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +extern int APIENTRY glutCreateWindow(const char *title); +extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +extern void APIENTRY glutDestroyWindow(int win); +extern void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowRedisplay(int win); +#endif +extern void APIENTRY glutSwapBuffers(void); +extern int APIENTRY glutGetWindow(void); +extern void APIENTRY glutSetWindow(int win); +extern void APIENTRY glutSetWindowTitle(const char *title); +extern void APIENTRY glutSetIconTitle(const char *title); +extern void APIENTRY glutPositionWindow(int x, int y); +extern void APIENTRY glutReshapeWindow(int width, int height); +extern void APIENTRY glutPopWindow(void); +extern void APIENTRY glutPushWindow(void); +extern void APIENTRY glutIconifyWindow(void); +extern void APIENTRY glutShowWindow(void); +extern void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutFullScreen(void); +extern void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWarpPointer(int x, int y); +#if (GLUT_MACOSX_IMPLEMENTATION >= 1) +/* surface texturing API Mac OS X specific +* Note: +* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object +*/ +#ifdef MAC_OS_X_VERSION_10_5 +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 +#else +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); +#endif +#endif +#if (GLUT_MACOSX_IMPLEMENTATION >= 2) +/* Mac OS X specific API */ +extern void APIENTRY glutWMCloseFunc(void (*func)(void)); +extern void APIENTRY glutCheckLoop(void); +#endif +#endif + +/* GLUT overlay sub-API. */ +extern void APIENTRY glutEstablishOverlay(void); +extern void APIENTRY glutRemoveOverlay(void); +extern void APIENTRY glutUseLayer(GLenum layer); +extern void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +extern void APIENTRY glutShowOverlay(void); +extern void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +extern int APIENTRY glutCreateMenu(void (*)(int)); +extern void APIENTRY glutDestroyMenu(int menu); +extern int APIENTRY glutGetMenu(void); +extern void APIENTRY glutSetMenu(int menu); +extern void APIENTRY glutAddMenuEntry(const char *label, int value); +extern void APIENTRY glutAddSubMenu(const char *label, int submenu); +extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +extern void APIENTRY glutRemoveMenuItem(int item); +extern void APIENTRY glutAttachMenu(int button); +extern void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +extern void APIENTRY glutDisplayFunc(void (*func)(void)); +extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); +extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); +extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutEntryFunc(void (*func)(int state)); +extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); +extern void APIENTRY glutIdleFunc(void (*func)(void)); +extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); +extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); +#if (GLUT_API_VERSION >= 2) +extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); +extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); +extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); +extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); +extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +//#ifdef GLUT_OF_007_HACK +extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); +//#endif +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +extern GLfloat APIENTRY glutGetColor(int ndx, int component); +extern void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +extern int APIENTRY glutGet(GLenum type); +extern int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +extern int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +extern int APIENTRY glutGetModifiers(void); +extern int APIENTRY glutLayerGet(GLenum type); +#endif +#if (GLUT_API_VERSION >= 5) +extern void * APIENTRY glutGetProcAddress(const char *procName); +#endif + +/* GLUT font sub-API */ +extern void APIENTRY glutBitmapCharacter(void *font, int character); +extern int APIENTRY glutBitmapWidth(void *font, int character); +extern void APIENTRY glutStrokeCharacter(void *font, int character); +extern int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutWireCube(GLdouble size); +extern void APIENTRY glutSolidCube(GLdouble size); +extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutWireDodecahedron(void); +extern void APIENTRY glutSolidDodecahedron(void); +extern void APIENTRY glutWireTeapot(GLdouble size); +extern void APIENTRY glutSolidTeapot(GLdouble size); +extern void APIENTRY glutWireOctahedron(void); +extern void APIENTRY glutSolidOctahedron(void); +extern void APIENTRY glutWireTetrahedron(void); +extern void APIENTRY glutSolidTetrahedron(void); +extern void APIENTRY glutWireIcosahedron(void); +extern void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +extern int APIENTRY glutVideoResizeGet(GLenum param); +extern void APIENTRY glutSetupVideoResizing(void); +extern void APIENTRY glutStopVideoResizing(void); +extern void APIENTRY glutVideoResize(int x, int y, int width, int height); +extern void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +extern void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +extern void APIENTRY glutIgnoreKeyRepeat(int ignore); +extern void APIENTRY glutSetKeyRepeat(int repeatMode); +extern void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE 0 +#define GLUT_GAME_MODE_POSSIBLE 1 +#define GLUT_GAME_MODE_WIDTH 2 +#define GLUT_GAME_MODE_HEIGHT 3 +#define GLUT_GAME_MODE_PIXEL_DEPTH 4 +#define GLUT_GAME_MODE_REFRESH_RATE 5 +#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 + +extern void APIENTRY glutGameModeString(const char *string); +extern int APIENTRY glutEnterGameMode(void); +extern void APIENTRY glutLeaveGameMode(void); +extern int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif /* __glut_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h new file mode 100644 index 0000000..e29a016 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h @@ -0,0 +1,30 @@ +#ifndef __glutbitmap_h__ +#define __glutbitmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glut.h" + +typedef struct { + const GLsizei width; + const GLsizei height; + const GLfloat xorig; + const GLfloat yorig; + const GLfloat advance; + const GLubyte *bitmap; +} BitmapCharRec, *BitmapCharPtr; + +typedef struct { + const char *name; + const int num_chars; + const int first; + const BitmapCharRec * const *ch; +} BitmapFontRec, *BitmapFontPtr; + +typedef void *GLUTbitmapFont; + +#endif /* __glutbitmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h new file mode 100644 index 0000000..f8a170b --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h @@ -0,0 +1,90 @@ +#ifndef __glutf90_h__ +#define __glutf90_h__ + +/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +/* This header provides the binding interface for William Mitchell's + f90gl Fortran 90 GLUT binding. Other GLUT language bindings + can and should use this interace. */ + +/* I appreciate the guidance from William Mitchell + (mitchell@cam.nist.gov) in developing this friend interface + for use by the f90gl package. See ../../README.fortran */ + +#include + +#ifndef GLUTCALLBACK + #define GLUTCALLBACK +#endif +#ifndef APIENTRY + #define APIENTRY +#endif + +/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ +/* NOTE These values are part of a binary interface for the f90gl Fortran + 90 binding and so must NOT changes (additions are allowed). */ + +/* GLUTwindow callbacks. */ +#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ +#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ +#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ +#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ +#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ +#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ +#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ +#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ +#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ +#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ +#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ +#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ +#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ +#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ +#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ +#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ +#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ +#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ +#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ +#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ +#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ +/* Non-GLUTwindow callbacks. */ +#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ +#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ +#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ + +/* GLUT Fortran callback function types. */ +typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); +typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); +typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); +/* NOTE the pressed key is int, not unsigned char for Fortran! */ +typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); +typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); +typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); +typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); + +typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); +typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); +typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ +typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTidleFCB) (void); + +/* Functions that set and return Fortran callback functions. */ +extern void* APIENTRY __glutGetFCB(int which); +extern void APIENTRY __glutSetFCB(int which, void *func); + +#endif /* __glutf90_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h new file mode 100644 index 0000000..cbc9e15 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h @@ -0,0 +1,42 @@ +#ifndef __glutstroke_h__ +#define __glutstroke_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +#endif + +typedef struct { + float x; + float y; +} CoordRec, *CoordPtr; + +typedef struct { + int num_coords; + const CoordRec *coord; +} StrokeRec, *StrokePtr; + +typedef struct { + int num_strokes; + const StrokeRec *stroke; + float center; + float right; +} StrokeCharRec, *StrokeCharPtr; + +typedef struct { + const char *name; + int num_chars; + const StrokeCharRec *ch; + float top; + float bottom; +} StrokeFontRec, *StrokeFontPtr; + +typedef void *GLUTstrokeFont; + +#endif /* __glutstroke_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h new file mode 100644 index 0000000..f7ffcf3 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h @@ -0,0 +1,89 @@ + +/* + * gutil.h + * + * FUNCTION: + * Provide utilities that allow rotation to occur + * around any axis. + * + * HISTORY: + * created by Linas Vepstas 1990 + * added single & double precision, June 1991, Linas Vepstas + */ + +#ifndef __GUTIL_H__ +#define __GUTIL_H__ + +#ifdef __GUTIL_DOUBLE +#define gutDouble double +#else +#define gutDouble float +#endif + + +#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (); +extern void rot_about_axis_f (); +extern void rot_omega_f (); +extern void urot_axis_f (); +extern void urot_about_axis_f (); +extern void urot_omega_f (); + +/* double-precision versions */ +extern void rot_axis_d (); +extern void rot_about_axis_d (); +extern void rot_omega_d (); +extern void urot_axis_d (); +extern void urot_about_axis_d (); +extern void urot_omega_d (); + +/* viewpoint functions */ +extern void uview_direction_d (); +extern void uview_direction_f (); +extern void uviewpoint_d (); +extern void uviewpoint_f (); + +#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (float omega, float axis[3]); +extern void rot_about_axis_f (float angle, float axis[3]); +extern void rot_omega_f (float axis[3]); +extern void urot_axis_f (float m[4][4], float omega, float axis[3]); +extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); +extern void urot_omega_f (float m[4][4], float axis[3]); + +/* double-precision versions */ +extern void rot_axis_d (double omega, double axis[3]); +extern void rot_about_axis_d (double angle, double axis[3]); +extern void rot_omega_d (double axis[3]); +extern void urot_axis_d (double m[4][4], double omega, double axis[3]); +extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); +extern void urot_omega_d (double m[4][4], double axis[3]); + +/* viewpoint functions */ +extern void uview_direction_d (double m[4][4], /* returned */ + double v21[3], /* input */ + double up[3]); /* input */ + +extern void uview_direction_f (float m[4][4], /* returned */ + float v21[3], /* input */ + float up[3]); /* input */ + +extern void uviewpoint_d (double m[4][4], /* returned */ + double v1[3], /* input */ + double v2[3], /* input */ + double up[3]); /* input */ + +extern void uviewpoint_f (float m[4][4], /* returned */ + float v1[3], /* input */ + float v2[3], /* input */ + float up[3]); /* input */ + +#endif /* _NO_PROTO */ + +#endif /* _GUTIL_H__ */ + +/* ------------------- end of file ---------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h new file mode 100644 index 0000000..f5ff7a5 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h @@ -0,0 +1,391 @@ +/* + * FUNCTION: + * This file contains a number of utilities useful to 3D graphics in + * general, and to the generation of tubing and extrusions in particular + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Updated to correctly handle degenerate cases, Linas, February 1993 + */ + +#include +#include "port.h" +#include "vvector.h" + +#define BACKWARDS_INTERSECT (2) + +/* ========================================================== */ +/* + * the Degenerate_Tolerance token represents the greatest amount by + * which different scales in a graphics environment can differ before + * they should be considered "degenerate". That is, when one vector is + * a million times longer than another, changces are that the second will + * be less than a pixel int, and therefore was probably meant to be + * degenerate (by the CAD package, etc.) But what should this tolerance + * be? At least 1 in onethousand (since screen sizes are 1K pixels), but + * les than 1 in 4 million (since this is the limit of single-precision + * floating point accuracy). Of course, if double precision were used, + * then the tolerance could be increased. + * + * Potentially, this naive assumption could cause problems if the CAD + * package attempts to zoom in on small details, and turns out, certain + * points should not hvae been degenerate. The problem presented here + * is that the tolerance could run out before single-precision ran + * out, and so the CAD packages would perceive this as a "bug". + * One alternative is to fiddle around & try to tighten the tolerance. + * However, the right alternative is to code the graphics pipeline in + * double-precision (and tighten the tolerance). + * + * By the way, note that Degernate Tolerance is a "dimensionless" + * quantitiy -- it has no units -- it does not measure feet, inches, + * millimeters or pixels. It is used only in the computations of ratios + * and relative lengths. + */ + +/* + * Right now, the tolerance is set to 2 parts in a million, which + * corresponds to a 19-bit distinction of mantissas. Note that + * single-precsion numbers have 24 bit mantissas. + */ + +#define DEGENERATE_TOLERANCE (0.000002) + +/* ========================================================== */ +/* + * The macro and subroutine INTERSECT are designed to compute the + * intersection of a line (defined by the points v1 and v2) and a plane + * (defined as plane which is normal to the vector n, and contains the + * point p). Both return the point sect, which is the point of + * interesection. + * + * This MACRO attemps to be fairly robust by checking for a divide by + * zero. + */ + +/* ========================================================== */ +/* + * HACK ALERT + * The intersection parameter t has the nice property that if t>1, + * then the intersection is "in front of" p1, and if t<0, then the + * intersection is "behind" p2. Unfortunately, as the intersecting plane + * and the line become parallel, t wraps through infinity -- i.e. t can + * become so large that t becomes "greater than infinity" and comes back + * as a negative number (i.e. winding number hopped by one unit). We + * have no way of detecting this situation without adding gazzillions + * of lines of code of topological algebra to detect the winding number; + * and this would be incredibly difficult, and ruin performance. + * + * Thus, we've installed a cheap hack for use by the "cut style" drawing + * routines. If t proves to be a large negative number (more negative + * than -5), then we assume that t was positive and wound through + * infinity. This makes most cuts look good, without introducing bogus + * cuts at infinity. + */ +/* ========================================================== */ + +#define INTERSECT(sect,p,n,v1,v2) \ +{ \ + gleDouble deno, numer, t, omt; \ + \ + deno = (v1[0] - v2[0]) * n[0]; \ + deno += (v1[1] - v2[1]) * n[1]; \ + deno += (v1[2] - v2[2]) * n[2]; \ + \ + if (deno == 0.0) { \ + VEC_COPY (n, v1); \ + /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ + } else { \ + \ + numer = (p[0] - v2[0]) * n[0]; \ + numer += (p[1] - v2[1]) * n[1]; \ + numer += (p[2] - v2[2]) * n[2]; \ + \ + t = numer / deno; \ + omt = 1.0 - t; \ + \ + sect[0] = t * v1[0] + omt * v2[0]; \ + sect[1] = t * v1[1] + omt * v2[1]; \ + sect[2] = t * v1[2] + omt * v2[2]; \ + } \ +} + +/* ========================================================== */ +/* + * The macro and subroutine BISECTING_PLANE compute a normal vector that + * describes the bisecting plane between three points (v1, v2 and v3). + * This bisecting plane has the following properties: + * 1) it contains the point v2 + * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it + * makes with v32 == v3 - v2 + * 3) it is perpendicular to the plane defined by v1, v2, v3. + * + * Having input v1, v2, and v3, it returns a unit vector n. + * + * In some cases, the user may specify degenerate points, and still + * expect "reasonable" or "obvious" behaviour. The "expected" + * behaviour for these degenerate cases is: + * + * 1) if v1 == v2 == v3, then return n=0 + * 2) if v1 == v2, then return v32 (normalized). + * 3) if v2 == v3, then return v21 (normalized). + * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). + * + * Mathematically, these special cases "make sense" -- we just have to + * code around potential divide-by-zero's in the code below. + */ + +/* ========================================================== */ + +#define BISECTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as bisector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ + (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ +/* + * The block of code below is ifdef'd out, and is here for reference + * purposes only. It performs the "mathematically right thing" for + * computing a bisecting plane, but is, unfortunately, subject ot noise + * in the presence of near degenerate points. Since computer graphics, + * due to sloppy coding, laziness, or correctness, is filled with + * degenerate points, we can't really use this version. The code above + * is far more appropriate for graphics. + */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define BISECTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 == 0.0) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + } \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + if (len32 == 0.0) { \ + /* return a normalized copy of v21 as bisector */ \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot == 1.0) || (vdot == -1.0)) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} +#endif + +/* ========================================================== */ +/* + * This macro computes the plane perpendicular to the the plane + * defined by three points, and whose normal vector is givven as the + * difference between the two vectors ... + * + * (See way below for the "math" model if you want to understand this. + * The comments about relative errors above apply here.) + */ + +#define CUTTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double lendiff; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as cut-vector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as cut vector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_LENGTH (lendiff, n); \ + \ + /* if the perp vector is very small, then the two \ + * vectors are darn near collinear, and the cut \ + * vector is probably poorly defined. */ \ + if (lendiff < DEGENERATE_TOLERANCE) { \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + lendiff = 1.0 / lendiff; \ + VEC_SCALE (n, lendiff, n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define CUTTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_NORMALIZE (v21); \ + VEC_NORMALIZE (v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_NORMALIZE (n); \ +} +#endif + + +/* ============================================================ */ +/* This macro is used in several places to cycle through a series of + * points to find the next non-degenerate point in a series */ + +#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ +{ \ + gleDouble slen; \ + gleDouble summa[3]; \ + \ + do { \ + /* get distance to next point */ \ + VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (len, diff); \ + VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (slen, summa); \ + slen *= DEGENERATE_TOLERANCE; \ + inext ++; \ + } while ((len <= slen) && (inext < npoints-1)); \ +} + +/* ========================================================== */ + +extern int bisecting_plane (gleDouble n[3], /* returned */ + gleDouble v1[3], /* input */ + gleDouble v2[3], /* input */ + gleDouble v3[3]); /* input */ + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/port.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/port.h new file mode 100644 index 0000000..2827bbf --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/port.h @@ -0,0 +1,298 @@ + +/* + * port.h + * + * FUNCTION: + * This file contains defines for porting the tubing toolkit from GL to + * OpenGL to some callback scheme. + * + * HISTORY: + * Created by Linas Vepstas -- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + */ + +#ifndef __GLE_PORT_H__ +#define __GLE_PORT_H__ + + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ====================================================== */ +/* Some compilers can't handle multiply-subscripted array's */ + +#ifdef FUNKY_C +typedef gleDouble gleVector; +#define AVAL(arr,n,i,j) arr(6*n+3*i+j) +#define VVAL(arr,n,i) arr(3*n+i) + +#else /* FUNKY_C */ +typedef double gleVector[3]; +typedef double glePoint[2]; +#define AVAL(arr,n,i,j) arr[n][i][j] +#define VVAL(arr,n,i) arr[n][i]; + +#endif /* FUNKY_C */ + +/* ====================================================== */ +/* These are used to convey info about topography to the + * texture mapping routines */ + +#define FRONT 1 +#define BACK 2 +#define FRONT_CAP 3 +#define BACK_CAP 4 +#define FILLET 5 + +/* ====================================================== */ + +#define __GLE_DOUBLE + +/* ====================================================== */ + +#ifdef __GLE_DOUBLE +#ifndef gleDouble + #define gleDouble double +#endif +#define urot_axis(a,b,c) urot_axis_d(a,b,c) +#define uview_direction(a,b,c) uview_direction_d(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_D(m) +#define LOADMATRIX(m) LOADMATRIX_D(m) +#define V3F(x,j,id) V3F_D(x,j,id) +#define N3F(x) N3F_D(x) +#define T2F(x,y) T2F_D(x,y) +#else +#define gleDouble float +#define urot_axis(a,b,c) urot_axis_f(a,b,c) +#define uview_direction(a,b,c) uview_direction_f(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_F(m) +#define LOADMATRIX(m) LOADMATRIX_F(m) +#define V3F(x,j,id) V3F_F(x,j,id) +#define N3F(x) N3F_F(x) +#define T2F(x,y) T2F_F(x,y) +#endif + +/* ====================================================== */ + +#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) +#undef GL_32 +#undef OPENGL_10 + +#define BGNTMESH(i,len) printf ("bgntmesh() \n"); +#define ENDTMESH() printf ("endtmesh() \n"); +#define BGNPOLYGON() printf ("bgnpolygon() \n"); +#define ENDPOLYGON() printf ("endpolygon() \n"); +#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); + +#define POPMATRIX() printf ("popmatrix () \n"); +#define PUSHMATRIX() printf ("pushmatrix() \n"); +#define MULTMATRIX_F(x) MULTMATRIX_D(x) +#define LOADMATRIX_F(x) LOADMATRIX_D(x) + + +#define LOADMATRIX_D(x) { \ + int i, j; \ + printf ("loadmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + printf ("multmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define __IS_LIGHTING_ON (1) + +#endif + +/* ====================================================== */ + +#ifdef GL_32 + +#include + +#define BGNTMESH(i,len) bgntmesh() +#define ENDTMESH() endtmesh() +#define BGNPOLYGON() bgnpolygon() +#define ENDPOLYGON() endpolygon() +#define V3F_F(x,j,id) v3f(x) +#define V3F_D(x,j,id) v3d(x) +#define N3F_F(x) n3f(x) +#define T2F_F(x,y) +#define T2F_D(x,y) +#define C3F(x) c3f(x) + +#define POPMATRIX() popmatrix () +#define PUSHMATRIX() pushmatrix() +#define MULTMATRIX_F(x) multmatrix (x) +#define LOADMATRIX_F(x) loadmatrix (x) + +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = (float) x[0]; \ + nnn[1] = (float) x[1]; \ + nnn[2] = (float) x[2]; \ + n3f (nnn); \ +} + +#define LOADMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + loadmatrix(mmm); \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + multmatrix(mmm); \ +} + +/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ +#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) + +#endif /* GL_32 */ + +/* ====================================================== */ +#ifdef OPENGL_10 + +#if defined(_WIN32) +#include +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#endif +#include +#include + +/* +#define N3F_F(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +*/ + +#define C3F(x) glColor3fv(x) +#define T2F_F(x,y) glTexCoord2f(x,y) +#define T2F_D(x,y) glTexCoord2d(x,y) + +#define POPMATRIX() glPopMatrix() +#define PUSHMATRIX() glPushMatrix() + +#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) +#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) + +#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) +#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) + +#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) + +/* ====================================================== */ +#ifdef AUTO_TEXTURE + +#define BGNTMESH(i,len) { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ + glBegin (GL_TRIANGLE_STRIP); \ +} + +#define BGNPOLYGON() { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ + glBegin (GL_POLYGON); \ +} + +#define N3F_F(x) { \ + if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ + glNormal3fv(x); \ +} + +#define N3F_D(x) { \ + if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ + glNormal3dv(x); \ +} + +#define V3F_F(x,j,id) { \ + if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ + glVertex3fv(x); \ +} + +#define V3F_D(x,j,id) { \ + if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ + glVertex3dv(x); \ +} + +#define ENDTMESH() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +#define ENDPOLYGON() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +/* ====================================================== */ +#else /* AUTO_TEXTURE */ + +#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); +#define BGNPOLYGON() glBegin (GL_POLYGON); + +#define N3F_F(x) glNormal3fv(x) +#define N3F_D(x) glNormal3dv(x) +#define V3F_F(x,j,id) glVertex3fv(x); +#define V3F_D(x,j,id) glVertex3dv(x); + +#define ENDTMESH() glEnd () +#define ENDPOLYGON() glEnd() + +#endif /* AUTO_TEXTURE */ + +#endif /* OPENGL_10 */ + +/* ====================================================== */ + + +#endif /* __GLE_PORT_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/rot.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/rot.h new file mode 100644 index 0000000..91083e9 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/rot.h @@ -0,0 +1,98 @@ + +/* + * rot.h + * + * FUNCTION: + * rotation matrix utilities + * + * HISTORY: + * Linas Vepstas Aug 1990 + */ + +/* ========================================================== */ +/* + * The MACROS below generate and return more traditional rotation + * matrices -- matrices for rotations about principal axes. + */ +/* ========================================================== */ + +#define ROTX_CS(m,cosine,sine) \ +{ \ + /* rotation about the x-axis */ \ + \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = (cosine); \ + m[1][2] = (sine); \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = -(sine); \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTY_CS(m,cosine,sine) \ +{ \ + /* rotation about the y-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = 0.0; \ + m[0][2] = -(sine); \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = (sine); \ + m[2][1] = 0.0; \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTZ_CS(m,cosine,sine) \ +{ \ + /* rotation about the z-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = (sine); \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = -(sine); \ + m[1][1] = (cosine); \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/segment.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/segment.h new file mode 100644 index 0000000..8d1cf04 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/segment.h @@ -0,0 +1,98 @@ + +/* + * MODULE: segment.h + * + * FUNCTION: + * Contains function prototypes for segment drawing subroutines. + * These are used only internally, and are not to be exported to + * the user. + * + * HISTORY: + * Create by Linas Vepstas + * Added tube.h include to define gleDouble, tad February 2002 + */ + +/* ============================================================ */ + +#include "tube.h" + +extern void draw_segment_plain (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + int inext, double len); + +extern void draw_segment_color (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_edge_n (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_edge_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +/* ============================================================ */ + +extern void draw_binorm_segment_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_binorm_segment_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ + gleDouble bi[3], /* biscetor */ + gleDouble point_array[][3]); /* polyline */ + +/* -------------------------- end of file -------------------------------- */ + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube.h new file mode 100644 index 0000000..c303e19 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube.h @@ -0,0 +1,203 @@ +/* + * tube.h + * + * FUNCTION: + * Tubing and Extrusion header file. + * This file provides protypes and defines for the extrusion + * and tubing primitives. + * + * HISTORY: + * Linas Vepstas 1990, 1991 + */ + +#ifndef __TUBE_H__ +#define __TUBE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLE API revision history: + + GLE_API_VERSION is updated to reflect GLE API changes (interface + changes, semantic changes, deletions, or additions). + + GLE_API_VERSION=228 GLUT 3.7 release of GLE. +**/ +#ifndef GLE_API_VERSION /* allow this to be overriden */ +#define GLE_API_VERSION 228 +#endif + +/* some types */ +#ifndef gleDouble + #define gleDouble double +#endif +typedef gleDouble gleAffine[2][3]; + +/* ====================================================== */ + +/* defines for tubing join styles */ +#define TUBE_JN_RAW 0x1 +#define TUBE_JN_ANGLE 0x2 +#define TUBE_JN_CUT 0x3 +#define TUBE_JN_ROUND 0x4 +#define TUBE_JN_MASK 0xf /* mask bits */ +#define TUBE_JN_CAP 0x10 + +/* determine how normal vectors are to be handled */ +#define TUBE_NORM_FACET 0x100 +#define TUBE_NORM_EDGE 0x200 +#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ +#define TUBE_NORM_MASK 0xf00 /* mask bits */ + +/* closed or open countours */ +#define TUBE_CONTOUR_CLOSED 0x1000 + +#define GLE_TEXTURE_ENABLE 0x10000 +#define GLE_TEXTURE_STYLE_MASK 0xff +#define GLE_TEXTURE_VERTEX_FLAT 1 +#define GLE_TEXTURE_NORMAL_FLAT 2 +#define GLE_TEXTURE_VERTEX_CYL 3 +#define GLE_TEXTURE_NORMAL_CYL 4 +#define GLE_TEXTURE_VERTEX_SPH 5 +#define GLE_TEXTURE_NORMAL_SPH 6 +#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 +#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 +#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 +#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 +#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 +#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 + +#ifdef GL_32 +/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ +#define TUBE_LIGHTING_ON 0x80000000 + +#define gleExtrusion extrusion +#define gleSetJoinStyle setjoinstyle +#define gleGetJoinStyle getjoinstyle +#define glePolyCone polycone +#define glePolyCylinder polycylinder +#define gleSuperExtrusion super_extrusion +#define gleTwistExtrusion twist_extrusion +#define gleSpiral spiral +#define gleLathe lathe +#define gleHelicoid helicoid +#define gleToroid toroid +#define gleScrew screw + +#endif /* GL_32 */ + +extern int gleGetJoinStyle (void); +extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ +extern int gleGetNumSlices(void); +extern void gleSetNumSlices(int slices); + +/* draw polyclinder, specified as a polyline */ +extern void glePolyCylinder (int npoints, /* num points in polyline */ + gleDouble point_array[][3], /* polyline vertces */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius); /* radius of polycylinder */ + +/* draw polycone, specified as a polyline with radii */ +extern void glePolyCone (int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius_array[]); /* cone radii at polyline verts */ + +/* extrude arbitrary 2D contour along arbitrary 3D path */ +extern void gleExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3]); /* colors at polyline verts */ + +/* extrude 2D contour, specifying local rotations (twists) */ +extern void gleTwistExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble twist_array[]); /* countour twists (in degrees) */ + +/* extrude 2D contour, specifying local affine tranformations */ +extern void gleSuperExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* spiral moves contour along helical path by parallel transport */ +extern void gleSpiral (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* lathe moves contour along helical path by helically shearing 3D space */ +extern void gleLathe (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to spiral, except contour is a circle */ +extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to lathe, except contour is a circle */ +extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* draws a screw shape */ +extern void gleScrew (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startz, /* start of segment */ + gleDouble endz, /* end of segment */ + gleDouble twist); /* number of rotations */ + +extern void gleTextureMode (int mode); + +#ifdef __cplusplus +} + +#endif +#endif /* __TUBE_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h new file mode 100644 index 0000000..ccd2853 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h @@ -0,0 +1,78 @@ + +/* + * tube_gc.h + * + * FUNCTION: + * This file allows for easy changes to changes in the way the extrusion + * library handles state info (i.e. context). + * + * HISTORY: + * Linas Vepstas --- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + * Added tube.h include to define gleDouble, tad February 2002 + */ + +#include "tube.h" +#include "port.h" /* for gleVector */ + +typedef float gleColor[3]; +typedef double gleTwoVec[2]; + +typedef struct { + + /* public methods */ + void (*bgn_gen_texture) (int, double); + void (*n3f_gen_texture) (float *); + void (*n3d_gen_texture) (double *); + void (*v3f_gen_texture) (float *, int, int); + void (*v3d_gen_texture) (double *, int, int); + void (*end_gen_texture) (void); + + /* protected members -- "general knowledge" stuff */ + int join_style; + + /* arguments passed into extrusion code */ + int ncp; /* number of contour points */ + gleTwoVec *contour; /* 2D contour */ + gleTwoVec *cont_normal; /* 2D contour normals */ + gleDouble *up; /* up vector */ + int npoints; /* number of points in polyline */ + gleVector *point_array; /* path */ + gleColor *color_array; /* path colors */ + gleAffine *xform_array; /* contour xforms */ + + /* private members, used by texturing code */ + int num_vert; + int segment_number; + double segment_length; + double accum_seg_len; + double prev_x; + double prev_y; + + void (*save_bgn_gen_texture) (int, double); + void (*save_n3f_gen_texture) (float *); + void (*save_n3d_gen_texture) (double *); + void (*save_v3f_gen_texture) (float *, int, int); + void (*save_v3d_gen_texture) (double *, int, int); + void (*save_end_gen_texture) (void); + +} gleGC; + +extern gleGC *_gle_gc; +extern gleGC * gleCreateGC (void); + +#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } +#define extrusion_join_style (_gle_gc->join_style) + +#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) +#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) +#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) +#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) + +#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) +#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) +#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) +#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) +#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) + +/* ======================= END OF FILE ========================== */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h new file mode 100644 index 0000000..b58dcd6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h @@ -0,0 +1,1339 @@ + +/* + * vvector.h + * + * FUNCTION: + * This file contains a number of utilities useful for handling + * 3D vectors + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Added 2D code, March 1993 + * Added Outer products, C++ proofed, Linas Vepstas October 1993 + */ + +#ifndef __GUTIL_VECTOR_H__ +#define __GUTIL_VECTOR_H__ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + + +#include +#include "port.h" + +/* ========================================================== */ +/* Zero out a 2D vector */ + +#define VEC_ZERO_2(a) \ +{ \ + (a)[0] = (a)[1] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 3D vector */ + +#define VEC_ZERO(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 4D vector */ + +#define VEC_ZERO_4(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ +} + +/* ========================================================== */ +/* Vector copy */ + +#define VEC_COPY_2(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ +} + +/* ========================================================== */ +/* Copy 3D vector */ + +#define VEC_COPY(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ +} + +/* ========================================================== */ +/* Copy 4D vector */ + +#define VEC_COPY_4(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ + (b)[3] = (a)[3]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ + (v21)[3] = (v2)[3] - (v1)[3]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ + (v21)[3] = (v2)[3] + (v1)[3]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_2(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_4(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ + (c)[3] = (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_2(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_4(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ + (c)[3] += (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_2(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_4(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ +} + +/* ========================================================== */ +/* vector impact parameter (squared) */ + +#define VEC_IMPACT_SQ(bsq,direction,position) \ +{ \ + gleDouble vlen, llel; \ + VEC_DOT_PRODUCT (vlen, position, position); \ + VEC_DOT_PRODUCT (llel, direction, position); \ + bsq = vlen - llel*llel; \ +} + +/* ========================================================== */ +/* vector impact parameter */ + +#define VEC_IMPACT(bsq,direction,position) \ +{ \ + VEC_IMPACT_SQ(bsq,direction,position); \ + bsq = sqrt (bsq); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_2(vlen,a) \ +{ \ + vlen = a[0]*a[0] + a[1]*a[1]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_4(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen += (a)[3] * (a)[3]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* distance between two points */ + +#define VEC_DISTANCE(vlen,va,vb) \ +{ \ + gleDouble tmp[4]; \ + VEC_DIFF (tmp, vb, va); \ + VEC_LENGTH (vlen, tmp); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_CONJUGATE_LENGTH(vlen,a) \ +{ \ + vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_NORMALIZE(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = 1.0 / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_RENORMALIZE(a,newlen) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = newlen / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* 3D Vector cross product yeilding vector */ + +#define VEC_CROSS_PRODUCT(c,a,b) \ +{ \ + c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ + c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ + c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ +} + +/* ========================================================== */ +/* Vector perp -- assumes that n is of unit length + * accepts vector v, subtracts out any component parallel to n */ + +#define VEC_PERP(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (v)[0] - (vdot) * (n)[0]; \ + vp[1] = (v)[1] - (vdot) * (n)[1]; \ + vp[2] = (v)[2] - (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector parallel -- assumes that n is of unit length + * accepts vector v, subtracts out any component perpendicular to n */ + +#define VEC_PARALLEL(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (vdot) * (n)[0]; \ + vp[1] = (vdot) * (n)[1]; \ + vp[2] = (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector reflection -- assumes n is of unit length */ +/* Takes vector v, reflects it against reflector n, and returns vr */ + +#define VEC_REFLECT(vr,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ + vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ + vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector blending */ +/* Takes two vectors a, b, blends them together */ + +#define VEC_BLEND(vr,sa,a,sb,b) \ +{ \ + \ + vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ + vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ + vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_2(a) \ +{ \ + double vlen; \ + VEC_LENGTH_2 (vlen, a); \ + printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen, (a)); \ + printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_4(a) \ +{ \ + double vlen; \ + VEC_LENGTH_4 (vlen, (a)); \ + printf (" a is %f %f %f %f length of a is %f \n", \ + (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_4X4(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_3X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<3; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_2X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<2; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_3X3(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_4X4(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + b[0][3] = a[0][3]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + b[1][3] = a[1][3]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[2][3]; \ + \ + b[3][0] = a[3][0]; \ + b[3][1] = a[3][1]; \ + b[3][2] = a[3][2]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + b[0][3] = a[3][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + b[1][3] = a[3][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[3][2]; \ + \ + b[3][0] = a[0][3]; \ + b[3][1] = a[1][3]; \ + b[3][2] = a[2][3]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + b[0][3] = (s) * a[0][3]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + b[1][3] = (s) * a[1][3]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ + b[2][3] = (s) * a[2][3]; \ + \ + b[3][0] = s * a[3][0]; \ + b[3][1] = s * a[3][1]; \ + b[3][2] = s * a[3][2]; \ + b[3][3] = s * a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + b[0][3] += (s) * a[0][3]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + b[1][3] += (s) * a[1][3]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ + b[2][3] += (s) * a[2][3]; \ + \ + b[3][0] += (s) * a[3][0]; \ + b[3][1] += (s) * a[3][1]; \ + b[3][2] += (s) * a[3][2]; \ + b[3][3] += (s) * a[3][3]; \ +} + +/* +========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_2X2(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_3X3(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_4X4(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ + c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ + c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ + c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ + \ + c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ + c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ + c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ + c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_3X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_4X4(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ + p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ +} + +/* ========================================================== */ +/* vector transpose times matrix */ +/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ + +#define VEC_DOT_MAT_3X3(p,v,m) \ +{ \ + p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ + p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ + p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ +} + +/* ========================================================== */ +/* affine matrix times vector */ +/* The matrix is assumed to be an affine matrix, with last two + * entries representing a translation */ + +#define MAT_DOT_VEC_2X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ +} + +/* ========================================================== */ +/* inverse transpose of matrix times vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * + * DANGER !!! Do Not use this on normal vectors!!! + * It will leave normals the wrong length !!! + * See macro below for use on normals. + */ + +#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + gleDouble det; \ + \ + det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + /* if matrix not singular, and not orthonormal, then renormalize */ \ + if ((det!=1.0) && (det != 0.0)) { \ + det = 1.0 / det; \ + p[0] *= det; \ + p[1] *= det; \ + } \ +} + +/* ========================================================== */ +/* transform normal vector by inverse transpose of matrix + * and then renormalize the vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * Vector p is then normalized. + */ + + +#define NORM_XFORM_2X2(p,m,v) \ +{ \ + double mlen; \ + \ + /* do nothing if off-diagonals are zero and diagonals are \ + * equal */ \ + if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + mlen = p[0]*p[0] + p[1]*p[1]; \ + mlen = 1.0 / sqrt (mlen); \ + p[0] *= mlen; \ + p[1] *= mlen; \ + } else { \ + VEC_COPY_2 (p, v); \ + } \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + m[0][3] = v[0] * t[3]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + m[1][3] = v[1] * t[3]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ + m[2][3] = v[2] * t[3]; \ + \ + m[3][0] = v[3] * t[0]; \ + m[3][1] = v[3] * t[1]; \ + m[3][2] = v[3] * t[2]; \ + m[3][3] = v[3] * t[3]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + m[0][3] += v[0] * t[3]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + m[1][3] += v[1] * t[3]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ + m[2][3] += v[2] * t[3]; \ + \ + m[3][0] += v[3] * t[0]; \ + m[3][1] += v[3] * t[1]; \ + m[3][2] += v[3] * t[2]; \ + m[3][3] += v[3] * t[3]; \ +} + +/* +========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_2X2(d,m) \ +{ \ + d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ +} + +/* ========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_3X3(d,m) \ +{ \ + d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ + d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ + d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ +} + +/* ========================================================== */ +/* i,j,th cofactor of a 4x4 matrix + * + */ + +#define COFACTOR_4X4_IJ(fac,m,i,j) \ +{ \ + int ii[4], jj[4], k; \ + \ + /* compute which row, columnt to skip */ \ + for (k=0; k + + + + IBDocumentLocation + 4 104 410 240 0 0 1152 848 + IBEditorPositions + + 29 + 19 615 246 44 0 0 1152 848 + + IBFramework Version + 291.0 + IBGroupedObjects + + IBLastGroupID + 1 + IBOpenObjects + + 29 + + IBSystem Version + 6I32 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib new file mode 100644 index 0000000..8a7140e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib new file mode 100644 index 0000000..7e85eb1 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib @@ -0,0 +1,13 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {toggleWindow = id; }; + CLASS = GLUTClipboardController; + LANGUAGE = ObjC; + OUTLETS = {_infoText = id; _scrollView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib new file mode 100644 index 0000000..867735d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib @@ -0,0 +1,12 @@ + + + + + IBDocumentLocation + 63 221 356 240 0 0 1600 1178 + IBFramework Version + 263.2 + IBSystem Version + 5S41 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib new file mode 100644 index 0000000..29125d4 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib new file mode 100644 index 0000000..c675963 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib @@ -0,0 +1,73 @@ +{ + IBClasses = ( + { + ACTIONS = {save = id; saveAs = id; }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + ACTIONS = { + cancel = id; + joyAssign = id; + joyDevice = id; + joyElement = id; + joyInvert = id; + launchDebugMode = id; + launchGamemodeCaptureSingle = id; + launchIconic = id; + launchUseCurrWD = id; + launchUseExtDesktop = id; + launchUseMacOSCoords = id; + mouseEanbleEmulation = id; + mouseMiddleMenu = id; + mouseRightMenu = id; + ok = id; + spaceAssign = id; + spaceDevice = id; + spaceElement = id; + spaceInvert = id; + }; + CLASS = GLUTPreferencesController; + LANGUAGE = ObjC; + OUTLETS = { + joyAssign = NSButton; + joyAssignNote = NSTextField; + joyAssignWarningIcon = NSImageView; + joyDeviceMenu = NSPopUpButton; + joyElement = NSTextField; + joyInputMenu = NSPopUpButton; + joyInverted = NSButton; + launchDebugMode = NSButton; + launchFadeTime = NSTextField; + launchGamemodeCaptureSingle = NSButton; + launchIconic = NSButton; + launchInitHeight = NSTextField; + launchInitWidth = NSTextField; + launchInitX = NSTextField; + launchInitY = NSTextField; + launchMenuIdle = NSTextField; + launchSyncToVBL = NSButton; + launchUseCurrWD = NSButton; + launchUseExtendedDesktop = NSButton; + launchUseMacOSXCoords = NSButton; + mouseAssignWarningIcon = NSImageView; + mouseAssignWarningText = NSTextField; + mouseDetected = NSTextField; + mouseEmulation = NSButton; + mouseMiddleConfigMenu = NSPopUpButton; + mouseRightConfigMenu = NSPopUpButton; + prefsTabView = NSTabView; + spaceAssign = NSButton; + spaceAssignNote = NSTextField; + spaceAssignWarningIcon = NSImageView; + spaceDeviceMenu = NSPopUpButton; + spaceElement = NSTextField; + spaceInputMenu = NSPopUpButton; + spaceInverted = NSButton; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib new file mode 100644 index 0000000..216c8dc --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 16 329 410 240 0 0 1920 1178 + IBFramework Version + 439.0 + IBOpenObjects + + 205 + + IBSystem Version + 8G32 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib new file mode 100644 index 0000000..7598f2c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings new file mode 100644 index 0000000..6db3c5c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..6f78b89 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..e8fc9d6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GLUT + CFBundleGetInfoString + 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved + CFBundleIdentifier + com.apple.glut + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.4.0 + CFBundleSignature + ???? + CFBundleVersion + GLUT-3.4.0 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff new file mode 100644 index 0000000..a2b0cf1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff new file mode 100644 index 0000000..c3f4795 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff new file mode 100644 index 0000000..274529f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff new file mode 100644 index 0000000..dec4252 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff new file mode 100644 index 0000000..8536c0e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff new file mode 100644 index 0000000..34b52f6 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff new file mode 100644 index 0000000..9e3a1cb Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff new file mode 100644 index 0000000..0087c66 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff new file mode 100644 index 0000000..fc4a88a Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff new file mode 100644 index 0000000..852b69b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff new file mode 100644 index 0000000..37fe393 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff new file mode 100644 index 0000000..d852616 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff new file mode 100644 index 0000000..9781f22 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff new file mode 100644 index 0000000..9bec966 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff new file mode 100644 index 0000000..e4df0de Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff new file mode 100644 index 0000000..43cf97f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff new file mode 100644 index 0000000..429b01b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff new file mode 100644 index 0000000..1605063 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff new file mode 100644 index 0000000..81ba1aa Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/GLUT b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/GLUT new file mode 100644 index 0000000..babc6b1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/GLUT differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h new file mode 100644 index 0000000..a5116e2 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h @@ -0,0 +1,18 @@ + +/* + * + * Written By Linas Vepstas November 1991 + */ + + +#define COPY_THREE_WORDS(A,B) { \ + struct three_words { int a, b, c, }; \ + *(struct three_words *) (A) = *(struct three_words *) (B); \ +} + +#define COPY_FOUR_WORDS(A,B) { \ + struct four_words { int a, b, c, d, }; \ + *(struct four_words *) (A) = *(struct four_words *) (B); \ +} + +/* ============================================================= */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h new file mode 100644 index 0000000..658699e --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h @@ -0,0 +1,96 @@ + +/* + * extrude.h + * + * FUNCTION: + * prototypes for privately used subroutines for the tubing library + * + * HISTORY: + * Linas Vepstas 1991 + */ + +#include "port.h" /* for gleDouble */ + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ============================================================ */ +/* + * Provides choice of calling subroutine, vs. invoking macro. + * Basically, inlines the source, or not. + * Trades performance for executable size. + */ + +#define INLINE_INTERSECT +#ifdef INLINE_INTERSECT +#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } +#else +#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) +#endif /* INLINE_INTERSECT */ + +/* ============================================================ */ +/* The folowing defines give a kludgy way of accessing the qmesh primitive */ + +/* +#define bgntmesh _emu_qmesh_bgnqmesh +#define endtmesh _emu_qmesh_endqmesh +#define c3f _emu_qmesh_c3f +#define n3f _emu_qmesh_n3f +#define v3f _emu_qmesh_v3f +*/ + +/* ============================================================ */ + +extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3]); /* polyline */ + + +extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble zval, /* where to draw cap */ + int frontwards); /* front or back cap */ + +extern void draw_round_style_cap_callback (int iloop, + double cap[][3], + float face_color[3], + gleDouble cut_vector[3], + gleDouble bisect_vector[3], + double norms[][3], + int frontwards); + +extern void draw_angle_style_front_cap (int ncp, + gleDouble bi[3], + gleDouble point_array[][3]); + +extern void extrusion_raw_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_angle_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* -------------------------- end of file -------------------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h new file mode 100644 index 0000000..baf54a7 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h @@ -0,0 +1,137 @@ +#ifndef __glsmap_h__ +#define __glsmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* Try hard to avoid including to avoid name space pollution, + but Win32's needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef CALLBACK + /* XXX This is from Win32's */ +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif /* _WIN32 */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + SMAP_CLEAR_SMAP_TEXTURE = 0x1, + SMAP_GENERATE_VIEW_MIPMAPS = 0x2, + SMAP_GENERATE_SMAP_MIPMAPS = 0x4, + SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ +} SphereMapFlags; + +/* Cube view enumerants. */ +enum { + SMAP_FRONT = 0, + SMAP_TOP = 1, + SMAP_BOTTOM = 2, + SMAP_LEFT = 3, + SMAP_RIGHT = 4, + SMAP_BACK = 5 +}; + +typedef struct _SphereMap SphereMap; + +extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); +extern void smapDestroySphereMap(SphereMap *smap); + +extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); + +extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); +extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); + +extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); +extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); + +extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); +extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); + +extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); +extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); +extern void smapSetUpVector(SphereMap *smap, GLfloat *up); +extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); +extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); +extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); +extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); +extern void smapGetUpVector(SphereMap *smap, GLfloat *up); +extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); +extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); + +extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); +extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); + +extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); +extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); +extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); +extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); + +extern void smapSetContextData(SphereMap *smap, void *context); +extern void smapGetContextData(SphereMap *smap, void **context); + +extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); +extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); +extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); +extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); + +extern void smapGenViewTex(SphereMap *smap, int view); +extern void smapGenViewTexs(SphereMap *smap); +extern void smapGenSphereMapFromViewTexs(SphereMap *smap); +extern void smapGenSphereMap(SphereMap *smap); +extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); + +extern int smapRvecToSt(float rvec[3], float st[2]); +extern void smapStToRvec(float *st, float *rvec); + +#ifdef __cplusplus +} + +#endif +#endif /* __glsmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h new file mode 100644 index 0000000..3620e7d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h @@ -0,0 +1,102 @@ +#ifndef __glsmapint_h__ +#define __glsmapint_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glsmap.h" + +enum { X = 0, Y = 1, Z = 2 }; + +#define INITFACE(mesh) \ + int steps = mesh->steps; \ + int sqsteps = mesh->steps * mesh->steps + +#define FACE(side,y,x) \ + mesh->face[(side)*sqsteps + (y)*steps + (x)] + +#define FACExy(side,i,j) \ + (&FACE(side,i,j).x) + +#define FACEst(side,i,j) \ + (&FACE(side,i,j).s) + +#define INITBACK(mesh) \ + int allrings = mesh->rings + mesh->edgeExtend; \ + int ringedspokes = allrings * mesh->steps + +#define BACK(edge,ring,spoke) \ + mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] + +#define BACKxy(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).x) + +#define BACKst(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).s) + +typedef struct _STXY { + GLfloat s, t; + GLfloat x, y; +} STXY; + +typedef struct _SphereMapMesh { + + int refcnt; + + int steps; + int rings; + int edgeExtend; + + STXY *face; + STXY *back; + +} SphereMapMesh; + +struct _SphereMap { + + /* Shared sphere map mesh vertex data. */ + SphereMapMesh *mesh; + + /* Texture object ids. */ + GLuint smapTexObj; + GLuint viewTexObjs[6]; + GLuint viewTexObj; + + /* Flags */ + SphereMapFlags flags; + + /* Texture dimensions must be a power of two. */ + int viewTexDim; /* view texture dimension */ + int smapTexDim; /* sphere map texture dimension */ + + /* Viewport origins for view and sphere map rendering. */ + int viewOrigin[2]; + int smapOrigin[2]; + + /* Viewing vectors. */ + GLfloat eye[3]; + GLfloat up[3]; + GLfloat obj[3]; + + /* Projection parameters. */ + GLfloat viewNear; + GLfloat viewFar; + + /* Rendering callbacks. */ + void (*positionLights)(int view, void *context); + void (*drawView)(int view, void *context); + + /* Application specified callback data. */ + void *context; + +}; + +/* Library internal routines. */ +extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); +extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); +extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); + +#endif /* __glsmapint_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h new file mode 100644 index 0000000..cbc6ebe --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h @@ -0,0 +1,648 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ +//#define GLUT_OF_007_HACK + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including + to avoid name space pollution, but Win32's + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ +#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif + +#if defined(__APPLE__) || defined(MACOSX) +#include +#include +#include +#else +#include +#include +#endif + +/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ +#if !defined(_WIN32) +#define APIENTRY +#define GLUT_APIENTRY_DEFINED +#define CALLBACK +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). + + GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 5 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/** + MacOS X GLUT implementation revision history: + + GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X + specific GLUT API revisions and implementation revisions + (ie, bug fixes). + + GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. + + GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. + +**/ +#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_MACOSX_IMPLEMENTATION 2 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif +#define GLUT_NO_RECOVERY 1024 + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +/* Layers for use. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +extern void *glutStrokeRoman; +extern void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +extern void *glutBitmap9By15; +extern void *glutBitmap8By13; +extern void *glutBitmapTimesRoman10; +extern void *glutBitmapTimesRoman24; +extern void *glutBitmapHelvetica10; +extern void *glutBitmapHelvetica12; +extern void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X 100 +#define GLUT_WINDOW_Y 101 +#define GLUT_WINDOW_WIDTH 102 +#define GLUT_WINDOW_HEIGHT 103 +#define GLUT_WINDOW_BUFFER_SIZE 104 +#define GLUT_WINDOW_STENCIL_SIZE 105 +#define GLUT_WINDOW_DEPTH_SIZE 106 +#define GLUT_WINDOW_RED_SIZE 107 +#define GLUT_WINDOW_GREEN_SIZE 108 +#define GLUT_WINDOW_BLUE_SIZE 109 +#define GLUT_WINDOW_ALPHA_SIZE 110 +#define GLUT_WINDOW_ACCUM_RED_SIZE 111 +#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 +#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 +#define GLUT_WINDOW_DOUBLEBUFFER 115 +#define GLUT_WINDOW_RGBA 116 +#define GLUT_WINDOW_PARENT 117 +#define GLUT_WINDOW_NUM_CHILDREN 118 +#define GLUT_WINDOW_COLORMAP_SIZE 119 +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES 120 +#define GLUT_WINDOW_STEREO 121 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR 122 +#endif +#define GLUT_SCREEN_WIDTH 200 +#define GLUT_SCREEN_HEIGHT 201 +#define GLUT_SCREEN_WIDTH_MM 202 +#define GLUT_SCREEN_HEIGHT_MM 203 +#define GLUT_MENU_NUM_ITEMS 300 +#define GLUT_DISPLAY_MODE_POSSIBLE 400 +#define GLUT_INIT_WINDOW_X 500 +#define GLUT_INIT_WINDOW_Y 501 +#define GLUT_INIT_WINDOW_WIDTH 502 +#define GLUT_INIT_WINDOW_HEIGHT 503 +#define GLUT_INIT_DISPLAY_MODE 504 +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME 700 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID 123 +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD 600 +#define GLUT_HAS_MOUSE 601 +#define GLUT_HAS_SPACEBALL 602 +#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 +#define GLUT_HAS_TABLET 604 +#define GLUT_NUM_MOUSE_BUTTONS 605 +#define GLUT_NUM_SPACEBALL_BUTTONS 606 +#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 +#define GLUT_NUM_DIALS 608 +#define GLUT_NUM_TABLET_BUTTONS 609 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 +#define GLUT_DEVICE_KEY_REPEAT 611 +#define GLUT_HAS_JOYSTICK 612 +#define GLUT_OWNS_JOYSTICK 613 +#define GLUT_JOYSTICK_BUTTONS 614 +#define GLUT_JOYSTICK_AXES 615 +#define GLUT_JOYSTICK_POLL_RATE 616 +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE 800 +#define GLUT_LAYER_IN_USE 801 +#define GLUT_HAS_OVERLAY 802 +#define GLUT_TRANSPARENT_INDEX 803 +#define GLUT_NORMAL_DAMAGED 804 +#define GLUT_OVERLAY_DAMAGED 805 + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE 900 +#define GLUT_VIDEO_RESIZE_IN_USE 901 +#define GLUT_VIDEO_RESIZE_X_DELTA 902 +#define GLUT_VIDEO_RESIZE_Y_DELTA 903 +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 +#define GLUT_VIDEO_RESIZE_X 906 +#define GLUT_VIDEO_RESIZE_Y 907 +#define GLUT_VIDEO_RESIZE_WIDTH 908 +#define GLUT_VIDEO_RESIZE_HEIGHT 909 +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +extern void APIENTRY glutInit(int *argcp, char **argv); +extern void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutInitDisplayString(const char *string); +#endif +extern void APIENTRY glutInitWindowPosition(int x, int y); +extern void APIENTRY glutInitWindowSize(int width, int height); +extern void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +extern int APIENTRY glutCreateWindow(const char *title); +extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +extern void APIENTRY glutDestroyWindow(int win); +extern void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowRedisplay(int win); +#endif +extern void APIENTRY glutSwapBuffers(void); +extern int APIENTRY glutGetWindow(void); +extern void APIENTRY glutSetWindow(int win); +extern void APIENTRY glutSetWindowTitle(const char *title); +extern void APIENTRY glutSetIconTitle(const char *title); +extern void APIENTRY glutPositionWindow(int x, int y); +extern void APIENTRY glutReshapeWindow(int width, int height); +extern void APIENTRY glutPopWindow(void); +extern void APIENTRY glutPushWindow(void); +extern void APIENTRY glutIconifyWindow(void); +extern void APIENTRY glutShowWindow(void); +extern void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutFullScreen(void); +extern void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWarpPointer(int x, int y); +#if (GLUT_MACOSX_IMPLEMENTATION >= 1) +/* surface texturing API Mac OS X specific +* Note: +* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object +*/ +#ifdef MAC_OS_X_VERSION_10_5 +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 +#else +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); +#endif +#endif +#if (GLUT_MACOSX_IMPLEMENTATION >= 2) +/* Mac OS X specific API */ +extern void APIENTRY glutWMCloseFunc(void (*func)(void)); +extern void APIENTRY glutCheckLoop(void); +#endif +#endif + +/* GLUT overlay sub-API. */ +extern void APIENTRY glutEstablishOverlay(void); +extern void APIENTRY glutRemoveOverlay(void); +extern void APIENTRY glutUseLayer(GLenum layer); +extern void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +extern void APIENTRY glutShowOverlay(void); +extern void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +extern int APIENTRY glutCreateMenu(void (*)(int)); +extern void APIENTRY glutDestroyMenu(int menu); +extern int APIENTRY glutGetMenu(void); +extern void APIENTRY glutSetMenu(int menu); +extern void APIENTRY glutAddMenuEntry(const char *label, int value); +extern void APIENTRY glutAddSubMenu(const char *label, int submenu); +extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +extern void APIENTRY glutRemoveMenuItem(int item); +extern void APIENTRY glutAttachMenu(int button); +extern void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +extern void APIENTRY glutDisplayFunc(void (*func)(void)); +extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); +extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); +extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutEntryFunc(void (*func)(int state)); +extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); +extern void APIENTRY glutIdleFunc(void (*func)(void)); +extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); +extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); +#if (GLUT_API_VERSION >= 2) +extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); +extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); +extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); +extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); +extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +//#ifdef GLUT_OF_007_HACK +extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); +//#endif +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +extern GLfloat APIENTRY glutGetColor(int ndx, int component); +extern void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +extern int APIENTRY glutGet(GLenum type); +extern int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +extern int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +extern int APIENTRY glutGetModifiers(void); +extern int APIENTRY glutLayerGet(GLenum type); +#endif +#if (GLUT_API_VERSION >= 5) +extern void * APIENTRY glutGetProcAddress(const char *procName); +#endif + +/* GLUT font sub-API */ +extern void APIENTRY glutBitmapCharacter(void *font, int character); +extern int APIENTRY glutBitmapWidth(void *font, int character); +extern void APIENTRY glutStrokeCharacter(void *font, int character); +extern int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutWireCube(GLdouble size); +extern void APIENTRY glutSolidCube(GLdouble size); +extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutWireDodecahedron(void); +extern void APIENTRY glutSolidDodecahedron(void); +extern void APIENTRY glutWireTeapot(GLdouble size); +extern void APIENTRY glutSolidTeapot(GLdouble size); +extern void APIENTRY glutWireOctahedron(void); +extern void APIENTRY glutSolidOctahedron(void); +extern void APIENTRY glutWireTetrahedron(void); +extern void APIENTRY glutSolidTetrahedron(void); +extern void APIENTRY glutWireIcosahedron(void); +extern void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +extern int APIENTRY glutVideoResizeGet(GLenum param); +extern void APIENTRY glutSetupVideoResizing(void); +extern void APIENTRY glutStopVideoResizing(void); +extern void APIENTRY glutVideoResize(int x, int y, int width, int height); +extern void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +extern void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +extern void APIENTRY glutIgnoreKeyRepeat(int ignore); +extern void APIENTRY glutSetKeyRepeat(int repeatMode); +extern void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE 0 +#define GLUT_GAME_MODE_POSSIBLE 1 +#define GLUT_GAME_MODE_WIDTH 2 +#define GLUT_GAME_MODE_HEIGHT 3 +#define GLUT_GAME_MODE_PIXEL_DEPTH 4 +#define GLUT_GAME_MODE_REFRESH_RATE 5 +#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 + +extern void APIENTRY glutGameModeString(const char *string); +extern int APIENTRY glutEnterGameMode(void); +extern void APIENTRY glutLeaveGameMode(void); +extern int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif /* __glut_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h new file mode 100644 index 0000000..e29a016 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h @@ -0,0 +1,30 @@ +#ifndef __glutbitmap_h__ +#define __glutbitmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glut.h" + +typedef struct { + const GLsizei width; + const GLsizei height; + const GLfloat xorig; + const GLfloat yorig; + const GLfloat advance; + const GLubyte *bitmap; +} BitmapCharRec, *BitmapCharPtr; + +typedef struct { + const char *name; + const int num_chars; + const int first; + const BitmapCharRec * const *ch; +} BitmapFontRec, *BitmapFontPtr; + +typedef void *GLUTbitmapFont; + +#endif /* __glutbitmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h new file mode 100644 index 0000000..f8a170b --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h @@ -0,0 +1,90 @@ +#ifndef __glutf90_h__ +#define __glutf90_h__ + +/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +/* This header provides the binding interface for William Mitchell's + f90gl Fortran 90 GLUT binding. Other GLUT language bindings + can and should use this interace. */ + +/* I appreciate the guidance from William Mitchell + (mitchell@cam.nist.gov) in developing this friend interface + for use by the f90gl package. See ../../README.fortran */ + +#include + +#ifndef GLUTCALLBACK + #define GLUTCALLBACK +#endif +#ifndef APIENTRY + #define APIENTRY +#endif + +/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ +/* NOTE These values are part of a binary interface for the f90gl Fortran + 90 binding and so must NOT changes (additions are allowed). */ + +/* GLUTwindow callbacks. */ +#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ +#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ +#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ +#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ +#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ +#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ +#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ +#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ +#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ +#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ +#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ +#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ +#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ +#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ +#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ +#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ +#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ +#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ +#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ +#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ +#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ +/* Non-GLUTwindow callbacks. */ +#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ +#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ +#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ + +/* GLUT Fortran callback function types. */ +typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); +typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); +typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); +/* NOTE the pressed key is int, not unsigned char for Fortran! */ +typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); +typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); +typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); +typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); + +typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); +typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); +typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ +typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTidleFCB) (void); + +/* Functions that set and return Fortran callback functions. */ +extern void* APIENTRY __glutGetFCB(int which); +extern void APIENTRY __glutSetFCB(int which, void *func); + +#endif /* __glutf90_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h new file mode 100644 index 0000000..cbc9e15 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h @@ -0,0 +1,42 @@ +#ifndef __glutstroke_h__ +#define __glutstroke_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +#endif + +typedef struct { + float x; + float y; +} CoordRec, *CoordPtr; + +typedef struct { + int num_coords; + const CoordRec *coord; +} StrokeRec, *StrokePtr; + +typedef struct { + int num_strokes; + const StrokeRec *stroke; + float center; + float right; +} StrokeCharRec, *StrokeCharPtr; + +typedef struct { + const char *name; + int num_chars; + const StrokeCharRec *ch; + float top; + float bottom; +} StrokeFontRec, *StrokeFontPtr; + +typedef void *GLUTstrokeFont; + +#endif /* __glutstroke_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h new file mode 100644 index 0000000..f7ffcf3 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h @@ -0,0 +1,89 @@ + +/* + * gutil.h + * + * FUNCTION: + * Provide utilities that allow rotation to occur + * around any axis. + * + * HISTORY: + * created by Linas Vepstas 1990 + * added single & double precision, June 1991, Linas Vepstas + */ + +#ifndef __GUTIL_H__ +#define __GUTIL_H__ + +#ifdef __GUTIL_DOUBLE +#define gutDouble double +#else +#define gutDouble float +#endif + + +#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (); +extern void rot_about_axis_f (); +extern void rot_omega_f (); +extern void urot_axis_f (); +extern void urot_about_axis_f (); +extern void urot_omega_f (); + +/* double-precision versions */ +extern void rot_axis_d (); +extern void rot_about_axis_d (); +extern void rot_omega_d (); +extern void urot_axis_d (); +extern void urot_about_axis_d (); +extern void urot_omega_d (); + +/* viewpoint functions */ +extern void uview_direction_d (); +extern void uview_direction_f (); +extern void uviewpoint_d (); +extern void uviewpoint_f (); + +#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (float omega, float axis[3]); +extern void rot_about_axis_f (float angle, float axis[3]); +extern void rot_omega_f (float axis[3]); +extern void urot_axis_f (float m[4][4], float omega, float axis[3]); +extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); +extern void urot_omega_f (float m[4][4], float axis[3]); + +/* double-precision versions */ +extern void rot_axis_d (double omega, double axis[3]); +extern void rot_about_axis_d (double angle, double axis[3]); +extern void rot_omega_d (double axis[3]); +extern void urot_axis_d (double m[4][4], double omega, double axis[3]); +extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); +extern void urot_omega_d (double m[4][4], double axis[3]); + +/* viewpoint functions */ +extern void uview_direction_d (double m[4][4], /* returned */ + double v21[3], /* input */ + double up[3]); /* input */ + +extern void uview_direction_f (float m[4][4], /* returned */ + float v21[3], /* input */ + float up[3]); /* input */ + +extern void uviewpoint_d (double m[4][4], /* returned */ + double v1[3], /* input */ + double v2[3], /* input */ + double up[3]); /* input */ + +extern void uviewpoint_f (float m[4][4], /* returned */ + float v1[3], /* input */ + float v2[3], /* input */ + float up[3]); /* input */ + +#endif /* _NO_PROTO */ + +#endif /* _GUTIL_H__ */ + +/* ------------------- end of file ---------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h new file mode 100644 index 0000000..f5ff7a5 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h @@ -0,0 +1,391 @@ +/* + * FUNCTION: + * This file contains a number of utilities useful to 3D graphics in + * general, and to the generation of tubing and extrusions in particular + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Updated to correctly handle degenerate cases, Linas, February 1993 + */ + +#include +#include "port.h" +#include "vvector.h" + +#define BACKWARDS_INTERSECT (2) + +/* ========================================================== */ +/* + * the Degenerate_Tolerance token represents the greatest amount by + * which different scales in a graphics environment can differ before + * they should be considered "degenerate". That is, when one vector is + * a million times longer than another, changces are that the second will + * be less than a pixel int, and therefore was probably meant to be + * degenerate (by the CAD package, etc.) But what should this tolerance + * be? At least 1 in onethousand (since screen sizes are 1K pixels), but + * les than 1 in 4 million (since this is the limit of single-precision + * floating point accuracy). Of course, if double precision were used, + * then the tolerance could be increased. + * + * Potentially, this naive assumption could cause problems if the CAD + * package attempts to zoom in on small details, and turns out, certain + * points should not hvae been degenerate. The problem presented here + * is that the tolerance could run out before single-precision ran + * out, and so the CAD packages would perceive this as a "bug". + * One alternative is to fiddle around & try to tighten the tolerance. + * However, the right alternative is to code the graphics pipeline in + * double-precision (and tighten the tolerance). + * + * By the way, note that Degernate Tolerance is a "dimensionless" + * quantitiy -- it has no units -- it does not measure feet, inches, + * millimeters or pixels. It is used only in the computations of ratios + * and relative lengths. + */ + +/* + * Right now, the tolerance is set to 2 parts in a million, which + * corresponds to a 19-bit distinction of mantissas. Note that + * single-precsion numbers have 24 bit mantissas. + */ + +#define DEGENERATE_TOLERANCE (0.000002) + +/* ========================================================== */ +/* + * The macro and subroutine INTERSECT are designed to compute the + * intersection of a line (defined by the points v1 and v2) and a plane + * (defined as plane which is normal to the vector n, and contains the + * point p). Both return the point sect, which is the point of + * interesection. + * + * This MACRO attemps to be fairly robust by checking for a divide by + * zero. + */ + +/* ========================================================== */ +/* + * HACK ALERT + * The intersection parameter t has the nice property that if t>1, + * then the intersection is "in front of" p1, and if t<0, then the + * intersection is "behind" p2. Unfortunately, as the intersecting plane + * and the line become parallel, t wraps through infinity -- i.e. t can + * become so large that t becomes "greater than infinity" and comes back + * as a negative number (i.e. winding number hopped by one unit). We + * have no way of detecting this situation without adding gazzillions + * of lines of code of topological algebra to detect the winding number; + * and this would be incredibly difficult, and ruin performance. + * + * Thus, we've installed a cheap hack for use by the "cut style" drawing + * routines. If t proves to be a large negative number (more negative + * than -5), then we assume that t was positive and wound through + * infinity. This makes most cuts look good, without introducing bogus + * cuts at infinity. + */ +/* ========================================================== */ + +#define INTERSECT(sect,p,n,v1,v2) \ +{ \ + gleDouble deno, numer, t, omt; \ + \ + deno = (v1[0] - v2[0]) * n[0]; \ + deno += (v1[1] - v2[1]) * n[1]; \ + deno += (v1[2] - v2[2]) * n[2]; \ + \ + if (deno == 0.0) { \ + VEC_COPY (n, v1); \ + /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ + } else { \ + \ + numer = (p[0] - v2[0]) * n[0]; \ + numer += (p[1] - v2[1]) * n[1]; \ + numer += (p[2] - v2[2]) * n[2]; \ + \ + t = numer / deno; \ + omt = 1.0 - t; \ + \ + sect[0] = t * v1[0] + omt * v2[0]; \ + sect[1] = t * v1[1] + omt * v2[1]; \ + sect[2] = t * v1[2] + omt * v2[2]; \ + } \ +} + +/* ========================================================== */ +/* + * The macro and subroutine BISECTING_PLANE compute a normal vector that + * describes the bisecting plane between three points (v1, v2 and v3). + * This bisecting plane has the following properties: + * 1) it contains the point v2 + * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it + * makes with v32 == v3 - v2 + * 3) it is perpendicular to the plane defined by v1, v2, v3. + * + * Having input v1, v2, and v3, it returns a unit vector n. + * + * In some cases, the user may specify degenerate points, and still + * expect "reasonable" or "obvious" behaviour. The "expected" + * behaviour for these degenerate cases is: + * + * 1) if v1 == v2 == v3, then return n=0 + * 2) if v1 == v2, then return v32 (normalized). + * 3) if v2 == v3, then return v21 (normalized). + * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). + * + * Mathematically, these special cases "make sense" -- we just have to + * code around potential divide-by-zero's in the code below. + */ + +/* ========================================================== */ + +#define BISECTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as bisector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ + (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ +/* + * The block of code below is ifdef'd out, and is here for reference + * purposes only. It performs the "mathematically right thing" for + * computing a bisecting plane, but is, unfortunately, subject ot noise + * in the presence of near degenerate points. Since computer graphics, + * due to sloppy coding, laziness, or correctness, is filled with + * degenerate points, we can't really use this version. The code above + * is far more appropriate for graphics. + */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define BISECTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 == 0.0) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + } \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + if (len32 == 0.0) { \ + /* return a normalized copy of v21 as bisector */ \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot == 1.0) || (vdot == -1.0)) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} +#endif + +/* ========================================================== */ +/* + * This macro computes the plane perpendicular to the the plane + * defined by three points, and whose normal vector is givven as the + * difference between the two vectors ... + * + * (See way below for the "math" model if you want to understand this. + * The comments about relative errors above apply here.) + */ + +#define CUTTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double lendiff; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as cut-vector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as cut vector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_LENGTH (lendiff, n); \ + \ + /* if the perp vector is very small, then the two \ + * vectors are darn near collinear, and the cut \ + * vector is probably poorly defined. */ \ + if (lendiff < DEGENERATE_TOLERANCE) { \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + lendiff = 1.0 / lendiff; \ + VEC_SCALE (n, lendiff, n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define CUTTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_NORMALIZE (v21); \ + VEC_NORMALIZE (v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_NORMALIZE (n); \ +} +#endif + + +/* ============================================================ */ +/* This macro is used in several places to cycle through a series of + * points to find the next non-degenerate point in a series */ + +#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ +{ \ + gleDouble slen; \ + gleDouble summa[3]; \ + \ + do { \ + /* get distance to next point */ \ + VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (len, diff); \ + VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (slen, summa); \ + slen *= DEGENERATE_TOLERANCE; \ + inext ++; \ + } while ((len <= slen) && (inext < npoints-1)); \ +} + +/* ========================================================== */ + +extern int bisecting_plane (gleDouble n[3], /* returned */ + gleDouble v1[3], /* input */ + gleDouble v2[3], /* input */ + gleDouble v3[3]); /* input */ + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/port.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/port.h new file mode 100644 index 0000000..2827bbf --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/port.h @@ -0,0 +1,298 @@ + +/* + * port.h + * + * FUNCTION: + * This file contains defines for porting the tubing toolkit from GL to + * OpenGL to some callback scheme. + * + * HISTORY: + * Created by Linas Vepstas -- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + */ + +#ifndef __GLE_PORT_H__ +#define __GLE_PORT_H__ + + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ====================================================== */ +/* Some compilers can't handle multiply-subscripted array's */ + +#ifdef FUNKY_C +typedef gleDouble gleVector; +#define AVAL(arr,n,i,j) arr(6*n+3*i+j) +#define VVAL(arr,n,i) arr(3*n+i) + +#else /* FUNKY_C */ +typedef double gleVector[3]; +typedef double glePoint[2]; +#define AVAL(arr,n,i,j) arr[n][i][j] +#define VVAL(arr,n,i) arr[n][i]; + +#endif /* FUNKY_C */ + +/* ====================================================== */ +/* These are used to convey info about topography to the + * texture mapping routines */ + +#define FRONT 1 +#define BACK 2 +#define FRONT_CAP 3 +#define BACK_CAP 4 +#define FILLET 5 + +/* ====================================================== */ + +#define __GLE_DOUBLE + +/* ====================================================== */ + +#ifdef __GLE_DOUBLE +#ifndef gleDouble + #define gleDouble double +#endif +#define urot_axis(a,b,c) urot_axis_d(a,b,c) +#define uview_direction(a,b,c) uview_direction_d(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_D(m) +#define LOADMATRIX(m) LOADMATRIX_D(m) +#define V3F(x,j,id) V3F_D(x,j,id) +#define N3F(x) N3F_D(x) +#define T2F(x,y) T2F_D(x,y) +#else +#define gleDouble float +#define urot_axis(a,b,c) urot_axis_f(a,b,c) +#define uview_direction(a,b,c) uview_direction_f(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_F(m) +#define LOADMATRIX(m) LOADMATRIX_F(m) +#define V3F(x,j,id) V3F_F(x,j,id) +#define N3F(x) N3F_F(x) +#define T2F(x,y) T2F_F(x,y) +#endif + +/* ====================================================== */ + +#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) +#undef GL_32 +#undef OPENGL_10 + +#define BGNTMESH(i,len) printf ("bgntmesh() \n"); +#define ENDTMESH() printf ("endtmesh() \n"); +#define BGNPOLYGON() printf ("bgnpolygon() \n"); +#define ENDPOLYGON() printf ("endpolygon() \n"); +#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); + +#define POPMATRIX() printf ("popmatrix () \n"); +#define PUSHMATRIX() printf ("pushmatrix() \n"); +#define MULTMATRIX_F(x) MULTMATRIX_D(x) +#define LOADMATRIX_F(x) LOADMATRIX_D(x) + + +#define LOADMATRIX_D(x) { \ + int i, j; \ + printf ("loadmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + printf ("multmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define __IS_LIGHTING_ON (1) + +#endif + +/* ====================================================== */ + +#ifdef GL_32 + +#include + +#define BGNTMESH(i,len) bgntmesh() +#define ENDTMESH() endtmesh() +#define BGNPOLYGON() bgnpolygon() +#define ENDPOLYGON() endpolygon() +#define V3F_F(x,j,id) v3f(x) +#define V3F_D(x,j,id) v3d(x) +#define N3F_F(x) n3f(x) +#define T2F_F(x,y) +#define T2F_D(x,y) +#define C3F(x) c3f(x) + +#define POPMATRIX() popmatrix () +#define PUSHMATRIX() pushmatrix() +#define MULTMATRIX_F(x) multmatrix (x) +#define LOADMATRIX_F(x) loadmatrix (x) + +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = (float) x[0]; \ + nnn[1] = (float) x[1]; \ + nnn[2] = (float) x[2]; \ + n3f (nnn); \ +} + +#define LOADMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + loadmatrix(mmm); \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + multmatrix(mmm); \ +} + +/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ +#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) + +#endif /* GL_32 */ + +/* ====================================================== */ +#ifdef OPENGL_10 + +#if defined(_WIN32) +#include +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#endif +#include +#include + +/* +#define N3F_F(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +*/ + +#define C3F(x) glColor3fv(x) +#define T2F_F(x,y) glTexCoord2f(x,y) +#define T2F_D(x,y) glTexCoord2d(x,y) + +#define POPMATRIX() glPopMatrix() +#define PUSHMATRIX() glPushMatrix() + +#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) +#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) + +#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) +#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) + +#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) + +/* ====================================================== */ +#ifdef AUTO_TEXTURE + +#define BGNTMESH(i,len) { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ + glBegin (GL_TRIANGLE_STRIP); \ +} + +#define BGNPOLYGON() { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ + glBegin (GL_POLYGON); \ +} + +#define N3F_F(x) { \ + if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ + glNormal3fv(x); \ +} + +#define N3F_D(x) { \ + if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ + glNormal3dv(x); \ +} + +#define V3F_F(x,j,id) { \ + if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ + glVertex3fv(x); \ +} + +#define V3F_D(x,j,id) { \ + if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ + glVertex3dv(x); \ +} + +#define ENDTMESH() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +#define ENDPOLYGON() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +/* ====================================================== */ +#else /* AUTO_TEXTURE */ + +#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); +#define BGNPOLYGON() glBegin (GL_POLYGON); + +#define N3F_F(x) glNormal3fv(x) +#define N3F_D(x) glNormal3dv(x) +#define V3F_F(x,j,id) glVertex3fv(x); +#define V3F_D(x,j,id) glVertex3dv(x); + +#define ENDTMESH() glEnd () +#define ENDPOLYGON() glEnd() + +#endif /* AUTO_TEXTURE */ + +#endif /* OPENGL_10 */ + +/* ====================================================== */ + + +#endif /* __GLE_PORT_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h new file mode 100644 index 0000000..91083e9 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h @@ -0,0 +1,98 @@ + +/* + * rot.h + * + * FUNCTION: + * rotation matrix utilities + * + * HISTORY: + * Linas Vepstas Aug 1990 + */ + +/* ========================================================== */ +/* + * The MACROS below generate and return more traditional rotation + * matrices -- matrices for rotations about principal axes. + */ +/* ========================================================== */ + +#define ROTX_CS(m,cosine,sine) \ +{ \ + /* rotation about the x-axis */ \ + \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = (cosine); \ + m[1][2] = (sine); \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = -(sine); \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTY_CS(m,cosine,sine) \ +{ \ + /* rotation about the y-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = 0.0; \ + m[0][2] = -(sine); \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = (sine); \ + m[2][1] = 0.0; \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTZ_CS(m,cosine,sine) \ +{ \ + /* rotation about the z-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = (sine); \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = -(sine); \ + m[1][1] = (cosine); \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h new file mode 100644 index 0000000..8d1cf04 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h @@ -0,0 +1,98 @@ + +/* + * MODULE: segment.h + * + * FUNCTION: + * Contains function prototypes for segment drawing subroutines. + * These are used only internally, and are not to be exported to + * the user. + * + * HISTORY: + * Create by Linas Vepstas + * Added tube.h include to define gleDouble, tad February 2002 + */ + +/* ============================================================ */ + +#include "tube.h" + +extern void draw_segment_plain (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + int inext, double len); + +extern void draw_segment_color (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_edge_n (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_edge_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +/* ============================================================ */ + +extern void draw_binorm_segment_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_binorm_segment_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ + gleDouble bi[3], /* biscetor */ + gleDouble point_array[][3]); /* polyline */ + +/* -------------------------- end of file -------------------------------- */ + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h new file mode 100644 index 0000000..c303e19 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h @@ -0,0 +1,203 @@ +/* + * tube.h + * + * FUNCTION: + * Tubing and Extrusion header file. + * This file provides protypes and defines for the extrusion + * and tubing primitives. + * + * HISTORY: + * Linas Vepstas 1990, 1991 + */ + +#ifndef __TUBE_H__ +#define __TUBE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLE API revision history: + + GLE_API_VERSION is updated to reflect GLE API changes (interface + changes, semantic changes, deletions, or additions). + + GLE_API_VERSION=228 GLUT 3.7 release of GLE. +**/ +#ifndef GLE_API_VERSION /* allow this to be overriden */ +#define GLE_API_VERSION 228 +#endif + +/* some types */ +#ifndef gleDouble + #define gleDouble double +#endif +typedef gleDouble gleAffine[2][3]; + +/* ====================================================== */ + +/* defines for tubing join styles */ +#define TUBE_JN_RAW 0x1 +#define TUBE_JN_ANGLE 0x2 +#define TUBE_JN_CUT 0x3 +#define TUBE_JN_ROUND 0x4 +#define TUBE_JN_MASK 0xf /* mask bits */ +#define TUBE_JN_CAP 0x10 + +/* determine how normal vectors are to be handled */ +#define TUBE_NORM_FACET 0x100 +#define TUBE_NORM_EDGE 0x200 +#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ +#define TUBE_NORM_MASK 0xf00 /* mask bits */ + +/* closed or open countours */ +#define TUBE_CONTOUR_CLOSED 0x1000 + +#define GLE_TEXTURE_ENABLE 0x10000 +#define GLE_TEXTURE_STYLE_MASK 0xff +#define GLE_TEXTURE_VERTEX_FLAT 1 +#define GLE_TEXTURE_NORMAL_FLAT 2 +#define GLE_TEXTURE_VERTEX_CYL 3 +#define GLE_TEXTURE_NORMAL_CYL 4 +#define GLE_TEXTURE_VERTEX_SPH 5 +#define GLE_TEXTURE_NORMAL_SPH 6 +#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 +#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 +#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 +#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 +#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 +#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 + +#ifdef GL_32 +/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ +#define TUBE_LIGHTING_ON 0x80000000 + +#define gleExtrusion extrusion +#define gleSetJoinStyle setjoinstyle +#define gleGetJoinStyle getjoinstyle +#define glePolyCone polycone +#define glePolyCylinder polycylinder +#define gleSuperExtrusion super_extrusion +#define gleTwistExtrusion twist_extrusion +#define gleSpiral spiral +#define gleLathe lathe +#define gleHelicoid helicoid +#define gleToroid toroid +#define gleScrew screw + +#endif /* GL_32 */ + +extern int gleGetJoinStyle (void); +extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ +extern int gleGetNumSlices(void); +extern void gleSetNumSlices(int slices); + +/* draw polyclinder, specified as a polyline */ +extern void glePolyCylinder (int npoints, /* num points in polyline */ + gleDouble point_array[][3], /* polyline vertces */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius); /* radius of polycylinder */ + +/* draw polycone, specified as a polyline with radii */ +extern void glePolyCone (int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius_array[]); /* cone radii at polyline verts */ + +/* extrude arbitrary 2D contour along arbitrary 3D path */ +extern void gleExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3]); /* colors at polyline verts */ + +/* extrude 2D contour, specifying local rotations (twists) */ +extern void gleTwistExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble twist_array[]); /* countour twists (in degrees) */ + +/* extrude 2D contour, specifying local affine tranformations */ +extern void gleSuperExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* spiral moves contour along helical path by parallel transport */ +extern void gleSpiral (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* lathe moves contour along helical path by helically shearing 3D space */ +extern void gleLathe (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to spiral, except contour is a circle */ +extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to lathe, except contour is a circle */ +extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* draws a screw shape */ +extern void gleScrew (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startz, /* start of segment */ + gleDouble endz, /* end of segment */ + gleDouble twist); /* number of rotations */ + +extern void gleTextureMode (int mode); + +#ifdef __cplusplus +} + +#endif +#endif /* __TUBE_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h new file mode 100644 index 0000000..ccd2853 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h @@ -0,0 +1,78 @@ + +/* + * tube_gc.h + * + * FUNCTION: + * This file allows for easy changes to changes in the way the extrusion + * library handles state info (i.e. context). + * + * HISTORY: + * Linas Vepstas --- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + * Added tube.h include to define gleDouble, tad February 2002 + */ + +#include "tube.h" +#include "port.h" /* for gleVector */ + +typedef float gleColor[3]; +typedef double gleTwoVec[2]; + +typedef struct { + + /* public methods */ + void (*bgn_gen_texture) (int, double); + void (*n3f_gen_texture) (float *); + void (*n3d_gen_texture) (double *); + void (*v3f_gen_texture) (float *, int, int); + void (*v3d_gen_texture) (double *, int, int); + void (*end_gen_texture) (void); + + /* protected members -- "general knowledge" stuff */ + int join_style; + + /* arguments passed into extrusion code */ + int ncp; /* number of contour points */ + gleTwoVec *contour; /* 2D contour */ + gleTwoVec *cont_normal; /* 2D contour normals */ + gleDouble *up; /* up vector */ + int npoints; /* number of points in polyline */ + gleVector *point_array; /* path */ + gleColor *color_array; /* path colors */ + gleAffine *xform_array; /* contour xforms */ + + /* private members, used by texturing code */ + int num_vert; + int segment_number; + double segment_length; + double accum_seg_len; + double prev_x; + double prev_y; + + void (*save_bgn_gen_texture) (int, double); + void (*save_n3f_gen_texture) (float *); + void (*save_n3d_gen_texture) (double *); + void (*save_v3f_gen_texture) (float *, int, int); + void (*save_v3d_gen_texture) (double *, int, int); + void (*save_end_gen_texture) (void); + +} gleGC; + +extern gleGC *_gle_gc; +extern gleGC * gleCreateGC (void); + +#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } +#define extrusion_join_style (_gle_gc->join_style) + +#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) +#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) +#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) +#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) + +#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) +#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) +#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) +#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) +#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) + +/* ======================= END OF FILE ========================== */ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h new file mode 100644 index 0000000..b58dcd6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h @@ -0,0 +1,1339 @@ + +/* + * vvector.h + * + * FUNCTION: + * This file contains a number of utilities useful for handling + * 3D vectors + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Added 2D code, March 1993 + * Added Outer products, C++ proofed, Linas Vepstas October 1993 + */ + +#ifndef __GUTIL_VECTOR_H__ +#define __GUTIL_VECTOR_H__ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + + +#include +#include "port.h" + +/* ========================================================== */ +/* Zero out a 2D vector */ + +#define VEC_ZERO_2(a) \ +{ \ + (a)[0] = (a)[1] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 3D vector */ + +#define VEC_ZERO(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 4D vector */ + +#define VEC_ZERO_4(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ +} + +/* ========================================================== */ +/* Vector copy */ + +#define VEC_COPY_2(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ +} + +/* ========================================================== */ +/* Copy 3D vector */ + +#define VEC_COPY(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ +} + +/* ========================================================== */ +/* Copy 4D vector */ + +#define VEC_COPY_4(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ + (b)[3] = (a)[3]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ + (v21)[3] = (v2)[3] - (v1)[3]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ + (v21)[3] = (v2)[3] + (v1)[3]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_2(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_4(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ + (c)[3] = (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_2(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_4(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ + (c)[3] += (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_2(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_4(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ +} + +/* ========================================================== */ +/* vector impact parameter (squared) */ + +#define VEC_IMPACT_SQ(bsq,direction,position) \ +{ \ + gleDouble vlen, llel; \ + VEC_DOT_PRODUCT (vlen, position, position); \ + VEC_DOT_PRODUCT (llel, direction, position); \ + bsq = vlen - llel*llel; \ +} + +/* ========================================================== */ +/* vector impact parameter */ + +#define VEC_IMPACT(bsq,direction,position) \ +{ \ + VEC_IMPACT_SQ(bsq,direction,position); \ + bsq = sqrt (bsq); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_2(vlen,a) \ +{ \ + vlen = a[0]*a[0] + a[1]*a[1]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_4(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen += (a)[3] * (a)[3]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* distance between two points */ + +#define VEC_DISTANCE(vlen,va,vb) \ +{ \ + gleDouble tmp[4]; \ + VEC_DIFF (tmp, vb, va); \ + VEC_LENGTH (vlen, tmp); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_CONJUGATE_LENGTH(vlen,a) \ +{ \ + vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_NORMALIZE(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = 1.0 / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_RENORMALIZE(a,newlen) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = newlen / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* 3D Vector cross product yeilding vector */ + +#define VEC_CROSS_PRODUCT(c,a,b) \ +{ \ + c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ + c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ + c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ +} + +/* ========================================================== */ +/* Vector perp -- assumes that n is of unit length + * accepts vector v, subtracts out any component parallel to n */ + +#define VEC_PERP(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (v)[0] - (vdot) * (n)[0]; \ + vp[1] = (v)[1] - (vdot) * (n)[1]; \ + vp[2] = (v)[2] - (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector parallel -- assumes that n is of unit length + * accepts vector v, subtracts out any component perpendicular to n */ + +#define VEC_PARALLEL(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (vdot) * (n)[0]; \ + vp[1] = (vdot) * (n)[1]; \ + vp[2] = (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector reflection -- assumes n is of unit length */ +/* Takes vector v, reflects it against reflector n, and returns vr */ + +#define VEC_REFLECT(vr,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ + vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ + vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector blending */ +/* Takes two vectors a, b, blends them together */ + +#define VEC_BLEND(vr,sa,a,sb,b) \ +{ \ + \ + vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ + vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ + vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_2(a) \ +{ \ + double vlen; \ + VEC_LENGTH_2 (vlen, a); \ + printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen, (a)); \ + printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_4(a) \ +{ \ + double vlen; \ + VEC_LENGTH_4 (vlen, (a)); \ + printf (" a is %f %f %f %f length of a is %f \n", \ + (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_4X4(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_3X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<3; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_2X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<2; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_3X3(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_4X4(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + b[0][3] = a[0][3]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + b[1][3] = a[1][3]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[2][3]; \ + \ + b[3][0] = a[3][0]; \ + b[3][1] = a[3][1]; \ + b[3][2] = a[3][2]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + b[0][3] = a[3][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + b[1][3] = a[3][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[3][2]; \ + \ + b[3][0] = a[0][3]; \ + b[3][1] = a[1][3]; \ + b[3][2] = a[2][3]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + b[0][3] = (s) * a[0][3]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + b[1][3] = (s) * a[1][3]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ + b[2][3] = (s) * a[2][3]; \ + \ + b[3][0] = s * a[3][0]; \ + b[3][1] = s * a[3][1]; \ + b[3][2] = s * a[3][2]; \ + b[3][3] = s * a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + b[0][3] += (s) * a[0][3]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + b[1][3] += (s) * a[1][3]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ + b[2][3] += (s) * a[2][3]; \ + \ + b[3][0] += (s) * a[3][0]; \ + b[3][1] += (s) * a[3][1]; \ + b[3][2] += (s) * a[3][2]; \ + b[3][3] += (s) * a[3][3]; \ +} + +/* +========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_2X2(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_3X3(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_4X4(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ + c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ + c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ + c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ + \ + c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ + c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ + c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ + c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_3X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_4X4(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ + p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ +} + +/* ========================================================== */ +/* vector transpose times matrix */ +/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ + +#define VEC_DOT_MAT_3X3(p,v,m) \ +{ \ + p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ + p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ + p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ +} + +/* ========================================================== */ +/* affine matrix times vector */ +/* The matrix is assumed to be an affine matrix, with last two + * entries representing a translation */ + +#define MAT_DOT_VEC_2X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ +} + +/* ========================================================== */ +/* inverse transpose of matrix times vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * + * DANGER !!! Do Not use this on normal vectors!!! + * It will leave normals the wrong length !!! + * See macro below for use on normals. + */ + +#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + gleDouble det; \ + \ + det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + /* if matrix not singular, and not orthonormal, then renormalize */ \ + if ((det!=1.0) && (det != 0.0)) { \ + det = 1.0 / det; \ + p[0] *= det; \ + p[1] *= det; \ + } \ +} + +/* ========================================================== */ +/* transform normal vector by inverse transpose of matrix + * and then renormalize the vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * Vector p is then normalized. + */ + + +#define NORM_XFORM_2X2(p,m,v) \ +{ \ + double mlen; \ + \ + /* do nothing if off-diagonals are zero and diagonals are \ + * equal */ \ + if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + mlen = p[0]*p[0] + p[1]*p[1]; \ + mlen = 1.0 / sqrt (mlen); \ + p[0] *= mlen; \ + p[1] *= mlen; \ + } else { \ + VEC_COPY_2 (p, v); \ + } \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + m[0][3] = v[0] * t[3]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + m[1][3] = v[1] * t[3]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ + m[2][3] = v[2] * t[3]; \ + \ + m[3][0] = v[3] * t[0]; \ + m[3][1] = v[3] * t[1]; \ + m[3][2] = v[3] * t[2]; \ + m[3][3] = v[3] * t[3]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + m[0][3] += v[0] * t[3]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + m[1][3] += v[1] * t[3]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ + m[2][3] += v[2] * t[3]; \ + \ + m[3][0] += v[3] * t[0]; \ + m[3][1] += v[3] * t[1]; \ + m[3][2] += v[3] * t[2]; \ + m[3][3] += v[3] * t[3]; \ +} + +/* +========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_2X2(d,m) \ +{ \ + d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ +} + +/* ========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_3X3(d,m) \ +{ \ + d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ + d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ + d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ +} + +/* ========================================================== */ +/* i,j,th cofactor of a 4x4 matrix + * + */ + +#define COFACTOR_4X4_IJ(fac,m,i,j) \ +{ \ + int ii[4], jj[4], k; \ + \ + /* compute which row, columnt to skip */ \ + for (k=0; k + + + + IBDocumentLocation + 4 104 410 240 0 0 1152 848 + IBEditorPositions + + 29 + 19 615 246 44 0 0 1152 848 + + IBFramework Version + 291.0 + IBGroupedObjects + + IBLastGroupID + 1 + IBOpenObjects + + 29 + + IBSystem Version + 6I32 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib new file mode 100644 index 0000000..8a7140e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib new file mode 100644 index 0000000..7e85eb1 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib @@ -0,0 +1,13 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {toggleWindow = id; }; + CLASS = GLUTClipboardController; + LANGUAGE = ObjC; + OUTLETS = {_infoText = id; _scrollView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib new file mode 100644 index 0000000..867735d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib @@ -0,0 +1,12 @@ + + + + + IBDocumentLocation + 63 221 356 240 0 0 1600 1178 + IBFramework Version + 263.2 + IBSystem Version + 5S41 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib new file mode 100644 index 0000000..29125d4 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib new file mode 100644 index 0000000..c675963 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib @@ -0,0 +1,73 @@ +{ + IBClasses = ( + { + ACTIONS = {save = id; saveAs = id; }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + ACTIONS = { + cancel = id; + joyAssign = id; + joyDevice = id; + joyElement = id; + joyInvert = id; + launchDebugMode = id; + launchGamemodeCaptureSingle = id; + launchIconic = id; + launchUseCurrWD = id; + launchUseExtDesktop = id; + launchUseMacOSCoords = id; + mouseEanbleEmulation = id; + mouseMiddleMenu = id; + mouseRightMenu = id; + ok = id; + spaceAssign = id; + spaceDevice = id; + spaceElement = id; + spaceInvert = id; + }; + CLASS = GLUTPreferencesController; + LANGUAGE = ObjC; + OUTLETS = { + joyAssign = NSButton; + joyAssignNote = NSTextField; + joyAssignWarningIcon = NSImageView; + joyDeviceMenu = NSPopUpButton; + joyElement = NSTextField; + joyInputMenu = NSPopUpButton; + joyInverted = NSButton; + launchDebugMode = NSButton; + launchFadeTime = NSTextField; + launchGamemodeCaptureSingle = NSButton; + launchIconic = NSButton; + launchInitHeight = NSTextField; + launchInitWidth = NSTextField; + launchInitX = NSTextField; + launchInitY = NSTextField; + launchMenuIdle = NSTextField; + launchSyncToVBL = NSButton; + launchUseCurrWD = NSButton; + launchUseExtendedDesktop = NSButton; + launchUseMacOSXCoords = NSButton; + mouseAssignWarningIcon = NSImageView; + mouseAssignWarningText = NSTextField; + mouseDetected = NSTextField; + mouseEmulation = NSButton; + mouseMiddleConfigMenu = NSPopUpButton; + mouseRightConfigMenu = NSPopUpButton; + prefsTabView = NSTabView; + spaceAssign = NSButton; + spaceAssignNote = NSTextField; + spaceAssignWarningIcon = NSImageView; + spaceDeviceMenu = NSPopUpButton; + spaceElement = NSTextField; + spaceInputMenu = NSPopUpButton; + spaceInverted = NSButton; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib new file mode 100644 index 0000000..216c8dc --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 16 329 410 240 0 0 1920 1178 + IBFramework Version + 439.0 + IBOpenObjects + + 205 + + IBSystem Version + 8G32 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib new file mode 100644 index 0000000..7598f2c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings new file mode 100644 index 0000000..6db3c5c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..6f78b89 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist new file mode 100644 index 0000000..e8fc9d6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GLUT + CFBundleGetInfoString + 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved + CFBundleIdentifier + com.apple.glut + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.4.0 + CFBundleSignature + ???? + CFBundleVersion + GLUT-3.4.0 + + diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff new file mode 100644 index 0000000..a2b0cf1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff new file mode 100644 index 0000000..c3f4795 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff new file mode 100644 index 0000000..274529f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff new file mode 100644 index 0000000..dec4252 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff new file mode 100644 index 0000000..8536c0e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff new file mode 100644 index 0000000..34b52f6 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff new file mode 100644 index 0000000..9e3a1cb Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff new file mode 100644 index 0000000..0087c66 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff new file mode 100644 index 0000000..fc4a88a Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff new file mode 100644 index 0000000..852b69b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff new file mode 100644 index 0000000..37fe393 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff new file mode 100644 index 0000000..d852616 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff new file mode 100644 index 0000000..9781f22 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff new file mode 100644 index 0000000..9bec966 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff new file mode 100644 index 0000000..e4df0de Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff new file mode 100644 index 0000000..43cf97f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff new file mode 100644 index 0000000..429b01b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff new file mode 100644 index 0000000..1605063 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff new file mode 100644 index 0000000..81ba1aa Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/libs/libfmodex.dylib b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/libs/libfmodex.dylib new file mode 100644 index 0000000..bea90a1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/libs/libfmodex.dylib differ diff --git a/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/sunkenEngine b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/sunkenEngine new file mode 100755 index 0000000..022f889 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/sunkenEngine differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/CoreMIDI b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/CoreMIDI new file mode 120000 index 0000000..ce3fea4 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/CoreMIDI @@ -0,0 +1 @@ +Versions/Current/CoreMIDI \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/MIDIServer b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/MIDIServer new file mode 120000 index 0000000..f3ac3b6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/MIDIServer @@ -0,0 +1 @@ +Versions/Current/MIDIServer \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Resources b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI new file mode 100755 index 0000000..0f92e5d Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/MIDIServer b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/MIDIServer new file mode 100755 index 0000000..f24dea9 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/MIDIServer differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/BridgeSupport/CoreMIDI.bridgesupport b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/BridgeSupport/CoreMIDI.bridgesupport new file mode 100644 index 0000000..8c1a453 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/BridgeSupport/CoreMIDI.bridgesupport @@ -0,0 +1,516 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Dutch.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Dutch.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Dutch.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/English.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/English.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/English.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/French.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/French.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/French.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/German.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/German.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/German.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Info.plist b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..4450e80 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,40 @@ + + + + + BuildMachineOSBuild + 14A359 + CFBundleDevelopmentRegion + English + CFBundleExecutable + CoreMIDI + CFBundleIdentifier + com.apple.audio.midi.CoreMIDI + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + CoreMIDI + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.10 + CFBundleSignature + ???? + CFBundleVersion + 88 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 6A280m + DTPlatformVersion + GM + DTSDKBuild + 14A359 + DTSDKName + macosx10.10internal + DTXcode + 0600 + DTXcodeBuild + 6A280m + + diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Italian.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Italian.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Italian.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Japanese.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Japanese.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Japanese.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/PowerManagement.plist b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/PowerManagement.plist new file mode 100644 index 0000000..5eeebcf --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/PowerManagement.plist @@ -0,0 +1,69 @@ + + + + + + + IOProviderClass + IOUSBDevice + idVendor + 1410 + idProduct + 21 + + + + IOProviderClass + IOUSBDevice + idVendor + 2637 + idProduct + 143 + + + + IOProviderClass + IOUSBDevice + idVendor + 2637 + idProduct + 144 + + + + IOProviderClass + IOUSBDevice + idVendor + 2637 + idProduct + 163 + + + + IOProviderClass + IOUSBDevice + idVendor + 2637 + idProduct + 245 + + + + IOProviderClass + IOUSBDevice + idVendor + 1891 + idProduct + 4116 + + + + IOProviderClass + IOUSBDevice + idVendor + 2706 + idProduct + 4128 + + + diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Spanish.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Spanish.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/Spanish.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ar.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ar.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..6a3482c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ar.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ca.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ca.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ca.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/cs.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/cs.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/cs.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/da.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/da.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/da.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/el.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/el.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/el.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/es_MX.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/es_MX.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/es_MX.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/fi.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/fi.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/fi.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/he.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/he.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/he.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/hr.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/hr.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/hr.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/hu.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/hu.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/hu.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/id.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/id.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/id.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ko.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ko.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ko.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ms.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ms.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ms.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/no.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/no.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/no.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pl.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pl.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pl.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pt.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pt.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pt.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pt_PT.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pt_PT.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/pt_PT.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ro.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ro.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ro.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ru.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ru.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/ru.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/sk.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/sk.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/sk.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/sv.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/sv.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/sv.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/th.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/th.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/th.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/tr.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/tr.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/tr.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/uk.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/uk.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/uk.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/version.plist b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/version.plist new file mode 100644 index 0000000..02809c6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 18 + CFBundleShortVersionString + 1.10 + CFBundleVersion + 88 + ProjectName + CoreMIDI + SourceVersion + 141000000000000 + + diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/vi.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/vi.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..2f3bdf8 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/vi.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/zh_CN.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/zh_CN.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..45c6842 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/zh_CN.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/zh_TW.lproj/MIDIServerLocalizable.strings b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/zh_TW.lproj/MIDIServerLocalizable.strings new file mode 100644 index 0000000..47a2674 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/Resources/zh_TW.lproj/MIDIServerLocalizable.strings differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/_CodeSignature/CodeResources b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/_CodeSignature/CodeResources new file mode 100644 index 0000000..1e88053 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/A/_CodeSignature/CodeResources @@ -0,0 +1,247 @@ + + + + + files + + Resources/English.lproj/MIDIServerLocalizable.strings + + hash + + H4Osx4tfqzWGyDN6QDMykHaLn0c= + + optional + + + Resources/English.lproj/locversion.plist + + hash + + lhR6+3XzxwL/FDQaIShgNeQSOsU= + + optional + + + Resources/Info.plist + + WKJucjo0Or3yRAdg/sop5CwSmKk= + + Resources/PowerManagement.plist + + rRJ1gazHTSXCwS8WizqfyorvtSs= + + Resources/version.plist + + hvv8hP9Dxv5wrDNlcAiAaOdC8a4= + + + files2 + + Resources/English.lproj/MIDIServerLocalizable.strings + + hash + + H4Osx4tfqzWGyDN6QDMykHaLn0c= + + optional + + + Resources/English.lproj/locversion.plist + + hash + + lhR6+3XzxwL/FDQaIShgNeQSOsU= + + optional + + + Resources/Info.plist + + WKJucjo0Or3yRAdg/sop5CwSmKk= + + Resources/PowerManagement.plist + + rRJ1gazHTSXCwS8WizqfyorvtSs= + + Resources/version.plist + + hvv8hP9Dxv5wrDNlcAiAaOdC8a4= + + + rules + + @2x\. + + optional + + weight + 50 + + \.licns$ + + optional + + weight + 50 + + ^Resources/ + + ^Resources/.*\.lproj/ + + omit + + weight + 30 + + ^Resources/.*\.lproj/locversion\.plist$ + + omit + + weight + 30 + + ^Resources/.*\.nib/classes\.nib$ + + optional + + weight + 5 + + ^Resources/.*\.nib/data\.dependency$ + + optional + + weight + 5 + + ^Resources/.*\.nib/designable\.nib$ + + optional + + weight + 5 + + ^Resources/.*\.nib/info\.nib$ + + optional + + weight + 5 + + ^Resources/Base\.lproj/ + + optional + + weight + 35 + + ^Resources/BridgeSupport/[^/]*\.(bridgesupport|dylib)$ + + omit + + weight + 10 + + ^Resources/English\.lproj/ + + optional + + weight + 40 + + ^version\.plist$ + + + rules2 + + @2x\. + + optional + + weight + 50 + + \.licns$ + + optional + + weight + 50 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 0.0 + + ^Resources/ + + ^Resources/.*\.lproj/ + + omit + + weight + 30 + + ^Resources/.*\.lproj/locversion\.plist$ + + omit + + weight + 30 + + ^Resources/.*\.nib/classes\.nib$ + + optional + + weight + 5 + + ^Resources/.*\.nib/data\.dependency$ + + optional + + weight + 5 + + ^Resources/.*\.nib/designable\.nib$ + + optional + + weight + 5 + + ^Resources/.*\.nib/info\.nib$ + + optional + + weight + 5 + + ^Resources/Base\.lproj/ + + optional + + weight + 35 + + ^Resources/BridgeSupport/[^/]*\.(bridgesupport|dylib)$ + + omit + + weight + 10 + + ^Resources/English\.lproj/ + + optional + + weight + 40 + + ^version\.plist$ + + + + diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/Current b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Frameworks/CoreMIDI.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Info.plist b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Info.plist new file mode 100644 index 0000000..a76dc42 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Info.plist @@ -0,0 +1,38 @@ + + + + + BuildMachineOSBuild + 14B25 + CFBundleDevelopmentRegion + English + CFBundleExecutable + sunkenEngineDebug + CFBundleIconFile + icon-debug.icns + CFBundleIdentifier + cc.openFrameworks.ofapp + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 6C131e + DTPlatformVersion + GM + DTSDKBuild + 14A383 + DTSDKName + macosx10.10 + DTXcode + 0620 + DTXcodeBuild + 6C131e + + diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/MacOS/sunkenEngineDebug b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/MacOS/sunkenEngineDebug new file mode 100755 index 0000000..01db573 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/MacOS/sunkenEngineDebug differ diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/PkgInfo b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/PkgInfo new file mode 100644 index 0000000..bd04210 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/PkgInfo @@ -0,0 +1 @@ +APPL???? \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Resources/icon-debug.icns b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Resources/icon-debug.icns new file mode 100644 index 0000000..9b2d976 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngineDebug.app/Contents/Resources/icon-debug.icns differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/Info.plist b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/Info.plist new file mode 100644 index 0000000..c6e8655 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleGetInfoString + sunkenEngine_debug.app + CFBundleExecutable + sunkenEngine_debug + CFBundleIdentifier + com.your-company-name.www + CFBundleName + sunkenEngine_debug + CFBundleShortVersionString + 0.01 + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + IFMajorVersion + 0 + IFMinorVersion + 1 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/GLUT b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/GLUT new file mode 100644 index 0000000..babc6b1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/GLUT differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/copy.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/copy.h new file mode 100644 index 0000000..a5116e2 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/copy.h @@ -0,0 +1,18 @@ + +/* + * + * Written By Linas Vepstas November 1991 + */ + + +#define COPY_THREE_WORDS(A,B) { \ + struct three_words { int a, b, c, }; \ + *(struct three_words *) (A) = *(struct three_words *) (B); \ +} + +#define COPY_FOUR_WORDS(A,B) { \ + struct four_words { int a, b, c, d, }; \ + *(struct four_words *) (A) = *(struct four_words *) (B); \ +} + +/* ============================================================= */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/extrude.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/extrude.h new file mode 100644 index 0000000..658699e --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/extrude.h @@ -0,0 +1,96 @@ + +/* + * extrude.h + * + * FUNCTION: + * prototypes for privately used subroutines for the tubing library + * + * HISTORY: + * Linas Vepstas 1991 + */ + +#include "port.h" /* for gleDouble */ + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ============================================================ */ +/* + * Provides choice of calling subroutine, vs. invoking macro. + * Basically, inlines the source, or not. + * Trades performance for executable size. + */ + +#define INLINE_INTERSECT +#ifdef INLINE_INTERSECT +#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } +#else +#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) +#endif /* INLINE_INTERSECT */ + +/* ============================================================ */ +/* The folowing defines give a kludgy way of accessing the qmesh primitive */ + +/* +#define bgntmesh _emu_qmesh_bgnqmesh +#define endtmesh _emu_qmesh_endqmesh +#define c3f _emu_qmesh_c3f +#define n3f _emu_qmesh_n3f +#define v3f _emu_qmesh_v3f +*/ + +/* ============================================================ */ + +extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3]); /* polyline */ + + +extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble zval, /* where to draw cap */ + int frontwards); /* front or back cap */ + +extern void draw_round_style_cap_callback (int iloop, + double cap[][3], + float face_color[3], + gleDouble cut_vector[3], + gleDouble bisect_vector[3], + double norms[][3], + int frontwards); + +extern void draw_angle_style_front_cap (int ncp, + gleDouble bi[3], + gleDouble point_array[][3]); + +extern void extrusion_raw_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_angle_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* -------------------------- end of file -------------------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmap.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmap.h new file mode 100644 index 0000000..baf54a7 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmap.h @@ -0,0 +1,137 @@ +#ifndef __glsmap_h__ +#define __glsmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* Try hard to avoid including to avoid name space pollution, + but Win32's needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef CALLBACK + /* XXX This is from Win32's */ +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif /* _WIN32 */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + SMAP_CLEAR_SMAP_TEXTURE = 0x1, + SMAP_GENERATE_VIEW_MIPMAPS = 0x2, + SMAP_GENERATE_SMAP_MIPMAPS = 0x4, + SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ +} SphereMapFlags; + +/* Cube view enumerants. */ +enum { + SMAP_FRONT = 0, + SMAP_TOP = 1, + SMAP_BOTTOM = 2, + SMAP_LEFT = 3, + SMAP_RIGHT = 4, + SMAP_BACK = 5 +}; + +typedef struct _SphereMap SphereMap; + +extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); +extern void smapDestroySphereMap(SphereMap *smap); + +extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); + +extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); +extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); + +extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); +extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); + +extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); +extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); + +extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); +extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); +extern void smapSetUpVector(SphereMap *smap, GLfloat *up); +extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); +extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); +extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); +extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); +extern void smapGetUpVector(SphereMap *smap, GLfloat *up); +extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); +extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); + +extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); +extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); + +extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); +extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); +extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); +extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); + +extern void smapSetContextData(SphereMap *smap, void *context); +extern void smapGetContextData(SphereMap *smap, void **context); + +extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); +extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); +extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); +extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); + +extern void smapGenViewTex(SphereMap *smap, int view); +extern void smapGenViewTexs(SphereMap *smap); +extern void smapGenSphereMapFromViewTexs(SphereMap *smap); +extern void smapGenSphereMap(SphereMap *smap); +extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); + +extern int smapRvecToSt(float rvec[3], float st[2]); +extern void smapStToRvec(float *st, float *rvec); + +#ifdef __cplusplus +} + +#endif +#endif /* __glsmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmapint.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmapint.h new file mode 100644 index 0000000..3620e7d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glsmapint.h @@ -0,0 +1,102 @@ +#ifndef __glsmapint_h__ +#define __glsmapint_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glsmap.h" + +enum { X = 0, Y = 1, Z = 2 }; + +#define INITFACE(mesh) \ + int steps = mesh->steps; \ + int sqsteps = mesh->steps * mesh->steps + +#define FACE(side,y,x) \ + mesh->face[(side)*sqsteps + (y)*steps + (x)] + +#define FACExy(side,i,j) \ + (&FACE(side,i,j).x) + +#define FACEst(side,i,j) \ + (&FACE(side,i,j).s) + +#define INITBACK(mesh) \ + int allrings = mesh->rings + mesh->edgeExtend; \ + int ringedspokes = allrings * mesh->steps + +#define BACK(edge,ring,spoke) \ + mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] + +#define BACKxy(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).x) + +#define BACKst(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).s) + +typedef struct _STXY { + GLfloat s, t; + GLfloat x, y; +} STXY; + +typedef struct _SphereMapMesh { + + int refcnt; + + int steps; + int rings; + int edgeExtend; + + STXY *face; + STXY *back; + +} SphereMapMesh; + +struct _SphereMap { + + /* Shared sphere map mesh vertex data. */ + SphereMapMesh *mesh; + + /* Texture object ids. */ + GLuint smapTexObj; + GLuint viewTexObjs[6]; + GLuint viewTexObj; + + /* Flags */ + SphereMapFlags flags; + + /* Texture dimensions must be a power of two. */ + int viewTexDim; /* view texture dimension */ + int smapTexDim; /* sphere map texture dimension */ + + /* Viewport origins for view and sphere map rendering. */ + int viewOrigin[2]; + int smapOrigin[2]; + + /* Viewing vectors. */ + GLfloat eye[3]; + GLfloat up[3]; + GLfloat obj[3]; + + /* Projection parameters. */ + GLfloat viewNear; + GLfloat viewFar; + + /* Rendering callbacks. */ + void (*positionLights)(int view, void *context); + void (*drawView)(int view, void *context); + + /* Application specified callback data. */ + void *context; + +}; + +/* Library internal routines. */ +extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); +extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); +extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); + +#endif /* __glsmapint_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glut.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glut.h new file mode 100644 index 0000000..cbc6ebe --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glut.h @@ -0,0 +1,648 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ +//#define GLUT_OF_007_HACK + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including + to avoid name space pollution, but Win32's + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ +#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif + +#if defined(__APPLE__) || defined(MACOSX) +#include +#include +#include +#else +#include +#include +#endif + +/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ +#if !defined(_WIN32) +#define APIENTRY +#define GLUT_APIENTRY_DEFINED +#define CALLBACK +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). + + GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 5 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/** + MacOS X GLUT implementation revision history: + + GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X + specific GLUT API revisions and implementation revisions + (ie, bug fixes). + + GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. + + GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. + +**/ +#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_MACOSX_IMPLEMENTATION 2 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif +#define GLUT_NO_RECOVERY 1024 + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +/* Layers for use. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +extern void *glutStrokeRoman; +extern void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +extern void *glutBitmap9By15; +extern void *glutBitmap8By13; +extern void *glutBitmapTimesRoman10; +extern void *glutBitmapTimesRoman24; +extern void *glutBitmapHelvetica10; +extern void *glutBitmapHelvetica12; +extern void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X 100 +#define GLUT_WINDOW_Y 101 +#define GLUT_WINDOW_WIDTH 102 +#define GLUT_WINDOW_HEIGHT 103 +#define GLUT_WINDOW_BUFFER_SIZE 104 +#define GLUT_WINDOW_STENCIL_SIZE 105 +#define GLUT_WINDOW_DEPTH_SIZE 106 +#define GLUT_WINDOW_RED_SIZE 107 +#define GLUT_WINDOW_GREEN_SIZE 108 +#define GLUT_WINDOW_BLUE_SIZE 109 +#define GLUT_WINDOW_ALPHA_SIZE 110 +#define GLUT_WINDOW_ACCUM_RED_SIZE 111 +#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 +#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 +#define GLUT_WINDOW_DOUBLEBUFFER 115 +#define GLUT_WINDOW_RGBA 116 +#define GLUT_WINDOW_PARENT 117 +#define GLUT_WINDOW_NUM_CHILDREN 118 +#define GLUT_WINDOW_COLORMAP_SIZE 119 +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES 120 +#define GLUT_WINDOW_STEREO 121 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR 122 +#endif +#define GLUT_SCREEN_WIDTH 200 +#define GLUT_SCREEN_HEIGHT 201 +#define GLUT_SCREEN_WIDTH_MM 202 +#define GLUT_SCREEN_HEIGHT_MM 203 +#define GLUT_MENU_NUM_ITEMS 300 +#define GLUT_DISPLAY_MODE_POSSIBLE 400 +#define GLUT_INIT_WINDOW_X 500 +#define GLUT_INIT_WINDOW_Y 501 +#define GLUT_INIT_WINDOW_WIDTH 502 +#define GLUT_INIT_WINDOW_HEIGHT 503 +#define GLUT_INIT_DISPLAY_MODE 504 +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME 700 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID 123 +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD 600 +#define GLUT_HAS_MOUSE 601 +#define GLUT_HAS_SPACEBALL 602 +#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 +#define GLUT_HAS_TABLET 604 +#define GLUT_NUM_MOUSE_BUTTONS 605 +#define GLUT_NUM_SPACEBALL_BUTTONS 606 +#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 +#define GLUT_NUM_DIALS 608 +#define GLUT_NUM_TABLET_BUTTONS 609 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 +#define GLUT_DEVICE_KEY_REPEAT 611 +#define GLUT_HAS_JOYSTICK 612 +#define GLUT_OWNS_JOYSTICK 613 +#define GLUT_JOYSTICK_BUTTONS 614 +#define GLUT_JOYSTICK_AXES 615 +#define GLUT_JOYSTICK_POLL_RATE 616 +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE 800 +#define GLUT_LAYER_IN_USE 801 +#define GLUT_HAS_OVERLAY 802 +#define GLUT_TRANSPARENT_INDEX 803 +#define GLUT_NORMAL_DAMAGED 804 +#define GLUT_OVERLAY_DAMAGED 805 + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE 900 +#define GLUT_VIDEO_RESIZE_IN_USE 901 +#define GLUT_VIDEO_RESIZE_X_DELTA 902 +#define GLUT_VIDEO_RESIZE_Y_DELTA 903 +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 +#define GLUT_VIDEO_RESIZE_X 906 +#define GLUT_VIDEO_RESIZE_Y 907 +#define GLUT_VIDEO_RESIZE_WIDTH 908 +#define GLUT_VIDEO_RESIZE_HEIGHT 909 +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +extern void APIENTRY glutInit(int *argcp, char **argv); +extern void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutInitDisplayString(const char *string); +#endif +extern void APIENTRY glutInitWindowPosition(int x, int y); +extern void APIENTRY glutInitWindowSize(int width, int height); +extern void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +extern int APIENTRY glutCreateWindow(const char *title); +extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +extern void APIENTRY glutDestroyWindow(int win); +extern void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowRedisplay(int win); +#endif +extern void APIENTRY glutSwapBuffers(void); +extern int APIENTRY glutGetWindow(void); +extern void APIENTRY glutSetWindow(int win); +extern void APIENTRY glutSetWindowTitle(const char *title); +extern void APIENTRY glutSetIconTitle(const char *title); +extern void APIENTRY glutPositionWindow(int x, int y); +extern void APIENTRY glutReshapeWindow(int width, int height); +extern void APIENTRY glutPopWindow(void); +extern void APIENTRY glutPushWindow(void); +extern void APIENTRY glutIconifyWindow(void); +extern void APIENTRY glutShowWindow(void); +extern void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutFullScreen(void); +extern void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWarpPointer(int x, int y); +#if (GLUT_MACOSX_IMPLEMENTATION >= 1) +/* surface texturing API Mac OS X specific +* Note: +* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object +*/ +#ifdef MAC_OS_X_VERSION_10_5 +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 +#else +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); +#endif +#endif +#if (GLUT_MACOSX_IMPLEMENTATION >= 2) +/* Mac OS X specific API */ +extern void APIENTRY glutWMCloseFunc(void (*func)(void)); +extern void APIENTRY glutCheckLoop(void); +#endif +#endif + +/* GLUT overlay sub-API. */ +extern void APIENTRY glutEstablishOverlay(void); +extern void APIENTRY glutRemoveOverlay(void); +extern void APIENTRY glutUseLayer(GLenum layer); +extern void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +extern void APIENTRY glutShowOverlay(void); +extern void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +extern int APIENTRY glutCreateMenu(void (*)(int)); +extern void APIENTRY glutDestroyMenu(int menu); +extern int APIENTRY glutGetMenu(void); +extern void APIENTRY glutSetMenu(int menu); +extern void APIENTRY glutAddMenuEntry(const char *label, int value); +extern void APIENTRY glutAddSubMenu(const char *label, int submenu); +extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +extern void APIENTRY glutRemoveMenuItem(int item); +extern void APIENTRY glutAttachMenu(int button); +extern void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +extern void APIENTRY glutDisplayFunc(void (*func)(void)); +extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); +extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); +extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutEntryFunc(void (*func)(int state)); +extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); +extern void APIENTRY glutIdleFunc(void (*func)(void)); +extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); +extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); +#if (GLUT_API_VERSION >= 2) +extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); +extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); +extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); +extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); +extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +//#ifdef GLUT_OF_007_HACK +extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); +//#endif +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +extern GLfloat APIENTRY glutGetColor(int ndx, int component); +extern void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +extern int APIENTRY glutGet(GLenum type); +extern int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +extern int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +extern int APIENTRY glutGetModifiers(void); +extern int APIENTRY glutLayerGet(GLenum type); +#endif +#if (GLUT_API_VERSION >= 5) +extern void * APIENTRY glutGetProcAddress(const char *procName); +#endif + +/* GLUT font sub-API */ +extern void APIENTRY glutBitmapCharacter(void *font, int character); +extern int APIENTRY glutBitmapWidth(void *font, int character); +extern void APIENTRY glutStrokeCharacter(void *font, int character); +extern int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutWireCube(GLdouble size); +extern void APIENTRY glutSolidCube(GLdouble size); +extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutWireDodecahedron(void); +extern void APIENTRY glutSolidDodecahedron(void); +extern void APIENTRY glutWireTeapot(GLdouble size); +extern void APIENTRY glutSolidTeapot(GLdouble size); +extern void APIENTRY glutWireOctahedron(void); +extern void APIENTRY glutSolidOctahedron(void); +extern void APIENTRY glutWireTetrahedron(void); +extern void APIENTRY glutSolidTetrahedron(void); +extern void APIENTRY glutWireIcosahedron(void); +extern void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +extern int APIENTRY glutVideoResizeGet(GLenum param); +extern void APIENTRY glutSetupVideoResizing(void); +extern void APIENTRY glutStopVideoResizing(void); +extern void APIENTRY glutVideoResize(int x, int y, int width, int height); +extern void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +extern void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +extern void APIENTRY glutIgnoreKeyRepeat(int ignore); +extern void APIENTRY glutSetKeyRepeat(int repeatMode); +extern void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE 0 +#define GLUT_GAME_MODE_POSSIBLE 1 +#define GLUT_GAME_MODE_WIDTH 2 +#define GLUT_GAME_MODE_HEIGHT 3 +#define GLUT_GAME_MODE_PIXEL_DEPTH 4 +#define GLUT_GAME_MODE_REFRESH_RATE 5 +#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 + +extern void APIENTRY glutGameModeString(const char *string); +extern int APIENTRY glutEnterGameMode(void); +extern void APIENTRY glutLeaveGameMode(void); +extern int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif /* __glut_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutbitmap.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutbitmap.h new file mode 100644 index 0000000..e29a016 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutbitmap.h @@ -0,0 +1,30 @@ +#ifndef __glutbitmap_h__ +#define __glutbitmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glut.h" + +typedef struct { + const GLsizei width; + const GLsizei height; + const GLfloat xorig; + const GLfloat yorig; + const GLfloat advance; + const GLubyte *bitmap; +} BitmapCharRec, *BitmapCharPtr; + +typedef struct { + const char *name; + const int num_chars; + const int first; + const BitmapCharRec * const *ch; +} BitmapFontRec, *BitmapFontPtr; + +typedef void *GLUTbitmapFont; + +#endif /* __glutbitmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutf90.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutf90.h new file mode 100644 index 0000000..f8a170b --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutf90.h @@ -0,0 +1,90 @@ +#ifndef __glutf90_h__ +#define __glutf90_h__ + +/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +/* This header provides the binding interface for William Mitchell's + f90gl Fortran 90 GLUT binding. Other GLUT language bindings + can and should use this interace. */ + +/* I appreciate the guidance from William Mitchell + (mitchell@cam.nist.gov) in developing this friend interface + for use by the f90gl package. See ../../README.fortran */ + +#include + +#ifndef GLUTCALLBACK + #define GLUTCALLBACK +#endif +#ifndef APIENTRY + #define APIENTRY +#endif + +/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ +/* NOTE These values are part of a binary interface for the f90gl Fortran + 90 binding and so must NOT changes (additions are allowed). */ + +/* GLUTwindow callbacks. */ +#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ +#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ +#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ +#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ +#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ +#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ +#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ +#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ +#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ +#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ +#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ +#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ +#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ +#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ +#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ +#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ +#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ +#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ +#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ +#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ +#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ +/* Non-GLUTwindow callbacks. */ +#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ +#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ +#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ + +/* GLUT Fortran callback function types. */ +typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); +typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); +typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); +/* NOTE the pressed key is int, not unsigned char for Fortran! */ +typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); +typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); +typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); +typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); + +typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); +typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); +typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ +typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTidleFCB) (void); + +/* Functions that set and return Fortran callback functions. */ +extern void* APIENTRY __glutGetFCB(int which); +extern void APIENTRY __glutSetFCB(int which, void *func); + +#endif /* __glutf90_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutstroke.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutstroke.h new file mode 100644 index 0000000..cbc9e15 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/glutstroke.h @@ -0,0 +1,42 @@ +#ifndef __glutstroke_h__ +#define __glutstroke_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +#endif + +typedef struct { + float x; + float y; +} CoordRec, *CoordPtr; + +typedef struct { + int num_coords; + const CoordRec *coord; +} StrokeRec, *StrokePtr; + +typedef struct { + int num_strokes; + const StrokeRec *stroke; + float center; + float right; +} StrokeCharRec, *StrokeCharPtr; + +typedef struct { + const char *name; + int num_chars; + const StrokeCharRec *ch; + float top; + float bottom; +} StrokeFontRec, *StrokeFontPtr; + +typedef void *GLUTstrokeFont; + +#endif /* __glutstroke_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/gutil.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/gutil.h new file mode 100644 index 0000000..f7ffcf3 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/gutil.h @@ -0,0 +1,89 @@ + +/* + * gutil.h + * + * FUNCTION: + * Provide utilities that allow rotation to occur + * around any axis. + * + * HISTORY: + * created by Linas Vepstas 1990 + * added single & double precision, June 1991, Linas Vepstas + */ + +#ifndef __GUTIL_H__ +#define __GUTIL_H__ + +#ifdef __GUTIL_DOUBLE +#define gutDouble double +#else +#define gutDouble float +#endif + + +#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (); +extern void rot_about_axis_f (); +extern void rot_omega_f (); +extern void urot_axis_f (); +extern void urot_about_axis_f (); +extern void urot_omega_f (); + +/* double-precision versions */ +extern void rot_axis_d (); +extern void rot_about_axis_d (); +extern void rot_omega_d (); +extern void urot_axis_d (); +extern void urot_about_axis_d (); +extern void urot_omega_d (); + +/* viewpoint functions */ +extern void uview_direction_d (); +extern void uview_direction_f (); +extern void uviewpoint_d (); +extern void uviewpoint_f (); + +#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (float omega, float axis[3]); +extern void rot_about_axis_f (float angle, float axis[3]); +extern void rot_omega_f (float axis[3]); +extern void urot_axis_f (float m[4][4], float omega, float axis[3]); +extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); +extern void urot_omega_f (float m[4][4], float axis[3]); + +/* double-precision versions */ +extern void rot_axis_d (double omega, double axis[3]); +extern void rot_about_axis_d (double angle, double axis[3]); +extern void rot_omega_d (double axis[3]); +extern void urot_axis_d (double m[4][4], double omega, double axis[3]); +extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); +extern void urot_omega_d (double m[4][4], double axis[3]); + +/* viewpoint functions */ +extern void uview_direction_d (double m[4][4], /* returned */ + double v21[3], /* input */ + double up[3]); /* input */ + +extern void uview_direction_f (float m[4][4], /* returned */ + float v21[3], /* input */ + float up[3]); /* input */ + +extern void uviewpoint_d (double m[4][4], /* returned */ + double v1[3], /* input */ + double v2[3], /* input */ + double up[3]); /* input */ + +extern void uviewpoint_f (float m[4][4], /* returned */ + float v1[3], /* input */ + float v2[3], /* input */ + float up[3]); /* input */ + +#endif /* _NO_PROTO */ + +#endif /* _GUTIL_H__ */ + +/* ------------------- end of file ---------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/intersect.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/intersect.h new file mode 100644 index 0000000..f5ff7a5 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/intersect.h @@ -0,0 +1,391 @@ +/* + * FUNCTION: + * This file contains a number of utilities useful to 3D graphics in + * general, and to the generation of tubing and extrusions in particular + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Updated to correctly handle degenerate cases, Linas, February 1993 + */ + +#include +#include "port.h" +#include "vvector.h" + +#define BACKWARDS_INTERSECT (2) + +/* ========================================================== */ +/* + * the Degenerate_Tolerance token represents the greatest amount by + * which different scales in a graphics environment can differ before + * they should be considered "degenerate". That is, when one vector is + * a million times longer than another, changces are that the second will + * be less than a pixel int, and therefore was probably meant to be + * degenerate (by the CAD package, etc.) But what should this tolerance + * be? At least 1 in onethousand (since screen sizes are 1K pixels), but + * les than 1 in 4 million (since this is the limit of single-precision + * floating point accuracy). Of course, if double precision were used, + * then the tolerance could be increased. + * + * Potentially, this naive assumption could cause problems if the CAD + * package attempts to zoom in on small details, and turns out, certain + * points should not hvae been degenerate. The problem presented here + * is that the tolerance could run out before single-precision ran + * out, and so the CAD packages would perceive this as a "bug". + * One alternative is to fiddle around & try to tighten the tolerance. + * However, the right alternative is to code the graphics pipeline in + * double-precision (and tighten the tolerance). + * + * By the way, note that Degernate Tolerance is a "dimensionless" + * quantitiy -- it has no units -- it does not measure feet, inches, + * millimeters or pixels. It is used only in the computations of ratios + * and relative lengths. + */ + +/* + * Right now, the tolerance is set to 2 parts in a million, which + * corresponds to a 19-bit distinction of mantissas. Note that + * single-precsion numbers have 24 bit mantissas. + */ + +#define DEGENERATE_TOLERANCE (0.000002) + +/* ========================================================== */ +/* + * The macro and subroutine INTERSECT are designed to compute the + * intersection of a line (defined by the points v1 and v2) and a plane + * (defined as plane which is normal to the vector n, and contains the + * point p). Both return the point sect, which is the point of + * interesection. + * + * This MACRO attemps to be fairly robust by checking for a divide by + * zero. + */ + +/* ========================================================== */ +/* + * HACK ALERT + * The intersection parameter t has the nice property that if t>1, + * then the intersection is "in front of" p1, and if t<0, then the + * intersection is "behind" p2. Unfortunately, as the intersecting plane + * and the line become parallel, t wraps through infinity -- i.e. t can + * become so large that t becomes "greater than infinity" and comes back + * as a negative number (i.e. winding number hopped by one unit). We + * have no way of detecting this situation without adding gazzillions + * of lines of code of topological algebra to detect the winding number; + * and this would be incredibly difficult, and ruin performance. + * + * Thus, we've installed a cheap hack for use by the "cut style" drawing + * routines. If t proves to be a large negative number (more negative + * than -5), then we assume that t was positive and wound through + * infinity. This makes most cuts look good, without introducing bogus + * cuts at infinity. + */ +/* ========================================================== */ + +#define INTERSECT(sect,p,n,v1,v2) \ +{ \ + gleDouble deno, numer, t, omt; \ + \ + deno = (v1[0] - v2[0]) * n[0]; \ + deno += (v1[1] - v2[1]) * n[1]; \ + deno += (v1[2] - v2[2]) * n[2]; \ + \ + if (deno == 0.0) { \ + VEC_COPY (n, v1); \ + /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ + } else { \ + \ + numer = (p[0] - v2[0]) * n[0]; \ + numer += (p[1] - v2[1]) * n[1]; \ + numer += (p[2] - v2[2]) * n[2]; \ + \ + t = numer / deno; \ + omt = 1.0 - t; \ + \ + sect[0] = t * v1[0] + omt * v2[0]; \ + sect[1] = t * v1[1] + omt * v2[1]; \ + sect[2] = t * v1[2] + omt * v2[2]; \ + } \ +} + +/* ========================================================== */ +/* + * The macro and subroutine BISECTING_PLANE compute a normal vector that + * describes the bisecting plane between three points (v1, v2 and v3). + * This bisecting plane has the following properties: + * 1) it contains the point v2 + * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it + * makes with v32 == v3 - v2 + * 3) it is perpendicular to the plane defined by v1, v2, v3. + * + * Having input v1, v2, and v3, it returns a unit vector n. + * + * In some cases, the user may specify degenerate points, and still + * expect "reasonable" or "obvious" behaviour. The "expected" + * behaviour for these degenerate cases is: + * + * 1) if v1 == v2 == v3, then return n=0 + * 2) if v1 == v2, then return v32 (normalized). + * 3) if v2 == v3, then return v21 (normalized). + * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). + * + * Mathematically, these special cases "make sense" -- we just have to + * code around potential divide-by-zero's in the code below. + */ + +/* ========================================================== */ + +#define BISECTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as bisector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ + (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ +/* + * The block of code below is ifdef'd out, and is here for reference + * purposes only. It performs the "mathematically right thing" for + * computing a bisecting plane, but is, unfortunately, subject ot noise + * in the presence of near degenerate points. Since computer graphics, + * due to sloppy coding, laziness, or correctness, is filled with + * degenerate points, we can't really use this version. The code above + * is far more appropriate for graphics. + */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define BISECTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 == 0.0) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + } \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + if (len32 == 0.0) { \ + /* return a normalized copy of v21 as bisector */ \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot == 1.0) || (vdot == -1.0)) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} +#endif + +/* ========================================================== */ +/* + * This macro computes the plane perpendicular to the the plane + * defined by three points, and whose normal vector is givven as the + * difference between the two vectors ... + * + * (See way below for the "math" model if you want to understand this. + * The comments about relative errors above apply here.) + */ + +#define CUTTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double lendiff; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as cut-vector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as cut vector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_LENGTH (lendiff, n); \ + \ + /* if the perp vector is very small, then the two \ + * vectors are darn near collinear, and the cut \ + * vector is probably poorly defined. */ \ + if (lendiff < DEGENERATE_TOLERANCE) { \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + lendiff = 1.0 / lendiff; \ + VEC_SCALE (n, lendiff, n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define CUTTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_NORMALIZE (v21); \ + VEC_NORMALIZE (v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_NORMALIZE (n); \ +} +#endif + + +/* ============================================================ */ +/* This macro is used in several places to cycle through a series of + * points to find the next non-degenerate point in a series */ + +#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ +{ \ + gleDouble slen; \ + gleDouble summa[3]; \ + \ + do { \ + /* get distance to next point */ \ + VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (len, diff); \ + VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (slen, summa); \ + slen *= DEGENERATE_TOLERANCE; \ + inext ++; \ + } while ((len <= slen) && (inext < npoints-1)); \ +} + +/* ========================================================== */ + +extern int bisecting_plane (gleDouble n[3], /* returned */ + gleDouble v1[3], /* input */ + gleDouble v2[3], /* input */ + gleDouble v3[3]); /* input */ + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/port.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/port.h new file mode 100644 index 0000000..2827bbf --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/port.h @@ -0,0 +1,298 @@ + +/* + * port.h + * + * FUNCTION: + * This file contains defines for porting the tubing toolkit from GL to + * OpenGL to some callback scheme. + * + * HISTORY: + * Created by Linas Vepstas -- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + */ + +#ifndef __GLE_PORT_H__ +#define __GLE_PORT_H__ + + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ====================================================== */ +/* Some compilers can't handle multiply-subscripted array's */ + +#ifdef FUNKY_C +typedef gleDouble gleVector; +#define AVAL(arr,n,i,j) arr(6*n+3*i+j) +#define VVAL(arr,n,i) arr(3*n+i) + +#else /* FUNKY_C */ +typedef double gleVector[3]; +typedef double glePoint[2]; +#define AVAL(arr,n,i,j) arr[n][i][j] +#define VVAL(arr,n,i) arr[n][i]; + +#endif /* FUNKY_C */ + +/* ====================================================== */ +/* These are used to convey info about topography to the + * texture mapping routines */ + +#define FRONT 1 +#define BACK 2 +#define FRONT_CAP 3 +#define BACK_CAP 4 +#define FILLET 5 + +/* ====================================================== */ + +#define __GLE_DOUBLE + +/* ====================================================== */ + +#ifdef __GLE_DOUBLE +#ifndef gleDouble + #define gleDouble double +#endif +#define urot_axis(a,b,c) urot_axis_d(a,b,c) +#define uview_direction(a,b,c) uview_direction_d(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_D(m) +#define LOADMATRIX(m) LOADMATRIX_D(m) +#define V3F(x,j,id) V3F_D(x,j,id) +#define N3F(x) N3F_D(x) +#define T2F(x,y) T2F_D(x,y) +#else +#define gleDouble float +#define urot_axis(a,b,c) urot_axis_f(a,b,c) +#define uview_direction(a,b,c) uview_direction_f(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_F(m) +#define LOADMATRIX(m) LOADMATRIX_F(m) +#define V3F(x,j,id) V3F_F(x,j,id) +#define N3F(x) N3F_F(x) +#define T2F(x,y) T2F_F(x,y) +#endif + +/* ====================================================== */ + +#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) +#undef GL_32 +#undef OPENGL_10 + +#define BGNTMESH(i,len) printf ("bgntmesh() \n"); +#define ENDTMESH() printf ("endtmesh() \n"); +#define BGNPOLYGON() printf ("bgnpolygon() \n"); +#define ENDPOLYGON() printf ("endpolygon() \n"); +#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); + +#define POPMATRIX() printf ("popmatrix () \n"); +#define PUSHMATRIX() printf ("pushmatrix() \n"); +#define MULTMATRIX_F(x) MULTMATRIX_D(x) +#define LOADMATRIX_F(x) LOADMATRIX_D(x) + + +#define LOADMATRIX_D(x) { \ + int i, j; \ + printf ("loadmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + printf ("multmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define __IS_LIGHTING_ON (1) + +#endif + +/* ====================================================== */ + +#ifdef GL_32 + +#include + +#define BGNTMESH(i,len) bgntmesh() +#define ENDTMESH() endtmesh() +#define BGNPOLYGON() bgnpolygon() +#define ENDPOLYGON() endpolygon() +#define V3F_F(x,j,id) v3f(x) +#define V3F_D(x,j,id) v3d(x) +#define N3F_F(x) n3f(x) +#define T2F_F(x,y) +#define T2F_D(x,y) +#define C3F(x) c3f(x) + +#define POPMATRIX() popmatrix () +#define PUSHMATRIX() pushmatrix() +#define MULTMATRIX_F(x) multmatrix (x) +#define LOADMATRIX_F(x) loadmatrix (x) + +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = (float) x[0]; \ + nnn[1] = (float) x[1]; \ + nnn[2] = (float) x[2]; \ + n3f (nnn); \ +} + +#define LOADMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + loadmatrix(mmm); \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + multmatrix(mmm); \ +} + +/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ +#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) + +#endif /* GL_32 */ + +/* ====================================================== */ +#ifdef OPENGL_10 + +#if defined(_WIN32) +#include +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#endif +#include +#include + +/* +#define N3F_F(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +*/ + +#define C3F(x) glColor3fv(x) +#define T2F_F(x,y) glTexCoord2f(x,y) +#define T2F_D(x,y) glTexCoord2d(x,y) + +#define POPMATRIX() glPopMatrix() +#define PUSHMATRIX() glPushMatrix() + +#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) +#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) + +#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) +#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) + +#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) + +/* ====================================================== */ +#ifdef AUTO_TEXTURE + +#define BGNTMESH(i,len) { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ + glBegin (GL_TRIANGLE_STRIP); \ +} + +#define BGNPOLYGON() { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ + glBegin (GL_POLYGON); \ +} + +#define N3F_F(x) { \ + if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ + glNormal3fv(x); \ +} + +#define N3F_D(x) { \ + if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ + glNormal3dv(x); \ +} + +#define V3F_F(x,j,id) { \ + if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ + glVertex3fv(x); \ +} + +#define V3F_D(x,j,id) { \ + if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ + glVertex3dv(x); \ +} + +#define ENDTMESH() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +#define ENDPOLYGON() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +/* ====================================================== */ +#else /* AUTO_TEXTURE */ + +#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); +#define BGNPOLYGON() glBegin (GL_POLYGON); + +#define N3F_F(x) glNormal3fv(x) +#define N3F_D(x) glNormal3dv(x) +#define V3F_F(x,j,id) glVertex3fv(x); +#define V3F_D(x,j,id) glVertex3dv(x); + +#define ENDTMESH() glEnd () +#define ENDPOLYGON() glEnd() + +#endif /* AUTO_TEXTURE */ + +#endif /* OPENGL_10 */ + +/* ====================================================== */ + + +#endif /* __GLE_PORT_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/rot.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/rot.h new file mode 100644 index 0000000..91083e9 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/rot.h @@ -0,0 +1,98 @@ + +/* + * rot.h + * + * FUNCTION: + * rotation matrix utilities + * + * HISTORY: + * Linas Vepstas Aug 1990 + */ + +/* ========================================================== */ +/* + * The MACROS below generate and return more traditional rotation + * matrices -- matrices for rotations about principal axes. + */ +/* ========================================================== */ + +#define ROTX_CS(m,cosine,sine) \ +{ \ + /* rotation about the x-axis */ \ + \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = (cosine); \ + m[1][2] = (sine); \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = -(sine); \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTY_CS(m,cosine,sine) \ +{ \ + /* rotation about the y-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = 0.0; \ + m[0][2] = -(sine); \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = (sine); \ + m[2][1] = 0.0; \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTZ_CS(m,cosine,sine) \ +{ \ + /* rotation about the z-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = (sine); \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = -(sine); \ + m[1][1] = (cosine); \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/segment.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/segment.h new file mode 100644 index 0000000..8d1cf04 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/segment.h @@ -0,0 +1,98 @@ + +/* + * MODULE: segment.h + * + * FUNCTION: + * Contains function prototypes for segment drawing subroutines. + * These are used only internally, and are not to be exported to + * the user. + * + * HISTORY: + * Create by Linas Vepstas + * Added tube.h include to define gleDouble, tad February 2002 + */ + +/* ============================================================ */ + +#include "tube.h" + +extern void draw_segment_plain (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + int inext, double len); + +extern void draw_segment_color (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_edge_n (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_edge_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +/* ============================================================ */ + +extern void draw_binorm_segment_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_binorm_segment_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ + gleDouble bi[3], /* biscetor */ + gleDouble point_array[][3]); /* polyline */ + +/* -------------------------- end of file -------------------------------- */ + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube.h new file mode 100644 index 0000000..c303e19 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube.h @@ -0,0 +1,203 @@ +/* + * tube.h + * + * FUNCTION: + * Tubing and Extrusion header file. + * This file provides protypes and defines for the extrusion + * and tubing primitives. + * + * HISTORY: + * Linas Vepstas 1990, 1991 + */ + +#ifndef __TUBE_H__ +#define __TUBE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLE API revision history: + + GLE_API_VERSION is updated to reflect GLE API changes (interface + changes, semantic changes, deletions, or additions). + + GLE_API_VERSION=228 GLUT 3.7 release of GLE. +**/ +#ifndef GLE_API_VERSION /* allow this to be overriden */ +#define GLE_API_VERSION 228 +#endif + +/* some types */ +#ifndef gleDouble + #define gleDouble double +#endif +typedef gleDouble gleAffine[2][3]; + +/* ====================================================== */ + +/* defines for tubing join styles */ +#define TUBE_JN_RAW 0x1 +#define TUBE_JN_ANGLE 0x2 +#define TUBE_JN_CUT 0x3 +#define TUBE_JN_ROUND 0x4 +#define TUBE_JN_MASK 0xf /* mask bits */ +#define TUBE_JN_CAP 0x10 + +/* determine how normal vectors are to be handled */ +#define TUBE_NORM_FACET 0x100 +#define TUBE_NORM_EDGE 0x200 +#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ +#define TUBE_NORM_MASK 0xf00 /* mask bits */ + +/* closed or open countours */ +#define TUBE_CONTOUR_CLOSED 0x1000 + +#define GLE_TEXTURE_ENABLE 0x10000 +#define GLE_TEXTURE_STYLE_MASK 0xff +#define GLE_TEXTURE_VERTEX_FLAT 1 +#define GLE_TEXTURE_NORMAL_FLAT 2 +#define GLE_TEXTURE_VERTEX_CYL 3 +#define GLE_TEXTURE_NORMAL_CYL 4 +#define GLE_TEXTURE_VERTEX_SPH 5 +#define GLE_TEXTURE_NORMAL_SPH 6 +#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 +#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 +#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 +#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 +#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 +#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 + +#ifdef GL_32 +/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ +#define TUBE_LIGHTING_ON 0x80000000 + +#define gleExtrusion extrusion +#define gleSetJoinStyle setjoinstyle +#define gleGetJoinStyle getjoinstyle +#define glePolyCone polycone +#define glePolyCylinder polycylinder +#define gleSuperExtrusion super_extrusion +#define gleTwistExtrusion twist_extrusion +#define gleSpiral spiral +#define gleLathe lathe +#define gleHelicoid helicoid +#define gleToroid toroid +#define gleScrew screw + +#endif /* GL_32 */ + +extern int gleGetJoinStyle (void); +extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ +extern int gleGetNumSlices(void); +extern void gleSetNumSlices(int slices); + +/* draw polyclinder, specified as a polyline */ +extern void glePolyCylinder (int npoints, /* num points in polyline */ + gleDouble point_array[][3], /* polyline vertces */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius); /* radius of polycylinder */ + +/* draw polycone, specified as a polyline with radii */ +extern void glePolyCone (int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius_array[]); /* cone radii at polyline verts */ + +/* extrude arbitrary 2D contour along arbitrary 3D path */ +extern void gleExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3]); /* colors at polyline verts */ + +/* extrude 2D contour, specifying local rotations (twists) */ +extern void gleTwistExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble twist_array[]); /* countour twists (in degrees) */ + +/* extrude 2D contour, specifying local affine tranformations */ +extern void gleSuperExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* spiral moves contour along helical path by parallel transport */ +extern void gleSpiral (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* lathe moves contour along helical path by helically shearing 3D space */ +extern void gleLathe (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to spiral, except contour is a circle */ +extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to lathe, except contour is a circle */ +extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* draws a screw shape */ +extern void gleScrew (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startz, /* start of segment */ + gleDouble endz, /* end of segment */ + gleDouble twist); /* number of rotations */ + +extern void gleTextureMode (int mode); + +#ifdef __cplusplus +} + +#endif +#endif /* __TUBE_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube_gc.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube_gc.h new file mode 100644 index 0000000..ccd2853 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/tube_gc.h @@ -0,0 +1,78 @@ + +/* + * tube_gc.h + * + * FUNCTION: + * This file allows for easy changes to changes in the way the extrusion + * library handles state info (i.e. context). + * + * HISTORY: + * Linas Vepstas --- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + * Added tube.h include to define gleDouble, tad February 2002 + */ + +#include "tube.h" +#include "port.h" /* for gleVector */ + +typedef float gleColor[3]; +typedef double gleTwoVec[2]; + +typedef struct { + + /* public methods */ + void (*bgn_gen_texture) (int, double); + void (*n3f_gen_texture) (float *); + void (*n3d_gen_texture) (double *); + void (*v3f_gen_texture) (float *, int, int); + void (*v3d_gen_texture) (double *, int, int); + void (*end_gen_texture) (void); + + /* protected members -- "general knowledge" stuff */ + int join_style; + + /* arguments passed into extrusion code */ + int ncp; /* number of contour points */ + gleTwoVec *contour; /* 2D contour */ + gleTwoVec *cont_normal; /* 2D contour normals */ + gleDouble *up; /* up vector */ + int npoints; /* number of points in polyline */ + gleVector *point_array; /* path */ + gleColor *color_array; /* path colors */ + gleAffine *xform_array; /* contour xforms */ + + /* private members, used by texturing code */ + int num_vert; + int segment_number; + double segment_length; + double accum_seg_len; + double prev_x; + double prev_y; + + void (*save_bgn_gen_texture) (int, double); + void (*save_n3f_gen_texture) (float *); + void (*save_n3d_gen_texture) (double *); + void (*save_v3f_gen_texture) (float *, int, int); + void (*save_v3d_gen_texture) (double *, int, int); + void (*save_end_gen_texture) (void); + +} gleGC; + +extern gleGC *_gle_gc; +extern gleGC * gleCreateGC (void); + +#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } +#define extrusion_join_style (_gle_gc->join_style) + +#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) +#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) +#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) +#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) + +#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) +#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) +#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) +#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) +#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) + +/* ======================= END OF FILE ========================== */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/vvector.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/vvector.h new file mode 100644 index 0000000..b58dcd6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/vvector.h @@ -0,0 +1,1339 @@ + +/* + * vvector.h + * + * FUNCTION: + * This file contains a number of utilities useful for handling + * 3D vectors + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Added 2D code, March 1993 + * Added Outer products, C++ proofed, Linas Vepstas October 1993 + */ + +#ifndef __GUTIL_VECTOR_H__ +#define __GUTIL_VECTOR_H__ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + + +#include +#include "port.h" + +/* ========================================================== */ +/* Zero out a 2D vector */ + +#define VEC_ZERO_2(a) \ +{ \ + (a)[0] = (a)[1] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 3D vector */ + +#define VEC_ZERO(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 4D vector */ + +#define VEC_ZERO_4(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ +} + +/* ========================================================== */ +/* Vector copy */ + +#define VEC_COPY_2(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ +} + +/* ========================================================== */ +/* Copy 3D vector */ + +#define VEC_COPY(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ +} + +/* ========================================================== */ +/* Copy 4D vector */ + +#define VEC_COPY_4(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ + (b)[3] = (a)[3]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ + (v21)[3] = (v2)[3] - (v1)[3]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ + (v21)[3] = (v2)[3] + (v1)[3]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_2(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_4(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ + (c)[3] = (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_2(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_4(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ + (c)[3] += (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_2(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_4(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ +} + +/* ========================================================== */ +/* vector impact parameter (squared) */ + +#define VEC_IMPACT_SQ(bsq,direction,position) \ +{ \ + gleDouble vlen, llel; \ + VEC_DOT_PRODUCT (vlen, position, position); \ + VEC_DOT_PRODUCT (llel, direction, position); \ + bsq = vlen - llel*llel; \ +} + +/* ========================================================== */ +/* vector impact parameter */ + +#define VEC_IMPACT(bsq,direction,position) \ +{ \ + VEC_IMPACT_SQ(bsq,direction,position); \ + bsq = sqrt (bsq); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_2(vlen,a) \ +{ \ + vlen = a[0]*a[0] + a[1]*a[1]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_4(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen += (a)[3] * (a)[3]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* distance between two points */ + +#define VEC_DISTANCE(vlen,va,vb) \ +{ \ + gleDouble tmp[4]; \ + VEC_DIFF (tmp, vb, va); \ + VEC_LENGTH (vlen, tmp); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_CONJUGATE_LENGTH(vlen,a) \ +{ \ + vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_NORMALIZE(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = 1.0 / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_RENORMALIZE(a,newlen) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = newlen / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* 3D Vector cross product yeilding vector */ + +#define VEC_CROSS_PRODUCT(c,a,b) \ +{ \ + c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ + c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ + c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ +} + +/* ========================================================== */ +/* Vector perp -- assumes that n is of unit length + * accepts vector v, subtracts out any component parallel to n */ + +#define VEC_PERP(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (v)[0] - (vdot) * (n)[0]; \ + vp[1] = (v)[1] - (vdot) * (n)[1]; \ + vp[2] = (v)[2] - (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector parallel -- assumes that n is of unit length + * accepts vector v, subtracts out any component perpendicular to n */ + +#define VEC_PARALLEL(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (vdot) * (n)[0]; \ + vp[1] = (vdot) * (n)[1]; \ + vp[2] = (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector reflection -- assumes n is of unit length */ +/* Takes vector v, reflects it against reflector n, and returns vr */ + +#define VEC_REFLECT(vr,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ + vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ + vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector blending */ +/* Takes two vectors a, b, blends them together */ + +#define VEC_BLEND(vr,sa,a,sb,b) \ +{ \ + \ + vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ + vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ + vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_2(a) \ +{ \ + double vlen; \ + VEC_LENGTH_2 (vlen, a); \ + printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen, (a)); \ + printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_4(a) \ +{ \ + double vlen; \ + VEC_LENGTH_4 (vlen, (a)); \ + printf (" a is %f %f %f %f length of a is %f \n", \ + (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_4X4(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_3X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<3; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_2X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<2; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_3X3(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_4X4(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + b[0][3] = a[0][3]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + b[1][3] = a[1][3]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[2][3]; \ + \ + b[3][0] = a[3][0]; \ + b[3][1] = a[3][1]; \ + b[3][2] = a[3][2]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + b[0][3] = a[3][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + b[1][3] = a[3][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[3][2]; \ + \ + b[3][0] = a[0][3]; \ + b[3][1] = a[1][3]; \ + b[3][2] = a[2][3]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + b[0][3] = (s) * a[0][3]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + b[1][3] = (s) * a[1][3]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ + b[2][3] = (s) * a[2][3]; \ + \ + b[3][0] = s * a[3][0]; \ + b[3][1] = s * a[3][1]; \ + b[3][2] = s * a[3][2]; \ + b[3][3] = s * a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + b[0][3] += (s) * a[0][3]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + b[1][3] += (s) * a[1][3]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ + b[2][3] += (s) * a[2][3]; \ + \ + b[3][0] += (s) * a[3][0]; \ + b[3][1] += (s) * a[3][1]; \ + b[3][2] += (s) * a[3][2]; \ + b[3][3] += (s) * a[3][3]; \ +} + +/* +========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_2X2(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_3X3(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_4X4(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ + c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ + c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ + c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ + \ + c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ + c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ + c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ + c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_3X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_4X4(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ + p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ +} + +/* ========================================================== */ +/* vector transpose times matrix */ +/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ + +#define VEC_DOT_MAT_3X3(p,v,m) \ +{ \ + p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ + p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ + p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ +} + +/* ========================================================== */ +/* affine matrix times vector */ +/* The matrix is assumed to be an affine matrix, with last two + * entries representing a translation */ + +#define MAT_DOT_VEC_2X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ +} + +/* ========================================================== */ +/* inverse transpose of matrix times vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * + * DANGER !!! Do Not use this on normal vectors!!! + * It will leave normals the wrong length !!! + * See macro below for use on normals. + */ + +#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + gleDouble det; \ + \ + det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + /* if matrix not singular, and not orthonormal, then renormalize */ \ + if ((det!=1.0) && (det != 0.0)) { \ + det = 1.0 / det; \ + p[0] *= det; \ + p[1] *= det; \ + } \ +} + +/* ========================================================== */ +/* transform normal vector by inverse transpose of matrix + * and then renormalize the vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * Vector p is then normalized. + */ + + +#define NORM_XFORM_2X2(p,m,v) \ +{ \ + double mlen; \ + \ + /* do nothing if off-diagonals are zero and diagonals are \ + * equal */ \ + if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + mlen = p[0]*p[0] + p[1]*p[1]; \ + mlen = 1.0 / sqrt (mlen); \ + p[0] *= mlen; \ + p[1] *= mlen; \ + } else { \ + VEC_COPY_2 (p, v); \ + } \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + m[0][3] = v[0] * t[3]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + m[1][3] = v[1] * t[3]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ + m[2][3] = v[2] * t[3]; \ + \ + m[3][0] = v[3] * t[0]; \ + m[3][1] = v[3] * t[1]; \ + m[3][2] = v[3] * t[2]; \ + m[3][3] = v[3] * t[3]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + m[0][3] += v[0] * t[3]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + m[1][3] += v[1] * t[3]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ + m[2][3] += v[2] * t[3]; \ + \ + m[3][0] += v[3] * t[0]; \ + m[3][1] += v[3] * t[1]; \ + m[3][2] += v[3] * t[2]; \ + m[3][3] += v[3] * t[3]; \ +} + +/* +========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_2X2(d,m) \ +{ \ + d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ +} + +/* ========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_3X3(d,m) \ +{ \ + d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ + d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ + d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ +} + +/* ========================================================== */ +/* i,j,th cofactor of a 4x4 matrix + * + */ + +#define COFACTOR_4X4_IJ(fac,m,i,j) \ +{ \ + int ii[4], jj[4], k; \ + \ + /* compute which row, columnt to skip */ \ + for (k=0; k + + + + IBDocumentLocation + 4 104 410 240 0 0 1152 848 + IBEditorPositions + + 29 + 19 615 246 44 0 0 1152 848 + + IBFramework Version + 291.0 + IBGroupedObjects + + IBLastGroupID + 1 + IBOpenObjects + + 29 + + IBSystem Version + 6I32 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib new file mode 100644 index 0000000..8a7140e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib new file mode 100644 index 0000000..7e85eb1 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib @@ -0,0 +1,13 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {toggleWindow = id; }; + CLASS = GLUTClipboardController; + LANGUAGE = ObjC; + OUTLETS = {_infoText = id; _scrollView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib new file mode 100644 index 0000000..867735d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib @@ -0,0 +1,12 @@ + + + + + IBDocumentLocation + 63 221 356 240 0 0 1600 1178 + IBFramework Version + 263.2 + IBSystem Version + 5S41 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib new file mode 100644 index 0000000..29125d4 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib new file mode 100644 index 0000000..c675963 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib @@ -0,0 +1,73 @@ +{ + IBClasses = ( + { + ACTIONS = {save = id; saveAs = id; }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + ACTIONS = { + cancel = id; + joyAssign = id; + joyDevice = id; + joyElement = id; + joyInvert = id; + launchDebugMode = id; + launchGamemodeCaptureSingle = id; + launchIconic = id; + launchUseCurrWD = id; + launchUseExtDesktop = id; + launchUseMacOSCoords = id; + mouseEanbleEmulation = id; + mouseMiddleMenu = id; + mouseRightMenu = id; + ok = id; + spaceAssign = id; + spaceDevice = id; + spaceElement = id; + spaceInvert = id; + }; + CLASS = GLUTPreferencesController; + LANGUAGE = ObjC; + OUTLETS = { + joyAssign = NSButton; + joyAssignNote = NSTextField; + joyAssignWarningIcon = NSImageView; + joyDeviceMenu = NSPopUpButton; + joyElement = NSTextField; + joyInputMenu = NSPopUpButton; + joyInverted = NSButton; + launchDebugMode = NSButton; + launchFadeTime = NSTextField; + launchGamemodeCaptureSingle = NSButton; + launchIconic = NSButton; + launchInitHeight = NSTextField; + launchInitWidth = NSTextField; + launchInitX = NSTextField; + launchInitY = NSTextField; + launchMenuIdle = NSTextField; + launchSyncToVBL = NSButton; + launchUseCurrWD = NSButton; + launchUseExtendedDesktop = NSButton; + launchUseMacOSXCoords = NSButton; + mouseAssignWarningIcon = NSImageView; + mouseAssignWarningText = NSTextField; + mouseDetected = NSTextField; + mouseEmulation = NSButton; + mouseMiddleConfigMenu = NSPopUpButton; + mouseRightConfigMenu = NSPopUpButton; + prefsTabView = NSTabView; + spaceAssign = NSButton; + spaceAssignNote = NSTextField; + spaceAssignWarningIcon = NSImageView; + spaceDeviceMenu = NSPopUpButton; + spaceElement = NSTextField; + spaceInputMenu = NSPopUpButton; + spaceInverted = NSButton; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib new file mode 100644 index 0000000..216c8dc --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 16 329 410 240 0 0 1920 1178 + IBFramework Version + 439.0 + IBOpenObjects + + 205 + + IBSystem Version + 8G32 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib new file mode 100644 index 0000000..7598f2c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings new file mode 100644 index 0000000..6db3c5c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..6f78b89 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Info.plist b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Info.plist new file mode 100644 index 0000000..e8fc9d6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GLUT + CFBundleGetInfoString + 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved + CFBundleIdentifier + com.apple.glut + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.4.0 + CFBundleSignature + ???? + CFBundleVersion + GLUT-3.4.0 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/blankCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/blankCursor.tiff new file mode 100644 index 0000000..a2b0cf1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/blankCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomCursor.tiff new file mode 100644 index 0000000..c3f4795 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff new file mode 100644 index 0000000..274529f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff new file mode 100644 index 0000000..dec4252 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/crossCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/crossCursor.tiff new file mode 100644 index 0000000..8536c0e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/crossCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/cycleCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/cycleCursor.tiff new file mode 100644 index 0000000..34b52f6 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/cycleCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/destroyCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/destroyCursor.tiff new file mode 100644 index 0000000..9e3a1cb Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/destroyCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/fingerCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/fingerCursor.tiff new file mode 100644 index 0000000..0087c66 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/fingerCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/helpCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/helpCursor.tiff new file mode 100644 index 0000000..fc4a88a Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/helpCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftCursor.tiff new file mode 100644 index 0000000..852b69b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff new file mode 100644 index 0000000..37fe393 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff new file mode 100644 index 0000000..d852616 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightCursor.tiff new file mode 100644 index 0000000..9781f22 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/rightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/sprayCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/sprayCursor.tiff new file mode 100644 index 0000000..9bec966 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/sprayCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topCursor.tiff new file mode 100644 index 0000000..e4df0de Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topleftCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topleftCursor.tiff new file mode 100644 index 0000000..43cf97f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/topleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/toprightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/toprightCursor.tiff new file mode 100644 index 0000000..429b01b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/toprightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/upDownCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/upDownCursor.tiff new file mode 100644 index 0000000..1605063 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/upDownCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/waitCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/waitCursor.tiff new file mode 100644 index 0000000..81ba1aa Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Resources/waitCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/GLUT b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/GLUT new file mode 100644 index 0000000..babc6b1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/GLUT differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/copy.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/copy.h new file mode 100644 index 0000000..a5116e2 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/copy.h @@ -0,0 +1,18 @@ + +/* + * + * Written By Linas Vepstas November 1991 + */ + + +#define COPY_THREE_WORDS(A,B) { \ + struct three_words { int a, b, c, }; \ + *(struct three_words *) (A) = *(struct three_words *) (B); \ +} + +#define COPY_FOUR_WORDS(A,B) { \ + struct four_words { int a, b, c, d, }; \ + *(struct four_words *) (A) = *(struct four_words *) (B); \ +} + +/* ============================================================= */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h new file mode 100644 index 0000000..658699e --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h @@ -0,0 +1,96 @@ + +/* + * extrude.h + * + * FUNCTION: + * prototypes for privately used subroutines for the tubing library + * + * HISTORY: + * Linas Vepstas 1991 + */ + +#include "port.h" /* for gleDouble */ + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ============================================================ */ +/* + * Provides choice of calling subroutine, vs. invoking macro. + * Basically, inlines the source, or not. + * Trades performance for executable size. + */ + +#define INLINE_INTERSECT +#ifdef INLINE_INTERSECT +#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } +#else +#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) +#endif /* INLINE_INTERSECT */ + +/* ============================================================ */ +/* The folowing defines give a kludgy way of accessing the qmesh primitive */ + +/* +#define bgntmesh _emu_qmesh_bgnqmesh +#define endtmesh _emu_qmesh_endqmesh +#define c3f _emu_qmesh_c3f +#define n3f _emu_qmesh_n3f +#define v3f _emu_qmesh_v3f +*/ + +/* ============================================================ */ + +extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3]); /* polyline */ + + +extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble zval, /* where to draw cap */ + int frontwards); /* front or back cap */ + +extern void draw_round_style_cap_callback (int iloop, + double cap[][3], + float face_color[3], + gleDouble cut_vector[3], + gleDouble bisect_vector[3], + double norms[][3], + int frontwards); + +extern void draw_angle_style_front_cap (int ncp, + gleDouble bi[3], + gleDouble point_array[][3]); + +extern void extrusion_raw_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_angle_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* -------------------------- end of file -------------------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h new file mode 100644 index 0000000..baf54a7 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h @@ -0,0 +1,137 @@ +#ifndef __glsmap_h__ +#define __glsmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* Try hard to avoid including to avoid name space pollution, + but Win32's needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef CALLBACK + /* XXX This is from Win32's */ +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif /* _WIN32 */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + SMAP_CLEAR_SMAP_TEXTURE = 0x1, + SMAP_GENERATE_VIEW_MIPMAPS = 0x2, + SMAP_GENERATE_SMAP_MIPMAPS = 0x4, + SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ +} SphereMapFlags; + +/* Cube view enumerants. */ +enum { + SMAP_FRONT = 0, + SMAP_TOP = 1, + SMAP_BOTTOM = 2, + SMAP_LEFT = 3, + SMAP_RIGHT = 4, + SMAP_BACK = 5 +}; + +typedef struct _SphereMap SphereMap; + +extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); +extern void smapDestroySphereMap(SphereMap *smap); + +extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); + +extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); +extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); + +extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); +extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); + +extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); +extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); + +extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); +extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); +extern void smapSetUpVector(SphereMap *smap, GLfloat *up); +extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); +extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); +extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); +extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); +extern void smapGetUpVector(SphereMap *smap, GLfloat *up); +extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); +extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); + +extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); +extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); + +extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); +extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); +extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); +extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); + +extern void smapSetContextData(SphereMap *smap, void *context); +extern void smapGetContextData(SphereMap *smap, void **context); + +extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); +extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); +extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); +extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); + +extern void smapGenViewTex(SphereMap *smap, int view); +extern void smapGenViewTexs(SphereMap *smap); +extern void smapGenSphereMapFromViewTexs(SphereMap *smap); +extern void smapGenSphereMap(SphereMap *smap); +extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); + +extern int smapRvecToSt(float rvec[3], float st[2]); +extern void smapStToRvec(float *st, float *rvec); + +#ifdef __cplusplus +} + +#endif +#endif /* __glsmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h new file mode 100644 index 0000000..3620e7d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h @@ -0,0 +1,102 @@ +#ifndef __glsmapint_h__ +#define __glsmapint_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glsmap.h" + +enum { X = 0, Y = 1, Z = 2 }; + +#define INITFACE(mesh) \ + int steps = mesh->steps; \ + int sqsteps = mesh->steps * mesh->steps + +#define FACE(side,y,x) \ + mesh->face[(side)*sqsteps + (y)*steps + (x)] + +#define FACExy(side,i,j) \ + (&FACE(side,i,j).x) + +#define FACEst(side,i,j) \ + (&FACE(side,i,j).s) + +#define INITBACK(mesh) \ + int allrings = mesh->rings + mesh->edgeExtend; \ + int ringedspokes = allrings * mesh->steps + +#define BACK(edge,ring,spoke) \ + mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] + +#define BACKxy(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).x) + +#define BACKst(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).s) + +typedef struct _STXY { + GLfloat s, t; + GLfloat x, y; +} STXY; + +typedef struct _SphereMapMesh { + + int refcnt; + + int steps; + int rings; + int edgeExtend; + + STXY *face; + STXY *back; + +} SphereMapMesh; + +struct _SphereMap { + + /* Shared sphere map mesh vertex data. */ + SphereMapMesh *mesh; + + /* Texture object ids. */ + GLuint smapTexObj; + GLuint viewTexObjs[6]; + GLuint viewTexObj; + + /* Flags */ + SphereMapFlags flags; + + /* Texture dimensions must be a power of two. */ + int viewTexDim; /* view texture dimension */ + int smapTexDim; /* sphere map texture dimension */ + + /* Viewport origins for view and sphere map rendering. */ + int viewOrigin[2]; + int smapOrigin[2]; + + /* Viewing vectors. */ + GLfloat eye[3]; + GLfloat up[3]; + GLfloat obj[3]; + + /* Projection parameters. */ + GLfloat viewNear; + GLfloat viewFar; + + /* Rendering callbacks. */ + void (*positionLights)(int view, void *context); + void (*drawView)(int view, void *context); + + /* Application specified callback data. */ + void *context; + +}; + +/* Library internal routines. */ +extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); +extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); +extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); + +#endif /* __glsmapint_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glut.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glut.h new file mode 100644 index 0000000..cbc6ebe --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glut.h @@ -0,0 +1,648 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ +//#define GLUT_OF_007_HACK + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including + to avoid name space pollution, but Win32's + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ +#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif + +#if defined(__APPLE__) || defined(MACOSX) +#include +#include +#include +#else +#include +#include +#endif + +/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ +#if !defined(_WIN32) +#define APIENTRY +#define GLUT_APIENTRY_DEFINED +#define CALLBACK +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). + + GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 5 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/** + MacOS X GLUT implementation revision history: + + GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X + specific GLUT API revisions and implementation revisions + (ie, bug fixes). + + GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. + + GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. + +**/ +#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_MACOSX_IMPLEMENTATION 2 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif +#define GLUT_NO_RECOVERY 1024 + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +/* Layers for use. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +extern void *glutStrokeRoman; +extern void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +extern void *glutBitmap9By15; +extern void *glutBitmap8By13; +extern void *glutBitmapTimesRoman10; +extern void *glutBitmapTimesRoman24; +extern void *glutBitmapHelvetica10; +extern void *glutBitmapHelvetica12; +extern void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X 100 +#define GLUT_WINDOW_Y 101 +#define GLUT_WINDOW_WIDTH 102 +#define GLUT_WINDOW_HEIGHT 103 +#define GLUT_WINDOW_BUFFER_SIZE 104 +#define GLUT_WINDOW_STENCIL_SIZE 105 +#define GLUT_WINDOW_DEPTH_SIZE 106 +#define GLUT_WINDOW_RED_SIZE 107 +#define GLUT_WINDOW_GREEN_SIZE 108 +#define GLUT_WINDOW_BLUE_SIZE 109 +#define GLUT_WINDOW_ALPHA_SIZE 110 +#define GLUT_WINDOW_ACCUM_RED_SIZE 111 +#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 +#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 +#define GLUT_WINDOW_DOUBLEBUFFER 115 +#define GLUT_WINDOW_RGBA 116 +#define GLUT_WINDOW_PARENT 117 +#define GLUT_WINDOW_NUM_CHILDREN 118 +#define GLUT_WINDOW_COLORMAP_SIZE 119 +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES 120 +#define GLUT_WINDOW_STEREO 121 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR 122 +#endif +#define GLUT_SCREEN_WIDTH 200 +#define GLUT_SCREEN_HEIGHT 201 +#define GLUT_SCREEN_WIDTH_MM 202 +#define GLUT_SCREEN_HEIGHT_MM 203 +#define GLUT_MENU_NUM_ITEMS 300 +#define GLUT_DISPLAY_MODE_POSSIBLE 400 +#define GLUT_INIT_WINDOW_X 500 +#define GLUT_INIT_WINDOW_Y 501 +#define GLUT_INIT_WINDOW_WIDTH 502 +#define GLUT_INIT_WINDOW_HEIGHT 503 +#define GLUT_INIT_DISPLAY_MODE 504 +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME 700 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID 123 +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD 600 +#define GLUT_HAS_MOUSE 601 +#define GLUT_HAS_SPACEBALL 602 +#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 +#define GLUT_HAS_TABLET 604 +#define GLUT_NUM_MOUSE_BUTTONS 605 +#define GLUT_NUM_SPACEBALL_BUTTONS 606 +#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 +#define GLUT_NUM_DIALS 608 +#define GLUT_NUM_TABLET_BUTTONS 609 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 +#define GLUT_DEVICE_KEY_REPEAT 611 +#define GLUT_HAS_JOYSTICK 612 +#define GLUT_OWNS_JOYSTICK 613 +#define GLUT_JOYSTICK_BUTTONS 614 +#define GLUT_JOYSTICK_AXES 615 +#define GLUT_JOYSTICK_POLL_RATE 616 +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE 800 +#define GLUT_LAYER_IN_USE 801 +#define GLUT_HAS_OVERLAY 802 +#define GLUT_TRANSPARENT_INDEX 803 +#define GLUT_NORMAL_DAMAGED 804 +#define GLUT_OVERLAY_DAMAGED 805 + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE 900 +#define GLUT_VIDEO_RESIZE_IN_USE 901 +#define GLUT_VIDEO_RESIZE_X_DELTA 902 +#define GLUT_VIDEO_RESIZE_Y_DELTA 903 +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 +#define GLUT_VIDEO_RESIZE_X 906 +#define GLUT_VIDEO_RESIZE_Y 907 +#define GLUT_VIDEO_RESIZE_WIDTH 908 +#define GLUT_VIDEO_RESIZE_HEIGHT 909 +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +extern void APIENTRY glutInit(int *argcp, char **argv); +extern void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutInitDisplayString(const char *string); +#endif +extern void APIENTRY glutInitWindowPosition(int x, int y); +extern void APIENTRY glutInitWindowSize(int width, int height); +extern void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +extern int APIENTRY glutCreateWindow(const char *title); +extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +extern void APIENTRY glutDestroyWindow(int win); +extern void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowRedisplay(int win); +#endif +extern void APIENTRY glutSwapBuffers(void); +extern int APIENTRY glutGetWindow(void); +extern void APIENTRY glutSetWindow(int win); +extern void APIENTRY glutSetWindowTitle(const char *title); +extern void APIENTRY glutSetIconTitle(const char *title); +extern void APIENTRY glutPositionWindow(int x, int y); +extern void APIENTRY glutReshapeWindow(int width, int height); +extern void APIENTRY glutPopWindow(void); +extern void APIENTRY glutPushWindow(void); +extern void APIENTRY glutIconifyWindow(void); +extern void APIENTRY glutShowWindow(void); +extern void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutFullScreen(void); +extern void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWarpPointer(int x, int y); +#if (GLUT_MACOSX_IMPLEMENTATION >= 1) +/* surface texturing API Mac OS X specific +* Note: +* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object +*/ +#ifdef MAC_OS_X_VERSION_10_5 +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 +#else +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); +#endif +#endif +#if (GLUT_MACOSX_IMPLEMENTATION >= 2) +/* Mac OS X specific API */ +extern void APIENTRY glutWMCloseFunc(void (*func)(void)); +extern void APIENTRY glutCheckLoop(void); +#endif +#endif + +/* GLUT overlay sub-API. */ +extern void APIENTRY glutEstablishOverlay(void); +extern void APIENTRY glutRemoveOverlay(void); +extern void APIENTRY glutUseLayer(GLenum layer); +extern void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +extern void APIENTRY glutShowOverlay(void); +extern void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +extern int APIENTRY glutCreateMenu(void (*)(int)); +extern void APIENTRY glutDestroyMenu(int menu); +extern int APIENTRY glutGetMenu(void); +extern void APIENTRY glutSetMenu(int menu); +extern void APIENTRY glutAddMenuEntry(const char *label, int value); +extern void APIENTRY glutAddSubMenu(const char *label, int submenu); +extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +extern void APIENTRY glutRemoveMenuItem(int item); +extern void APIENTRY glutAttachMenu(int button); +extern void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +extern void APIENTRY glutDisplayFunc(void (*func)(void)); +extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); +extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); +extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutEntryFunc(void (*func)(int state)); +extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); +extern void APIENTRY glutIdleFunc(void (*func)(void)); +extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); +extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); +#if (GLUT_API_VERSION >= 2) +extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); +extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); +extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); +extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); +extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +//#ifdef GLUT_OF_007_HACK +extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); +//#endif +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +extern GLfloat APIENTRY glutGetColor(int ndx, int component); +extern void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +extern int APIENTRY glutGet(GLenum type); +extern int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +extern int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +extern int APIENTRY glutGetModifiers(void); +extern int APIENTRY glutLayerGet(GLenum type); +#endif +#if (GLUT_API_VERSION >= 5) +extern void * APIENTRY glutGetProcAddress(const char *procName); +#endif + +/* GLUT font sub-API */ +extern void APIENTRY glutBitmapCharacter(void *font, int character); +extern int APIENTRY glutBitmapWidth(void *font, int character); +extern void APIENTRY glutStrokeCharacter(void *font, int character); +extern int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutWireCube(GLdouble size); +extern void APIENTRY glutSolidCube(GLdouble size); +extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutWireDodecahedron(void); +extern void APIENTRY glutSolidDodecahedron(void); +extern void APIENTRY glutWireTeapot(GLdouble size); +extern void APIENTRY glutSolidTeapot(GLdouble size); +extern void APIENTRY glutWireOctahedron(void); +extern void APIENTRY glutSolidOctahedron(void); +extern void APIENTRY glutWireTetrahedron(void); +extern void APIENTRY glutSolidTetrahedron(void); +extern void APIENTRY glutWireIcosahedron(void); +extern void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +extern int APIENTRY glutVideoResizeGet(GLenum param); +extern void APIENTRY glutSetupVideoResizing(void); +extern void APIENTRY glutStopVideoResizing(void); +extern void APIENTRY glutVideoResize(int x, int y, int width, int height); +extern void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +extern void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +extern void APIENTRY glutIgnoreKeyRepeat(int ignore); +extern void APIENTRY glutSetKeyRepeat(int repeatMode); +extern void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE 0 +#define GLUT_GAME_MODE_POSSIBLE 1 +#define GLUT_GAME_MODE_WIDTH 2 +#define GLUT_GAME_MODE_HEIGHT 3 +#define GLUT_GAME_MODE_PIXEL_DEPTH 4 +#define GLUT_GAME_MODE_REFRESH_RATE 5 +#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 + +extern void APIENTRY glutGameModeString(const char *string); +extern int APIENTRY glutEnterGameMode(void); +extern void APIENTRY glutLeaveGameMode(void); +extern int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif /* __glut_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h new file mode 100644 index 0000000..e29a016 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h @@ -0,0 +1,30 @@ +#ifndef __glutbitmap_h__ +#define __glutbitmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glut.h" + +typedef struct { + const GLsizei width; + const GLsizei height; + const GLfloat xorig; + const GLfloat yorig; + const GLfloat advance; + const GLubyte *bitmap; +} BitmapCharRec, *BitmapCharPtr; + +typedef struct { + const char *name; + const int num_chars; + const int first; + const BitmapCharRec * const *ch; +} BitmapFontRec, *BitmapFontPtr; + +typedef void *GLUTbitmapFont; + +#endif /* __glutbitmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h new file mode 100644 index 0000000..f8a170b --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h @@ -0,0 +1,90 @@ +#ifndef __glutf90_h__ +#define __glutf90_h__ + +/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +/* This header provides the binding interface for William Mitchell's + f90gl Fortran 90 GLUT binding. Other GLUT language bindings + can and should use this interace. */ + +/* I appreciate the guidance from William Mitchell + (mitchell@cam.nist.gov) in developing this friend interface + for use by the f90gl package. See ../../README.fortran */ + +#include + +#ifndef GLUTCALLBACK + #define GLUTCALLBACK +#endif +#ifndef APIENTRY + #define APIENTRY +#endif + +/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ +/* NOTE These values are part of a binary interface for the f90gl Fortran + 90 binding and so must NOT changes (additions are allowed). */ + +/* GLUTwindow callbacks. */ +#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ +#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ +#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ +#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ +#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ +#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ +#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ +#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ +#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ +#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ +#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ +#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ +#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ +#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ +#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ +#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ +#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ +#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ +#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ +#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ +#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ +/* Non-GLUTwindow callbacks. */ +#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ +#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ +#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ + +/* GLUT Fortran callback function types. */ +typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); +typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); +typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); +/* NOTE the pressed key is int, not unsigned char for Fortran! */ +typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); +typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); +typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); +typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); + +typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); +typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); +typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ +typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTidleFCB) (void); + +/* Functions that set and return Fortran callback functions. */ +extern void* APIENTRY __glutGetFCB(int which); +extern void APIENTRY __glutSetFCB(int which, void *func); + +#endif /* __glutf90_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h new file mode 100644 index 0000000..cbc9e15 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h @@ -0,0 +1,42 @@ +#ifndef __glutstroke_h__ +#define __glutstroke_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +#endif + +typedef struct { + float x; + float y; +} CoordRec, *CoordPtr; + +typedef struct { + int num_coords; + const CoordRec *coord; +} StrokeRec, *StrokePtr; + +typedef struct { + int num_strokes; + const StrokeRec *stroke; + float center; + float right; +} StrokeCharRec, *StrokeCharPtr; + +typedef struct { + const char *name; + int num_chars; + const StrokeCharRec *ch; + float top; + float bottom; +} StrokeFontRec, *StrokeFontPtr; + +typedef void *GLUTstrokeFont; + +#endif /* __glutstroke_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h new file mode 100644 index 0000000..f7ffcf3 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h @@ -0,0 +1,89 @@ + +/* + * gutil.h + * + * FUNCTION: + * Provide utilities that allow rotation to occur + * around any axis. + * + * HISTORY: + * created by Linas Vepstas 1990 + * added single & double precision, June 1991, Linas Vepstas + */ + +#ifndef __GUTIL_H__ +#define __GUTIL_H__ + +#ifdef __GUTIL_DOUBLE +#define gutDouble double +#else +#define gutDouble float +#endif + + +#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (); +extern void rot_about_axis_f (); +extern void rot_omega_f (); +extern void urot_axis_f (); +extern void urot_about_axis_f (); +extern void urot_omega_f (); + +/* double-precision versions */ +extern void rot_axis_d (); +extern void rot_about_axis_d (); +extern void rot_omega_d (); +extern void urot_axis_d (); +extern void urot_about_axis_d (); +extern void urot_omega_d (); + +/* viewpoint functions */ +extern void uview_direction_d (); +extern void uview_direction_f (); +extern void uviewpoint_d (); +extern void uviewpoint_f (); + +#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (float omega, float axis[3]); +extern void rot_about_axis_f (float angle, float axis[3]); +extern void rot_omega_f (float axis[3]); +extern void urot_axis_f (float m[4][4], float omega, float axis[3]); +extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); +extern void urot_omega_f (float m[4][4], float axis[3]); + +/* double-precision versions */ +extern void rot_axis_d (double omega, double axis[3]); +extern void rot_about_axis_d (double angle, double axis[3]); +extern void rot_omega_d (double axis[3]); +extern void urot_axis_d (double m[4][4], double omega, double axis[3]); +extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); +extern void urot_omega_d (double m[4][4], double axis[3]); + +/* viewpoint functions */ +extern void uview_direction_d (double m[4][4], /* returned */ + double v21[3], /* input */ + double up[3]); /* input */ + +extern void uview_direction_f (float m[4][4], /* returned */ + float v21[3], /* input */ + float up[3]); /* input */ + +extern void uviewpoint_d (double m[4][4], /* returned */ + double v1[3], /* input */ + double v2[3], /* input */ + double up[3]); /* input */ + +extern void uviewpoint_f (float m[4][4], /* returned */ + float v1[3], /* input */ + float v2[3], /* input */ + float up[3]); /* input */ + +#endif /* _NO_PROTO */ + +#endif /* _GUTIL_H__ */ + +/* ------------------- end of file ---------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h new file mode 100644 index 0000000..f5ff7a5 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h @@ -0,0 +1,391 @@ +/* + * FUNCTION: + * This file contains a number of utilities useful to 3D graphics in + * general, and to the generation of tubing and extrusions in particular + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Updated to correctly handle degenerate cases, Linas, February 1993 + */ + +#include +#include "port.h" +#include "vvector.h" + +#define BACKWARDS_INTERSECT (2) + +/* ========================================================== */ +/* + * the Degenerate_Tolerance token represents the greatest amount by + * which different scales in a graphics environment can differ before + * they should be considered "degenerate". That is, when one vector is + * a million times longer than another, changces are that the second will + * be less than a pixel int, and therefore was probably meant to be + * degenerate (by the CAD package, etc.) But what should this tolerance + * be? At least 1 in onethousand (since screen sizes are 1K pixels), but + * les than 1 in 4 million (since this is the limit of single-precision + * floating point accuracy). Of course, if double precision were used, + * then the tolerance could be increased. + * + * Potentially, this naive assumption could cause problems if the CAD + * package attempts to zoom in on small details, and turns out, certain + * points should not hvae been degenerate. The problem presented here + * is that the tolerance could run out before single-precision ran + * out, and so the CAD packages would perceive this as a "bug". + * One alternative is to fiddle around & try to tighten the tolerance. + * However, the right alternative is to code the graphics pipeline in + * double-precision (and tighten the tolerance). + * + * By the way, note that Degernate Tolerance is a "dimensionless" + * quantitiy -- it has no units -- it does not measure feet, inches, + * millimeters or pixels. It is used only in the computations of ratios + * and relative lengths. + */ + +/* + * Right now, the tolerance is set to 2 parts in a million, which + * corresponds to a 19-bit distinction of mantissas. Note that + * single-precsion numbers have 24 bit mantissas. + */ + +#define DEGENERATE_TOLERANCE (0.000002) + +/* ========================================================== */ +/* + * The macro and subroutine INTERSECT are designed to compute the + * intersection of a line (defined by the points v1 and v2) and a plane + * (defined as plane which is normal to the vector n, and contains the + * point p). Both return the point sect, which is the point of + * interesection. + * + * This MACRO attemps to be fairly robust by checking for a divide by + * zero. + */ + +/* ========================================================== */ +/* + * HACK ALERT + * The intersection parameter t has the nice property that if t>1, + * then the intersection is "in front of" p1, and if t<0, then the + * intersection is "behind" p2. Unfortunately, as the intersecting plane + * and the line become parallel, t wraps through infinity -- i.e. t can + * become so large that t becomes "greater than infinity" and comes back + * as a negative number (i.e. winding number hopped by one unit). We + * have no way of detecting this situation without adding gazzillions + * of lines of code of topological algebra to detect the winding number; + * and this would be incredibly difficult, and ruin performance. + * + * Thus, we've installed a cheap hack for use by the "cut style" drawing + * routines. If t proves to be a large negative number (more negative + * than -5), then we assume that t was positive and wound through + * infinity. This makes most cuts look good, without introducing bogus + * cuts at infinity. + */ +/* ========================================================== */ + +#define INTERSECT(sect,p,n,v1,v2) \ +{ \ + gleDouble deno, numer, t, omt; \ + \ + deno = (v1[0] - v2[0]) * n[0]; \ + deno += (v1[1] - v2[1]) * n[1]; \ + deno += (v1[2] - v2[2]) * n[2]; \ + \ + if (deno == 0.0) { \ + VEC_COPY (n, v1); \ + /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ + } else { \ + \ + numer = (p[0] - v2[0]) * n[0]; \ + numer += (p[1] - v2[1]) * n[1]; \ + numer += (p[2] - v2[2]) * n[2]; \ + \ + t = numer / deno; \ + omt = 1.0 - t; \ + \ + sect[0] = t * v1[0] + omt * v2[0]; \ + sect[1] = t * v1[1] + omt * v2[1]; \ + sect[2] = t * v1[2] + omt * v2[2]; \ + } \ +} + +/* ========================================================== */ +/* + * The macro and subroutine BISECTING_PLANE compute a normal vector that + * describes the bisecting plane between three points (v1, v2 and v3). + * This bisecting plane has the following properties: + * 1) it contains the point v2 + * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it + * makes with v32 == v3 - v2 + * 3) it is perpendicular to the plane defined by v1, v2, v3. + * + * Having input v1, v2, and v3, it returns a unit vector n. + * + * In some cases, the user may specify degenerate points, and still + * expect "reasonable" or "obvious" behaviour. The "expected" + * behaviour for these degenerate cases is: + * + * 1) if v1 == v2 == v3, then return n=0 + * 2) if v1 == v2, then return v32 (normalized). + * 3) if v2 == v3, then return v21 (normalized). + * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). + * + * Mathematically, these special cases "make sense" -- we just have to + * code around potential divide-by-zero's in the code below. + */ + +/* ========================================================== */ + +#define BISECTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as bisector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ + (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ +/* + * The block of code below is ifdef'd out, and is here for reference + * purposes only. It performs the "mathematically right thing" for + * computing a bisecting plane, but is, unfortunately, subject ot noise + * in the presence of near degenerate points. Since computer graphics, + * due to sloppy coding, laziness, or correctness, is filled with + * degenerate points, we can't really use this version. The code above + * is far more appropriate for graphics. + */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define BISECTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 == 0.0) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + } \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + if (len32 == 0.0) { \ + /* return a normalized copy of v21 as bisector */ \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot == 1.0) || (vdot == -1.0)) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} +#endif + +/* ========================================================== */ +/* + * This macro computes the plane perpendicular to the the plane + * defined by three points, and whose normal vector is givven as the + * difference between the two vectors ... + * + * (See way below for the "math" model if you want to understand this. + * The comments about relative errors above apply here.) + */ + +#define CUTTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double lendiff; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as cut-vector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as cut vector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_LENGTH (lendiff, n); \ + \ + /* if the perp vector is very small, then the two \ + * vectors are darn near collinear, and the cut \ + * vector is probably poorly defined. */ \ + if (lendiff < DEGENERATE_TOLERANCE) { \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + lendiff = 1.0 / lendiff; \ + VEC_SCALE (n, lendiff, n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define CUTTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_NORMALIZE (v21); \ + VEC_NORMALIZE (v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_NORMALIZE (n); \ +} +#endif + + +/* ============================================================ */ +/* This macro is used in several places to cycle through a series of + * points to find the next non-degenerate point in a series */ + +#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ +{ \ + gleDouble slen; \ + gleDouble summa[3]; \ + \ + do { \ + /* get distance to next point */ \ + VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (len, diff); \ + VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (slen, summa); \ + slen *= DEGENERATE_TOLERANCE; \ + inext ++; \ + } while ((len <= slen) && (inext < npoints-1)); \ +} + +/* ========================================================== */ + +extern int bisecting_plane (gleDouble n[3], /* returned */ + gleDouble v1[3], /* input */ + gleDouble v2[3], /* input */ + gleDouble v3[3]); /* input */ + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/port.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/port.h new file mode 100644 index 0000000..2827bbf --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/port.h @@ -0,0 +1,298 @@ + +/* + * port.h + * + * FUNCTION: + * This file contains defines for porting the tubing toolkit from GL to + * OpenGL to some callback scheme. + * + * HISTORY: + * Created by Linas Vepstas -- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + */ + +#ifndef __GLE_PORT_H__ +#define __GLE_PORT_H__ + + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ====================================================== */ +/* Some compilers can't handle multiply-subscripted array's */ + +#ifdef FUNKY_C +typedef gleDouble gleVector; +#define AVAL(arr,n,i,j) arr(6*n+3*i+j) +#define VVAL(arr,n,i) arr(3*n+i) + +#else /* FUNKY_C */ +typedef double gleVector[3]; +typedef double glePoint[2]; +#define AVAL(arr,n,i,j) arr[n][i][j] +#define VVAL(arr,n,i) arr[n][i]; + +#endif /* FUNKY_C */ + +/* ====================================================== */ +/* These are used to convey info about topography to the + * texture mapping routines */ + +#define FRONT 1 +#define BACK 2 +#define FRONT_CAP 3 +#define BACK_CAP 4 +#define FILLET 5 + +/* ====================================================== */ + +#define __GLE_DOUBLE + +/* ====================================================== */ + +#ifdef __GLE_DOUBLE +#ifndef gleDouble + #define gleDouble double +#endif +#define urot_axis(a,b,c) urot_axis_d(a,b,c) +#define uview_direction(a,b,c) uview_direction_d(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_D(m) +#define LOADMATRIX(m) LOADMATRIX_D(m) +#define V3F(x,j,id) V3F_D(x,j,id) +#define N3F(x) N3F_D(x) +#define T2F(x,y) T2F_D(x,y) +#else +#define gleDouble float +#define urot_axis(a,b,c) urot_axis_f(a,b,c) +#define uview_direction(a,b,c) uview_direction_f(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_F(m) +#define LOADMATRIX(m) LOADMATRIX_F(m) +#define V3F(x,j,id) V3F_F(x,j,id) +#define N3F(x) N3F_F(x) +#define T2F(x,y) T2F_F(x,y) +#endif + +/* ====================================================== */ + +#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) +#undef GL_32 +#undef OPENGL_10 + +#define BGNTMESH(i,len) printf ("bgntmesh() \n"); +#define ENDTMESH() printf ("endtmesh() \n"); +#define BGNPOLYGON() printf ("bgnpolygon() \n"); +#define ENDPOLYGON() printf ("endpolygon() \n"); +#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); + +#define POPMATRIX() printf ("popmatrix () \n"); +#define PUSHMATRIX() printf ("pushmatrix() \n"); +#define MULTMATRIX_F(x) MULTMATRIX_D(x) +#define LOADMATRIX_F(x) LOADMATRIX_D(x) + + +#define LOADMATRIX_D(x) { \ + int i, j; \ + printf ("loadmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + printf ("multmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define __IS_LIGHTING_ON (1) + +#endif + +/* ====================================================== */ + +#ifdef GL_32 + +#include + +#define BGNTMESH(i,len) bgntmesh() +#define ENDTMESH() endtmesh() +#define BGNPOLYGON() bgnpolygon() +#define ENDPOLYGON() endpolygon() +#define V3F_F(x,j,id) v3f(x) +#define V3F_D(x,j,id) v3d(x) +#define N3F_F(x) n3f(x) +#define T2F_F(x,y) +#define T2F_D(x,y) +#define C3F(x) c3f(x) + +#define POPMATRIX() popmatrix () +#define PUSHMATRIX() pushmatrix() +#define MULTMATRIX_F(x) multmatrix (x) +#define LOADMATRIX_F(x) loadmatrix (x) + +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = (float) x[0]; \ + nnn[1] = (float) x[1]; \ + nnn[2] = (float) x[2]; \ + n3f (nnn); \ +} + +#define LOADMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + loadmatrix(mmm); \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + multmatrix(mmm); \ +} + +/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ +#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) + +#endif /* GL_32 */ + +/* ====================================================== */ +#ifdef OPENGL_10 + +#if defined(_WIN32) +#include +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#endif +#include +#include + +/* +#define N3F_F(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +*/ + +#define C3F(x) glColor3fv(x) +#define T2F_F(x,y) glTexCoord2f(x,y) +#define T2F_D(x,y) glTexCoord2d(x,y) + +#define POPMATRIX() glPopMatrix() +#define PUSHMATRIX() glPushMatrix() + +#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) +#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) + +#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) +#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) + +#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) + +/* ====================================================== */ +#ifdef AUTO_TEXTURE + +#define BGNTMESH(i,len) { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ + glBegin (GL_TRIANGLE_STRIP); \ +} + +#define BGNPOLYGON() { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ + glBegin (GL_POLYGON); \ +} + +#define N3F_F(x) { \ + if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ + glNormal3fv(x); \ +} + +#define N3F_D(x) { \ + if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ + glNormal3dv(x); \ +} + +#define V3F_F(x,j,id) { \ + if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ + glVertex3fv(x); \ +} + +#define V3F_D(x,j,id) { \ + if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ + glVertex3dv(x); \ +} + +#define ENDTMESH() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +#define ENDPOLYGON() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +/* ====================================================== */ +#else /* AUTO_TEXTURE */ + +#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); +#define BGNPOLYGON() glBegin (GL_POLYGON); + +#define N3F_F(x) glNormal3fv(x) +#define N3F_D(x) glNormal3dv(x) +#define V3F_F(x,j,id) glVertex3fv(x); +#define V3F_D(x,j,id) glVertex3dv(x); + +#define ENDTMESH() glEnd () +#define ENDPOLYGON() glEnd() + +#endif /* AUTO_TEXTURE */ + +#endif /* OPENGL_10 */ + +/* ====================================================== */ + + +#endif /* __GLE_PORT_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/rot.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/rot.h new file mode 100644 index 0000000..91083e9 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/rot.h @@ -0,0 +1,98 @@ + +/* + * rot.h + * + * FUNCTION: + * rotation matrix utilities + * + * HISTORY: + * Linas Vepstas Aug 1990 + */ + +/* ========================================================== */ +/* + * The MACROS below generate and return more traditional rotation + * matrices -- matrices for rotations about principal axes. + */ +/* ========================================================== */ + +#define ROTX_CS(m,cosine,sine) \ +{ \ + /* rotation about the x-axis */ \ + \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = (cosine); \ + m[1][2] = (sine); \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = -(sine); \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTY_CS(m,cosine,sine) \ +{ \ + /* rotation about the y-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = 0.0; \ + m[0][2] = -(sine); \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = (sine); \ + m[2][1] = 0.0; \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTZ_CS(m,cosine,sine) \ +{ \ + /* rotation about the z-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = (sine); \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = -(sine); \ + m[1][1] = (cosine); \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/segment.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/segment.h new file mode 100644 index 0000000..8d1cf04 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/segment.h @@ -0,0 +1,98 @@ + +/* + * MODULE: segment.h + * + * FUNCTION: + * Contains function prototypes for segment drawing subroutines. + * These are used only internally, and are not to be exported to + * the user. + * + * HISTORY: + * Create by Linas Vepstas + * Added tube.h include to define gleDouble, tad February 2002 + */ + +/* ============================================================ */ + +#include "tube.h" + +extern void draw_segment_plain (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + int inext, double len); + +extern void draw_segment_color (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_edge_n (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_edge_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +/* ============================================================ */ + +extern void draw_binorm_segment_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_binorm_segment_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ + gleDouble bi[3], /* biscetor */ + gleDouble point_array[][3]); /* polyline */ + +/* -------------------------- end of file -------------------------------- */ + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube.h new file mode 100644 index 0000000..c303e19 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube.h @@ -0,0 +1,203 @@ +/* + * tube.h + * + * FUNCTION: + * Tubing and Extrusion header file. + * This file provides protypes and defines for the extrusion + * and tubing primitives. + * + * HISTORY: + * Linas Vepstas 1990, 1991 + */ + +#ifndef __TUBE_H__ +#define __TUBE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLE API revision history: + + GLE_API_VERSION is updated to reflect GLE API changes (interface + changes, semantic changes, deletions, or additions). + + GLE_API_VERSION=228 GLUT 3.7 release of GLE. +**/ +#ifndef GLE_API_VERSION /* allow this to be overriden */ +#define GLE_API_VERSION 228 +#endif + +/* some types */ +#ifndef gleDouble + #define gleDouble double +#endif +typedef gleDouble gleAffine[2][3]; + +/* ====================================================== */ + +/* defines for tubing join styles */ +#define TUBE_JN_RAW 0x1 +#define TUBE_JN_ANGLE 0x2 +#define TUBE_JN_CUT 0x3 +#define TUBE_JN_ROUND 0x4 +#define TUBE_JN_MASK 0xf /* mask bits */ +#define TUBE_JN_CAP 0x10 + +/* determine how normal vectors are to be handled */ +#define TUBE_NORM_FACET 0x100 +#define TUBE_NORM_EDGE 0x200 +#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ +#define TUBE_NORM_MASK 0xf00 /* mask bits */ + +/* closed or open countours */ +#define TUBE_CONTOUR_CLOSED 0x1000 + +#define GLE_TEXTURE_ENABLE 0x10000 +#define GLE_TEXTURE_STYLE_MASK 0xff +#define GLE_TEXTURE_VERTEX_FLAT 1 +#define GLE_TEXTURE_NORMAL_FLAT 2 +#define GLE_TEXTURE_VERTEX_CYL 3 +#define GLE_TEXTURE_NORMAL_CYL 4 +#define GLE_TEXTURE_VERTEX_SPH 5 +#define GLE_TEXTURE_NORMAL_SPH 6 +#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 +#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 +#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 +#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 +#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 +#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 + +#ifdef GL_32 +/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ +#define TUBE_LIGHTING_ON 0x80000000 + +#define gleExtrusion extrusion +#define gleSetJoinStyle setjoinstyle +#define gleGetJoinStyle getjoinstyle +#define glePolyCone polycone +#define glePolyCylinder polycylinder +#define gleSuperExtrusion super_extrusion +#define gleTwistExtrusion twist_extrusion +#define gleSpiral spiral +#define gleLathe lathe +#define gleHelicoid helicoid +#define gleToroid toroid +#define gleScrew screw + +#endif /* GL_32 */ + +extern int gleGetJoinStyle (void); +extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ +extern int gleGetNumSlices(void); +extern void gleSetNumSlices(int slices); + +/* draw polyclinder, specified as a polyline */ +extern void glePolyCylinder (int npoints, /* num points in polyline */ + gleDouble point_array[][3], /* polyline vertces */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius); /* radius of polycylinder */ + +/* draw polycone, specified as a polyline with radii */ +extern void glePolyCone (int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius_array[]); /* cone radii at polyline verts */ + +/* extrude arbitrary 2D contour along arbitrary 3D path */ +extern void gleExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3]); /* colors at polyline verts */ + +/* extrude 2D contour, specifying local rotations (twists) */ +extern void gleTwistExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble twist_array[]); /* countour twists (in degrees) */ + +/* extrude 2D contour, specifying local affine tranformations */ +extern void gleSuperExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* spiral moves contour along helical path by parallel transport */ +extern void gleSpiral (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* lathe moves contour along helical path by helically shearing 3D space */ +extern void gleLathe (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to spiral, except contour is a circle */ +extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to lathe, except contour is a circle */ +extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* draws a screw shape */ +extern void gleScrew (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startz, /* start of segment */ + gleDouble endz, /* end of segment */ + gleDouble twist); /* number of rotations */ + +extern void gleTextureMode (int mode); + +#ifdef __cplusplus +} + +#endif +#endif /* __TUBE_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h new file mode 100644 index 0000000..ccd2853 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h @@ -0,0 +1,78 @@ + +/* + * tube_gc.h + * + * FUNCTION: + * This file allows for easy changes to changes in the way the extrusion + * library handles state info (i.e. context). + * + * HISTORY: + * Linas Vepstas --- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + * Added tube.h include to define gleDouble, tad February 2002 + */ + +#include "tube.h" +#include "port.h" /* for gleVector */ + +typedef float gleColor[3]; +typedef double gleTwoVec[2]; + +typedef struct { + + /* public methods */ + void (*bgn_gen_texture) (int, double); + void (*n3f_gen_texture) (float *); + void (*n3d_gen_texture) (double *); + void (*v3f_gen_texture) (float *, int, int); + void (*v3d_gen_texture) (double *, int, int); + void (*end_gen_texture) (void); + + /* protected members -- "general knowledge" stuff */ + int join_style; + + /* arguments passed into extrusion code */ + int ncp; /* number of contour points */ + gleTwoVec *contour; /* 2D contour */ + gleTwoVec *cont_normal; /* 2D contour normals */ + gleDouble *up; /* up vector */ + int npoints; /* number of points in polyline */ + gleVector *point_array; /* path */ + gleColor *color_array; /* path colors */ + gleAffine *xform_array; /* contour xforms */ + + /* private members, used by texturing code */ + int num_vert; + int segment_number; + double segment_length; + double accum_seg_len; + double prev_x; + double prev_y; + + void (*save_bgn_gen_texture) (int, double); + void (*save_n3f_gen_texture) (float *); + void (*save_n3d_gen_texture) (double *); + void (*save_v3f_gen_texture) (float *, int, int); + void (*save_v3d_gen_texture) (double *, int, int); + void (*save_end_gen_texture) (void); + +} gleGC; + +extern gleGC *_gle_gc; +extern gleGC * gleCreateGC (void); + +#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } +#define extrusion_join_style (_gle_gc->join_style) + +#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) +#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) +#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) +#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) + +#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) +#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) +#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) +#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) +#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) + +/* ======================= END OF FILE ========================== */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h new file mode 100644 index 0000000..b58dcd6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h @@ -0,0 +1,1339 @@ + +/* + * vvector.h + * + * FUNCTION: + * This file contains a number of utilities useful for handling + * 3D vectors + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Added 2D code, March 1993 + * Added Outer products, C++ proofed, Linas Vepstas October 1993 + */ + +#ifndef __GUTIL_VECTOR_H__ +#define __GUTIL_VECTOR_H__ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + + +#include +#include "port.h" + +/* ========================================================== */ +/* Zero out a 2D vector */ + +#define VEC_ZERO_2(a) \ +{ \ + (a)[0] = (a)[1] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 3D vector */ + +#define VEC_ZERO(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 4D vector */ + +#define VEC_ZERO_4(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ +} + +/* ========================================================== */ +/* Vector copy */ + +#define VEC_COPY_2(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ +} + +/* ========================================================== */ +/* Copy 3D vector */ + +#define VEC_COPY(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ +} + +/* ========================================================== */ +/* Copy 4D vector */ + +#define VEC_COPY_4(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ + (b)[3] = (a)[3]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ + (v21)[3] = (v2)[3] - (v1)[3]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ + (v21)[3] = (v2)[3] + (v1)[3]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_2(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_4(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ + (c)[3] = (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_2(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_4(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ + (c)[3] += (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_2(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_4(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ +} + +/* ========================================================== */ +/* vector impact parameter (squared) */ + +#define VEC_IMPACT_SQ(bsq,direction,position) \ +{ \ + gleDouble vlen, llel; \ + VEC_DOT_PRODUCT (vlen, position, position); \ + VEC_DOT_PRODUCT (llel, direction, position); \ + bsq = vlen - llel*llel; \ +} + +/* ========================================================== */ +/* vector impact parameter */ + +#define VEC_IMPACT(bsq,direction,position) \ +{ \ + VEC_IMPACT_SQ(bsq,direction,position); \ + bsq = sqrt (bsq); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_2(vlen,a) \ +{ \ + vlen = a[0]*a[0] + a[1]*a[1]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_4(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen += (a)[3] * (a)[3]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* distance between two points */ + +#define VEC_DISTANCE(vlen,va,vb) \ +{ \ + gleDouble tmp[4]; \ + VEC_DIFF (tmp, vb, va); \ + VEC_LENGTH (vlen, tmp); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_CONJUGATE_LENGTH(vlen,a) \ +{ \ + vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_NORMALIZE(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = 1.0 / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_RENORMALIZE(a,newlen) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = newlen / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* 3D Vector cross product yeilding vector */ + +#define VEC_CROSS_PRODUCT(c,a,b) \ +{ \ + c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ + c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ + c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ +} + +/* ========================================================== */ +/* Vector perp -- assumes that n is of unit length + * accepts vector v, subtracts out any component parallel to n */ + +#define VEC_PERP(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (v)[0] - (vdot) * (n)[0]; \ + vp[1] = (v)[1] - (vdot) * (n)[1]; \ + vp[2] = (v)[2] - (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector parallel -- assumes that n is of unit length + * accepts vector v, subtracts out any component perpendicular to n */ + +#define VEC_PARALLEL(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (vdot) * (n)[0]; \ + vp[1] = (vdot) * (n)[1]; \ + vp[2] = (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector reflection -- assumes n is of unit length */ +/* Takes vector v, reflects it against reflector n, and returns vr */ + +#define VEC_REFLECT(vr,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ + vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ + vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector blending */ +/* Takes two vectors a, b, blends them together */ + +#define VEC_BLEND(vr,sa,a,sb,b) \ +{ \ + \ + vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ + vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ + vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_2(a) \ +{ \ + double vlen; \ + VEC_LENGTH_2 (vlen, a); \ + printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen, (a)); \ + printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_4(a) \ +{ \ + double vlen; \ + VEC_LENGTH_4 (vlen, (a)); \ + printf (" a is %f %f %f %f length of a is %f \n", \ + (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_4X4(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_3X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<3; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_2X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<2; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_3X3(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_4X4(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + b[0][3] = a[0][3]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + b[1][3] = a[1][3]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[2][3]; \ + \ + b[3][0] = a[3][0]; \ + b[3][1] = a[3][1]; \ + b[3][2] = a[3][2]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + b[0][3] = a[3][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + b[1][3] = a[3][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[3][2]; \ + \ + b[3][0] = a[0][3]; \ + b[3][1] = a[1][3]; \ + b[3][2] = a[2][3]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + b[0][3] = (s) * a[0][3]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + b[1][3] = (s) * a[1][3]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ + b[2][3] = (s) * a[2][3]; \ + \ + b[3][0] = s * a[3][0]; \ + b[3][1] = s * a[3][1]; \ + b[3][2] = s * a[3][2]; \ + b[3][3] = s * a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + b[0][3] += (s) * a[0][3]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + b[1][3] += (s) * a[1][3]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ + b[2][3] += (s) * a[2][3]; \ + \ + b[3][0] += (s) * a[3][0]; \ + b[3][1] += (s) * a[3][1]; \ + b[3][2] += (s) * a[3][2]; \ + b[3][3] += (s) * a[3][3]; \ +} + +/* +========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_2X2(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_3X3(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_4X4(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ + c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ + c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ + c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ + \ + c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ + c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ + c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ + c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_3X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_4X4(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ + p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ +} + +/* ========================================================== */ +/* vector transpose times matrix */ +/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ + +#define VEC_DOT_MAT_3X3(p,v,m) \ +{ \ + p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ + p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ + p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ +} + +/* ========================================================== */ +/* affine matrix times vector */ +/* The matrix is assumed to be an affine matrix, with last two + * entries representing a translation */ + +#define MAT_DOT_VEC_2X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ +} + +/* ========================================================== */ +/* inverse transpose of matrix times vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * + * DANGER !!! Do Not use this on normal vectors!!! + * It will leave normals the wrong length !!! + * See macro below for use on normals. + */ + +#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + gleDouble det; \ + \ + det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + /* if matrix not singular, and not orthonormal, then renormalize */ \ + if ((det!=1.0) && (det != 0.0)) { \ + det = 1.0 / det; \ + p[0] *= det; \ + p[1] *= det; \ + } \ +} + +/* ========================================================== */ +/* transform normal vector by inverse transpose of matrix + * and then renormalize the vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * Vector p is then normalized. + */ + + +#define NORM_XFORM_2X2(p,m,v) \ +{ \ + double mlen; \ + \ + /* do nothing if off-diagonals are zero and diagonals are \ + * equal */ \ + if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + mlen = p[0]*p[0] + p[1]*p[1]; \ + mlen = 1.0 / sqrt (mlen); \ + p[0] *= mlen; \ + p[1] *= mlen; \ + } else { \ + VEC_COPY_2 (p, v); \ + } \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + m[0][3] = v[0] * t[3]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + m[1][3] = v[1] * t[3]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ + m[2][3] = v[2] * t[3]; \ + \ + m[3][0] = v[3] * t[0]; \ + m[3][1] = v[3] * t[1]; \ + m[3][2] = v[3] * t[2]; \ + m[3][3] = v[3] * t[3]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + m[0][3] += v[0] * t[3]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + m[1][3] += v[1] * t[3]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ + m[2][3] += v[2] * t[3]; \ + \ + m[3][0] += v[3] * t[0]; \ + m[3][1] += v[3] * t[1]; \ + m[3][2] += v[3] * t[2]; \ + m[3][3] += v[3] * t[3]; \ +} + +/* +========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_2X2(d,m) \ +{ \ + d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ +} + +/* ========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_3X3(d,m) \ +{ \ + d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ + d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ + d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ +} + +/* ========================================================== */ +/* i,j,th cofactor of a 4x4 matrix + * + */ + +#define COFACTOR_4X4_IJ(fac,m,i,j) \ +{ \ + int ii[4], jj[4], k; \ + \ + /* compute which row, columnt to skip */ \ + for (k=0; k + + + + IBDocumentLocation + 4 104 410 240 0 0 1152 848 + IBEditorPositions + + 29 + 19 615 246 44 0 0 1152 848 + + IBFramework Version + 291.0 + IBGroupedObjects + + IBLastGroupID + 1 + IBOpenObjects + + 29 + + IBSystem Version + 6I32 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib new file mode 100644 index 0000000..8a7140e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib new file mode 100644 index 0000000..7e85eb1 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib @@ -0,0 +1,13 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {toggleWindow = id; }; + CLASS = GLUTClipboardController; + LANGUAGE = ObjC; + OUTLETS = {_infoText = id; _scrollView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib new file mode 100644 index 0000000..867735d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib @@ -0,0 +1,12 @@ + + + + + IBDocumentLocation + 63 221 356 240 0 0 1600 1178 + IBFramework Version + 263.2 + IBSystem Version + 5S41 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib new file mode 100644 index 0000000..29125d4 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib new file mode 100644 index 0000000..c675963 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib @@ -0,0 +1,73 @@ +{ + IBClasses = ( + { + ACTIONS = {save = id; saveAs = id; }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + ACTIONS = { + cancel = id; + joyAssign = id; + joyDevice = id; + joyElement = id; + joyInvert = id; + launchDebugMode = id; + launchGamemodeCaptureSingle = id; + launchIconic = id; + launchUseCurrWD = id; + launchUseExtDesktop = id; + launchUseMacOSCoords = id; + mouseEanbleEmulation = id; + mouseMiddleMenu = id; + mouseRightMenu = id; + ok = id; + spaceAssign = id; + spaceDevice = id; + spaceElement = id; + spaceInvert = id; + }; + CLASS = GLUTPreferencesController; + LANGUAGE = ObjC; + OUTLETS = { + joyAssign = NSButton; + joyAssignNote = NSTextField; + joyAssignWarningIcon = NSImageView; + joyDeviceMenu = NSPopUpButton; + joyElement = NSTextField; + joyInputMenu = NSPopUpButton; + joyInverted = NSButton; + launchDebugMode = NSButton; + launchFadeTime = NSTextField; + launchGamemodeCaptureSingle = NSButton; + launchIconic = NSButton; + launchInitHeight = NSTextField; + launchInitWidth = NSTextField; + launchInitX = NSTextField; + launchInitY = NSTextField; + launchMenuIdle = NSTextField; + launchSyncToVBL = NSButton; + launchUseCurrWD = NSButton; + launchUseExtendedDesktop = NSButton; + launchUseMacOSXCoords = NSButton; + mouseAssignWarningIcon = NSImageView; + mouseAssignWarningText = NSTextField; + mouseDetected = NSTextField; + mouseEmulation = NSButton; + mouseMiddleConfigMenu = NSPopUpButton; + mouseRightConfigMenu = NSPopUpButton; + prefsTabView = NSTabView; + spaceAssign = NSButton; + spaceAssignNote = NSTextField; + spaceAssignWarningIcon = NSImageView; + spaceDeviceMenu = NSPopUpButton; + spaceElement = NSTextField; + spaceInputMenu = NSPopUpButton; + spaceInverted = NSButton; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib new file mode 100644 index 0000000..216c8dc --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 16 329 410 240 0 0 1920 1178 + IBFramework Version + 439.0 + IBOpenObjects + + 205 + + IBSystem Version + 8G32 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib new file mode 100644 index 0000000..7598f2c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings new file mode 100644 index 0000000..6db3c5c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..6f78b89 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..e8fc9d6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GLUT + CFBundleGetInfoString + 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved + CFBundleIdentifier + com.apple.glut + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.4.0 + CFBundleSignature + ???? + CFBundleVersion + GLUT-3.4.0 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff new file mode 100644 index 0000000..a2b0cf1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff new file mode 100644 index 0000000..c3f4795 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff new file mode 100644 index 0000000..274529f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff new file mode 100644 index 0000000..dec4252 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff new file mode 100644 index 0000000..8536c0e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff new file mode 100644 index 0000000..34b52f6 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff new file mode 100644 index 0000000..9e3a1cb Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff new file mode 100644 index 0000000..0087c66 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff new file mode 100644 index 0000000..fc4a88a Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff new file mode 100644 index 0000000..852b69b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff new file mode 100644 index 0000000..37fe393 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff new file mode 100644 index 0000000..d852616 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff new file mode 100644 index 0000000..9781f22 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff new file mode 100644 index 0000000..9bec966 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff new file mode 100644 index 0000000..e4df0de Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff new file mode 100644 index 0000000..43cf97f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff new file mode 100644 index 0000000..429b01b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff new file mode 100644 index 0000000..1605063 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff new file mode 100644 index 0000000..81ba1aa Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/GLUT b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/GLUT new file mode 100644 index 0000000..babc6b1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/GLUT differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h new file mode 100644 index 0000000..a5116e2 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h @@ -0,0 +1,18 @@ + +/* + * + * Written By Linas Vepstas November 1991 + */ + + +#define COPY_THREE_WORDS(A,B) { \ + struct three_words { int a, b, c, }; \ + *(struct three_words *) (A) = *(struct three_words *) (B); \ +} + +#define COPY_FOUR_WORDS(A,B) { \ + struct four_words { int a, b, c, d, }; \ + *(struct four_words *) (A) = *(struct four_words *) (B); \ +} + +/* ============================================================= */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h new file mode 100644 index 0000000..658699e --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h @@ -0,0 +1,96 @@ + +/* + * extrude.h + * + * FUNCTION: + * prototypes for privately used subroutines for the tubing library + * + * HISTORY: + * Linas Vepstas 1991 + */ + +#include "port.h" /* for gleDouble */ + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ============================================================ */ +/* + * Provides choice of calling subroutine, vs. invoking macro. + * Basically, inlines the source, or not. + * Trades performance for executable size. + */ + +#define INLINE_INTERSECT +#ifdef INLINE_INTERSECT +#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } +#else +#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) +#endif /* INLINE_INTERSECT */ + +/* ============================================================ */ +/* The folowing defines give a kludgy way of accessing the qmesh primitive */ + +/* +#define bgntmesh _emu_qmesh_bgnqmesh +#define endtmesh _emu_qmesh_endqmesh +#define c3f _emu_qmesh_c3f +#define n3f _emu_qmesh_n3f +#define v3f _emu_qmesh_v3f +*/ + +/* ============================================================ */ + +extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3]); /* polyline */ + + +extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble zval, /* where to draw cap */ + int frontwards); /* front or back cap */ + +extern void draw_round_style_cap_callback (int iloop, + double cap[][3], + float face_color[3], + gleDouble cut_vector[3], + gleDouble bisect_vector[3], + double norms[][3], + int frontwards); + +extern void draw_angle_style_front_cap (int ncp, + gleDouble bi[3], + gleDouble point_array[][3]); + +extern void extrusion_raw_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_angle_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* -------------------------- end of file -------------------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h new file mode 100644 index 0000000..baf54a7 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h @@ -0,0 +1,137 @@ +#ifndef __glsmap_h__ +#define __glsmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* Try hard to avoid including to avoid name space pollution, + but Win32's needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef CALLBACK + /* XXX This is from Win32's */ +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif /* _WIN32 */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + SMAP_CLEAR_SMAP_TEXTURE = 0x1, + SMAP_GENERATE_VIEW_MIPMAPS = 0x2, + SMAP_GENERATE_SMAP_MIPMAPS = 0x4, + SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ +} SphereMapFlags; + +/* Cube view enumerants. */ +enum { + SMAP_FRONT = 0, + SMAP_TOP = 1, + SMAP_BOTTOM = 2, + SMAP_LEFT = 3, + SMAP_RIGHT = 4, + SMAP_BACK = 5 +}; + +typedef struct _SphereMap SphereMap; + +extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); +extern void smapDestroySphereMap(SphereMap *smap); + +extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); + +extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); +extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); + +extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); +extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); + +extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); +extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); + +extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); +extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); +extern void smapSetUpVector(SphereMap *smap, GLfloat *up); +extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); +extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); +extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); +extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); +extern void smapGetUpVector(SphereMap *smap, GLfloat *up); +extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); +extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); + +extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); +extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); + +extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); +extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); +extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); +extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); + +extern void smapSetContextData(SphereMap *smap, void *context); +extern void smapGetContextData(SphereMap *smap, void **context); + +extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); +extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); +extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); +extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); + +extern void smapGenViewTex(SphereMap *smap, int view); +extern void smapGenViewTexs(SphereMap *smap); +extern void smapGenSphereMapFromViewTexs(SphereMap *smap); +extern void smapGenSphereMap(SphereMap *smap); +extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); + +extern int smapRvecToSt(float rvec[3], float st[2]); +extern void smapStToRvec(float *st, float *rvec); + +#ifdef __cplusplus +} + +#endif +#endif /* __glsmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h new file mode 100644 index 0000000..3620e7d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h @@ -0,0 +1,102 @@ +#ifndef __glsmapint_h__ +#define __glsmapint_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glsmap.h" + +enum { X = 0, Y = 1, Z = 2 }; + +#define INITFACE(mesh) \ + int steps = mesh->steps; \ + int sqsteps = mesh->steps * mesh->steps + +#define FACE(side,y,x) \ + mesh->face[(side)*sqsteps + (y)*steps + (x)] + +#define FACExy(side,i,j) \ + (&FACE(side,i,j).x) + +#define FACEst(side,i,j) \ + (&FACE(side,i,j).s) + +#define INITBACK(mesh) \ + int allrings = mesh->rings + mesh->edgeExtend; \ + int ringedspokes = allrings * mesh->steps + +#define BACK(edge,ring,spoke) \ + mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] + +#define BACKxy(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).x) + +#define BACKst(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).s) + +typedef struct _STXY { + GLfloat s, t; + GLfloat x, y; +} STXY; + +typedef struct _SphereMapMesh { + + int refcnt; + + int steps; + int rings; + int edgeExtend; + + STXY *face; + STXY *back; + +} SphereMapMesh; + +struct _SphereMap { + + /* Shared sphere map mesh vertex data. */ + SphereMapMesh *mesh; + + /* Texture object ids. */ + GLuint smapTexObj; + GLuint viewTexObjs[6]; + GLuint viewTexObj; + + /* Flags */ + SphereMapFlags flags; + + /* Texture dimensions must be a power of two. */ + int viewTexDim; /* view texture dimension */ + int smapTexDim; /* sphere map texture dimension */ + + /* Viewport origins for view and sphere map rendering. */ + int viewOrigin[2]; + int smapOrigin[2]; + + /* Viewing vectors. */ + GLfloat eye[3]; + GLfloat up[3]; + GLfloat obj[3]; + + /* Projection parameters. */ + GLfloat viewNear; + GLfloat viewFar; + + /* Rendering callbacks. */ + void (*positionLights)(int view, void *context); + void (*drawView)(int view, void *context); + + /* Application specified callback data. */ + void *context; + +}; + +/* Library internal routines. */ +extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); +extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); +extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); + +#endif /* __glsmapint_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h new file mode 100644 index 0000000..cbc6ebe --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h @@ -0,0 +1,648 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ +//#define GLUT_OF_007_HACK + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including + to avoid name space pollution, but Win32's + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ +#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif + +#if defined(__APPLE__) || defined(MACOSX) +#include +#include +#include +#else +#include +#include +#endif + +/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ +#if !defined(_WIN32) +#define APIENTRY +#define GLUT_APIENTRY_DEFINED +#define CALLBACK +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). + + GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 5 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/** + MacOS X GLUT implementation revision history: + + GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X + specific GLUT API revisions and implementation revisions + (ie, bug fixes). + + GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. + + GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. + +**/ +#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_MACOSX_IMPLEMENTATION 2 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif +#define GLUT_NO_RECOVERY 1024 + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +/* Layers for use. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +extern void *glutStrokeRoman; +extern void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +extern void *glutBitmap9By15; +extern void *glutBitmap8By13; +extern void *glutBitmapTimesRoman10; +extern void *glutBitmapTimesRoman24; +extern void *glutBitmapHelvetica10; +extern void *glutBitmapHelvetica12; +extern void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X 100 +#define GLUT_WINDOW_Y 101 +#define GLUT_WINDOW_WIDTH 102 +#define GLUT_WINDOW_HEIGHT 103 +#define GLUT_WINDOW_BUFFER_SIZE 104 +#define GLUT_WINDOW_STENCIL_SIZE 105 +#define GLUT_WINDOW_DEPTH_SIZE 106 +#define GLUT_WINDOW_RED_SIZE 107 +#define GLUT_WINDOW_GREEN_SIZE 108 +#define GLUT_WINDOW_BLUE_SIZE 109 +#define GLUT_WINDOW_ALPHA_SIZE 110 +#define GLUT_WINDOW_ACCUM_RED_SIZE 111 +#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 +#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 +#define GLUT_WINDOW_DOUBLEBUFFER 115 +#define GLUT_WINDOW_RGBA 116 +#define GLUT_WINDOW_PARENT 117 +#define GLUT_WINDOW_NUM_CHILDREN 118 +#define GLUT_WINDOW_COLORMAP_SIZE 119 +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES 120 +#define GLUT_WINDOW_STEREO 121 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR 122 +#endif +#define GLUT_SCREEN_WIDTH 200 +#define GLUT_SCREEN_HEIGHT 201 +#define GLUT_SCREEN_WIDTH_MM 202 +#define GLUT_SCREEN_HEIGHT_MM 203 +#define GLUT_MENU_NUM_ITEMS 300 +#define GLUT_DISPLAY_MODE_POSSIBLE 400 +#define GLUT_INIT_WINDOW_X 500 +#define GLUT_INIT_WINDOW_Y 501 +#define GLUT_INIT_WINDOW_WIDTH 502 +#define GLUT_INIT_WINDOW_HEIGHT 503 +#define GLUT_INIT_DISPLAY_MODE 504 +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME 700 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID 123 +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD 600 +#define GLUT_HAS_MOUSE 601 +#define GLUT_HAS_SPACEBALL 602 +#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 +#define GLUT_HAS_TABLET 604 +#define GLUT_NUM_MOUSE_BUTTONS 605 +#define GLUT_NUM_SPACEBALL_BUTTONS 606 +#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 +#define GLUT_NUM_DIALS 608 +#define GLUT_NUM_TABLET_BUTTONS 609 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 +#define GLUT_DEVICE_KEY_REPEAT 611 +#define GLUT_HAS_JOYSTICK 612 +#define GLUT_OWNS_JOYSTICK 613 +#define GLUT_JOYSTICK_BUTTONS 614 +#define GLUT_JOYSTICK_AXES 615 +#define GLUT_JOYSTICK_POLL_RATE 616 +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE 800 +#define GLUT_LAYER_IN_USE 801 +#define GLUT_HAS_OVERLAY 802 +#define GLUT_TRANSPARENT_INDEX 803 +#define GLUT_NORMAL_DAMAGED 804 +#define GLUT_OVERLAY_DAMAGED 805 + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE 900 +#define GLUT_VIDEO_RESIZE_IN_USE 901 +#define GLUT_VIDEO_RESIZE_X_DELTA 902 +#define GLUT_VIDEO_RESIZE_Y_DELTA 903 +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 +#define GLUT_VIDEO_RESIZE_X 906 +#define GLUT_VIDEO_RESIZE_Y 907 +#define GLUT_VIDEO_RESIZE_WIDTH 908 +#define GLUT_VIDEO_RESIZE_HEIGHT 909 +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +extern void APIENTRY glutInit(int *argcp, char **argv); +extern void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutInitDisplayString(const char *string); +#endif +extern void APIENTRY glutInitWindowPosition(int x, int y); +extern void APIENTRY glutInitWindowSize(int width, int height); +extern void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +extern int APIENTRY glutCreateWindow(const char *title); +extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +extern void APIENTRY glutDestroyWindow(int win); +extern void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowRedisplay(int win); +#endif +extern void APIENTRY glutSwapBuffers(void); +extern int APIENTRY glutGetWindow(void); +extern void APIENTRY glutSetWindow(int win); +extern void APIENTRY glutSetWindowTitle(const char *title); +extern void APIENTRY glutSetIconTitle(const char *title); +extern void APIENTRY glutPositionWindow(int x, int y); +extern void APIENTRY glutReshapeWindow(int width, int height); +extern void APIENTRY glutPopWindow(void); +extern void APIENTRY glutPushWindow(void); +extern void APIENTRY glutIconifyWindow(void); +extern void APIENTRY glutShowWindow(void); +extern void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutFullScreen(void); +extern void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWarpPointer(int x, int y); +#if (GLUT_MACOSX_IMPLEMENTATION >= 1) +/* surface texturing API Mac OS X specific +* Note: +* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object +*/ +#ifdef MAC_OS_X_VERSION_10_5 +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 +#else +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); +#endif +#endif +#if (GLUT_MACOSX_IMPLEMENTATION >= 2) +/* Mac OS X specific API */ +extern void APIENTRY glutWMCloseFunc(void (*func)(void)); +extern void APIENTRY glutCheckLoop(void); +#endif +#endif + +/* GLUT overlay sub-API. */ +extern void APIENTRY glutEstablishOverlay(void); +extern void APIENTRY glutRemoveOverlay(void); +extern void APIENTRY glutUseLayer(GLenum layer); +extern void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +extern void APIENTRY glutShowOverlay(void); +extern void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +extern int APIENTRY glutCreateMenu(void (*)(int)); +extern void APIENTRY glutDestroyMenu(int menu); +extern int APIENTRY glutGetMenu(void); +extern void APIENTRY glutSetMenu(int menu); +extern void APIENTRY glutAddMenuEntry(const char *label, int value); +extern void APIENTRY glutAddSubMenu(const char *label, int submenu); +extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +extern void APIENTRY glutRemoveMenuItem(int item); +extern void APIENTRY glutAttachMenu(int button); +extern void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +extern void APIENTRY glutDisplayFunc(void (*func)(void)); +extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); +extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); +extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutEntryFunc(void (*func)(int state)); +extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); +extern void APIENTRY glutIdleFunc(void (*func)(void)); +extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); +extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); +#if (GLUT_API_VERSION >= 2) +extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); +extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); +extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); +extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); +extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +//#ifdef GLUT_OF_007_HACK +extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); +//#endif +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +extern GLfloat APIENTRY glutGetColor(int ndx, int component); +extern void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +extern int APIENTRY glutGet(GLenum type); +extern int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +extern int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +extern int APIENTRY glutGetModifiers(void); +extern int APIENTRY glutLayerGet(GLenum type); +#endif +#if (GLUT_API_VERSION >= 5) +extern void * APIENTRY glutGetProcAddress(const char *procName); +#endif + +/* GLUT font sub-API */ +extern void APIENTRY glutBitmapCharacter(void *font, int character); +extern int APIENTRY glutBitmapWidth(void *font, int character); +extern void APIENTRY glutStrokeCharacter(void *font, int character); +extern int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutWireCube(GLdouble size); +extern void APIENTRY glutSolidCube(GLdouble size); +extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutWireDodecahedron(void); +extern void APIENTRY glutSolidDodecahedron(void); +extern void APIENTRY glutWireTeapot(GLdouble size); +extern void APIENTRY glutSolidTeapot(GLdouble size); +extern void APIENTRY glutWireOctahedron(void); +extern void APIENTRY glutSolidOctahedron(void); +extern void APIENTRY glutWireTetrahedron(void); +extern void APIENTRY glutSolidTetrahedron(void); +extern void APIENTRY glutWireIcosahedron(void); +extern void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +extern int APIENTRY glutVideoResizeGet(GLenum param); +extern void APIENTRY glutSetupVideoResizing(void); +extern void APIENTRY glutStopVideoResizing(void); +extern void APIENTRY glutVideoResize(int x, int y, int width, int height); +extern void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +extern void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +extern void APIENTRY glutIgnoreKeyRepeat(int ignore); +extern void APIENTRY glutSetKeyRepeat(int repeatMode); +extern void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE 0 +#define GLUT_GAME_MODE_POSSIBLE 1 +#define GLUT_GAME_MODE_WIDTH 2 +#define GLUT_GAME_MODE_HEIGHT 3 +#define GLUT_GAME_MODE_PIXEL_DEPTH 4 +#define GLUT_GAME_MODE_REFRESH_RATE 5 +#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 + +extern void APIENTRY glutGameModeString(const char *string); +extern int APIENTRY glutEnterGameMode(void); +extern void APIENTRY glutLeaveGameMode(void); +extern int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif /* __glut_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h new file mode 100644 index 0000000..e29a016 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h @@ -0,0 +1,30 @@ +#ifndef __glutbitmap_h__ +#define __glutbitmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glut.h" + +typedef struct { + const GLsizei width; + const GLsizei height; + const GLfloat xorig; + const GLfloat yorig; + const GLfloat advance; + const GLubyte *bitmap; +} BitmapCharRec, *BitmapCharPtr; + +typedef struct { + const char *name; + const int num_chars; + const int first; + const BitmapCharRec * const *ch; +} BitmapFontRec, *BitmapFontPtr; + +typedef void *GLUTbitmapFont; + +#endif /* __glutbitmap_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h new file mode 100644 index 0000000..f8a170b --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h @@ -0,0 +1,90 @@ +#ifndef __glutf90_h__ +#define __glutf90_h__ + +/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +/* This header provides the binding interface for William Mitchell's + f90gl Fortran 90 GLUT binding. Other GLUT language bindings + can and should use this interace. */ + +/* I appreciate the guidance from William Mitchell + (mitchell@cam.nist.gov) in developing this friend interface + for use by the f90gl package. See ../../README.fortran */ + +#include + +#ifndef GLUTCALLBACK + #define GLUTCALLBACK +#endif +#ifndef APIENTRY + #define APIENTRY +#endif + +/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ +/* NOTE These values are part of a binary interface for the f90gl Fortran + 90 binding and so must NOT changes (additions are allowed). */ + +/* GLUTwindow callbacks. */ +#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ +#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ +#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ +#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ +#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ +#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ +#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ +#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ +#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ +#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ +#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ +#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ +#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ +#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ +#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ +#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ +#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ +#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ +#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ +#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ +#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ +/* Non-GLUTwindow callbacks. */ +#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ +#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ +#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ + +/* GLUT Fortran callback function types. */ +typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); +typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); +typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); +/* NOTE the pressed key is int, not unsigned char for Fortran! */ +typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); +typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); +typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); +typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); + +typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); +typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); +typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ +typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTidleFCB) (void); + +/* Functions that set and return Fortran callback functions. */ +extern void* APIENTRY __glutGetFCB(int which); +extern void APIENTRY __glutSetFCB(int which, void *func); + +#endif /* __glutf90_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h new file mode 100644 index 0000000..cbc9e15 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h @@ -0,0 +1,42 @@ +#ifndef __glutstroke_h__ +#define __glutstroke_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +#endif + +typedef struct { + float x; + float y; +} CoordRec, *CoordPtr; + +typedef struct { + int num_coords; + const CoordRec *coord; +} StrokeRec, *StrokePtr; + +typedef struct { + int num_strokes; + const StrokeRec *stroke; + float center; + float right; +} StrokeCharRec, *StrokeCharPtr; + +typedef struct { + const char *name; + int num_chars; + const StrokeCharRec *ch; + float top; + float bottom; +} StrokeFontRec, *StrokeFontPtr; + +typedef void *GLUTstrokeFont; + +#endif /* __glutstroke_h__ */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h new file mode 100644 index 0000000..f7ffcf3 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h @@ -0,0 +1,89 @@ + +/* + * gutil.h + * + * FUNCTION: + * Provide utilities that allow rotation to occur + * around any axis. + * + * HISTORY: + * created by Linas Vepstas 1990 + * added single & double precision, June 1991, Linas Vepstas + */ + +#ifndef __GUTIL_H__ +#define __GUTIL_H__ + +#ifdef __GUTIL_DOUBLE +#define gutDouble double +#else +#define gutDouble float +#endif + + +#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (); +extern void rot_about_axis_f (); +extern void rot_omega_f (); +extern void urot_axis_f (); +extern void urot_about_axis_f (); +extern void urot_omega_f (); + +/* double-precision versions */ +extern void rot_axis_d (); +extern void rot_about_axis_d (); +extern void rot_omega_d (); +extern void urot_axis_d (); +extern void urot_about_axis_d (); +extern void urot_omega_d (); + +/* viewpoint functions */ +extern void uview_direction_d (); +extern void uview_direction_f (); +extern void uviewpoint_d (); +extern void uviewpoint_f (); + +#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (float omega, float axis[3]); +extern void rot_about_axis_f (float angle, float axis[3]); +extern void rot_omega_f (float axis[3]); +extern void urot_axis_f (float m[4][4], float omega, float axis[3]); +extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); +extern void urot_omega_f (float m[4][4], float axis[3]); + +/* double-precision versions */ +extern void rot_axis_d (double omega, double axis[3]); +extern void rot_about_axis_d (double angle, double axis[3]); +extern void rot_omega_d (double axis[3]); +extern void urot_axis_d (double m[4][4], double omega, double axis[3]); +extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); +extern void urot_omega_d (double m[4][4], double axis[3]); + +/* viewpoint functions */ +extern void uview_direction_d (double m[4][4], /* returned */ + double v21[3], /* input */ + double up[3]); /* input */ + +extern void uview_direction_f (float m[4][4], /* returned */ + float v21[3], /* input */ + float up[3]); /* input */ + +extern void uviewpoint_d (double m[4][4], /* returned */ + double v1[3], /* input */ + double v2[3], /* input */ + double up[3]); /* input */ + +extern void uviewpoint_f (float m[4][4], /* returned */ + float v1[3], /* input */ + float v2[3], /* input */ + float up[3]); /* input */ + +#endif /* _NO_PROTO */ + +#endif /* _GUTIL_H__ */ + +/* ------------------- end of file ---------------------- */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h new file mode 100644 index 0000000..f5ff7a5 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h @@ -0,0 +1,391 @@ +/* + * FUNCTION: + * This file contains a number of utilities useful to 3D graphics in + * general, and to the generation of tubing and extrusions in particular + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Updated to correctly handle degenerate cases, Linas, February 1993 + */ + +#include +#include "port.h" +#include "vvector.h" + +#define BACKWARDS_INTERSECT (2) + +/* ========================================================== */ +/* + * the Degenerate_Tolerance token represents the greatest amount by + * which different scales in a graphics environment can differ before + * they should be considered "degenerate". That is, when one vector is + * a million times longer than another, changces are that the second will + * be less than a pixel int, and therefore was probably meant to be + * degenerate (by the CAD package, etc.) But what should this tolerance + * be? At least 1 in onethousand (since screen sizes are 1K pixels), but + * les than 1 in 4 million (since this is the limit of single-precision + * floating point accuracy). Of course, if double precision were used, + * then the tolerance could be increased. + * + * Potentially, this naive assumption could cause problems if the CAD + * package attempts to zoom in on small details, and turns out, certain + * points should not hvae been degenerate. The problem presented here + * is that the tolerance could run out before single-precision ran + * out, and so the CAD packages would perceive this as a "bug". + * One alternative is to fiddle around & try to tighten the tolerance. + * However, the right alternative is to code the graphics pipeline in + * double-precision (and tighten the tolerance). + * + * By the way, note that Degernate Tolerance is a "dimensionless" + * quantitiy -- it has no units -- it does not measure feet, inches, + * millimeters or pixels. It is used only in the computations of ratios + * and relative lengths. + */ + +/* + * Right now, the tolerance is set to 2 parts in a million, which + * corresponds to a 19-bit distinction of mantissas. Note that + * single-precsion numbers have 24 bit mantissas. + */ + +#define DEGENERATE_TOLERANCE (0.000002) + +/* ========================================================== */ +/* + * The macro and subroutine INTERSECT are designed to compute the + * intersection of a line (defined by the points v1 and v2) and a plane + * (defined as plane which is normal to the vector n, and contains the + * point p). Both return the point sect, which is the point of + * interesection. + * + * This MACRO attemps to be fairly robust by checking for a divide by + * zero. + */ + +/* ========================================================== */ +/* + * HACK ALERT + * The intersection parameter t has the nice property that if t>1, + * then the intersection is "in front of" p1, and if t<0, then the + * intersection is "behind" p2. Unfortunately, as the intersecting plane + * and the line become parallel, t wraps through infinity -- i.e. t can + * become so large that t becomes "greater than infinity" and comes back + * as a negative number (i.e. winding number hopped by one unit). We + * have no way of detecting this situation without adding gazzillions + * of lines of code of topological algebra to detect the winding number; + * and this would be incredibly difficult, and ruin performance. + * + * Thus, we've installed a cheap hack for use by the "cut style" drawing + * routines. If t proves to be a large negative number (more negative + * than -5), then we assume that t was positive and wound through + * infinity. This makes most cuts look good, without introducing bogus + * cuts at infinity. + */ +/* ========================================================== */ + +#define INTERSECT(sect,p,n,v1,v2) \ +{ \ + gleDouble deno, numer, t, omt; \ + \ + deno = (v1[0] - v2[0]) * n[0]; \ + deno += (v1[1] - v2[1]) * n[1]; \ + deno += (v1[2] - v2[2]) * n[2]; \ + \ + if (deno == 0.0) { \ + VEC_COPY (n, v1); \ + /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ + } else { \ + \ + numer = (p[0] - v2[0]) * n[0]; \ + numer += (p[1] - v2[1]) * n[1]; \ + numer += (p[2] - v2[2]) * n[2]; \ + \ + t = numer / deno; \ + omt = 1.0 - t; \ + \ + sect[0] = t * v1[0] + omt * v2[0]; \ + sect[1] = t * v1[1] + omt * v2[1]; \ + sect[2] = t * v1[2] + omt * v2[2]; \ + } \ +} + +/* ========================================================== */ +/* + * The macro and subroutine BISECTING_PLANE compute a normal vector that + * describes the bisecting plane between three points (v1, v2 and v3). + * This bisecting plane has the following properties: + * 1) it contains the point v2 + * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it + * makes with v32 == v3 - v2 + * 3) it is perpendicular to the plane defined by v1, v2, v3. + * + * Having input v1, v2, and v3, it returns a unit vector n. + * + * In some cases, the user may specify degenerate points, and still + * expect "reasonable" or "obvious" behaviour. The "expected" + * behaviour for these degenerate cases is: + * + * 1) if v1 == v2 == v3, then return n=0 + * 2) if v1 == v2, then return v32 (normalized). + * 3) if v2 == v3, then return v21 (normalized). + * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). + * + * Mathematically, these special cases "make sense" -- we just have to + * code around potential divide-by-zero's in the code below. + */ + +/* ========================================================== */ + +#define BISECTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as bisector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ + (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ +/* + * The block of code below is ifdef'd out, and is here for reference + * purposes only. It performs the "mathematically right thing" for + * computing a bisecting plane, but is, unfortunately, subject ot noise + * in the presence of near degenerate points. Since computer graphics, + * due to sloppy coding, laziness, or correctness, is filled with + * degenerate points, we can't really use this version. The code above + * is far more appropriate for graphics. + */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define BISECTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 == 0.0) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + } \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + if (len32 == 0.0) { \ + /* return a normalized copy of v21 as bisector */ \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot == 1.0) || (vdot == -1.0)) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} +#endif + +/* ========================================================== */ +/* + * This macro computes the plane perpendicular to the the plane + * defined by three points, and whose normal vector is givven as the + * difference between the two vectors ... + * + * (See way below for the "math" model if you want to understand this. + * The comments about relative errors above apply here.) + */ + +#define CUTTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double lendiff; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as cut-vector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as cut vector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_LENGTH (lendiff, n); \ + \ + /* if the perp vector is very small, then the two \ + * vectors are darn near collinear, and the cut \ + * vector is probably poorly defined. */ \ + if (lendiff < DEGENERATE_TOLERANCE) { \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + lendiff = 1.0 / lendiff; \ + VEC_SCALE (n, lendiff, n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define CUTTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_NORMALIZE (v21); \ + VEC_NORMALIZE (v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_NORMALIZE (n); \ +} +#endif + + +/* ============================================================ */ +/* This macro is used in several places to cycle through a series of + * points to find the next non-degenerate point in a series */ + +#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ +{ \ + gleDouble slen; \ + gleDouble summa[3]; \ + \ + do { \ + /* get distance to next point */ \ + VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (len, diff); \ + VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (slen, summa); \ + slen *= DEGENERATE_TOLERANCE; \ + inext ++; \ + } while ((len <= slen) && (inext < npoints-1)); \ +} + +/* ========================================================== */ + +extern int bisecting_plane (gleDouble n[3], /* returned */ + gleDouble v1[3], /* input */ + gleDouble v2[3], /* input */ + gleDouble v3[3]); /* input */ + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/port.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/port.h new file mode 100644 index 0000000..2827bbf --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/port.h @@ -0,0 +1,298 @@ + +/* + * port.h + * + * FUNCTION: + * This file contains defines for porting the tubing toolkit from GL to + * OpenGL to some callback scheme. + * + * HISTORY: + * Created by Linas Vepstas -- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + */ + +#ifndef __GLE_PORT_H__ +#define __GLE_PORT_H__ + + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ====================================================== */ +/* Some compilers can't handle multiply-subscripted array's */ + +#ifdef FUNKY_C +typedef gleDouble gleVector; +#define AVAL(arr,n,i,j) arr(6*n+3*i+j) +#define VVAL(arr,n,i) arr(3*n+i) + +#else /* FUNKY_C */ +typedef double gleVector[3]; +typedef double glePoint[2]; +#define AVAL(arr,n,i,j) arr[n][i][j] +#define VVAL(arr,n,i) arr[n][i]; + +#endif /* FUNKY_C */ + +/* ====================================================== */ +/* These are used to convey info about topography to the + * texture mapping routines */ + +#define FRONT 1 +#define BACK 2 +#define FRONT_CAP 3 +#define BACK_CAP 4 +#define FILLET 5 + +/* ====================================================== */ + +#define __GLE_DOUBLE + +/* ====================================================== */ + +#ifdef __GLE_DOUBLE +#ifndef gleDouble + #define gleDouble double +#endif +#define urot_axis(a,b,c) urot_axis_d(a,b,c) +#define uview_direction(a,b,c) uview_direction_d(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_D(m) +#define LOADMATRIX(m) LOADMATRIX_D(m) +#define V3F(x,j,id) V3F_D(x,j,id) +#define N3F(x) N3F_D(x) +#define T2F(x,y) T2F_D(x,y) +#else +#define gleDouble float +#define urot_axis(a,b,c) urot_axis_f(a,b,c) +#define uview_direction(a,b,c) uview_direction_f(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_F(m) +#define LOADMATRIX(m) LOADMATRIX_F(m) +#define V3F(x,j,id) V3F_F(x,j,id) +#define N3F(x) N3F_F(x) +#define T2F(x,y) T2F_F(x,y) +#endif + +/* ====================================================== */ + +#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) +#undef GL_32 +#undef OPENGL_10 + +#define BGNTMESH(i,len) printf ("bgntmesh() \n"); +#define ENDTMESH() printf ("endtmesh() \n"); +#define BGNPOLYGON() printf ("bgnpolygon() \n"); +#define ENDPOLYGON() printf ("endpolygon() \n"); +#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); + +#define POPMATRIX() printf ("popmatrix () \n"); +#define PUSHMATRIX() printf ("pushmatrix() \n"); +#define MULTMATRIX_F(x) MULTMATRIX_D(x) +#define LOADMATRIX_F(x) LOADMATRIX_D(x) + + +#define LOADMATRIX_D(x) { \ + int i, j; \ + printf ("loadmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + printf ("multmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define __IS_LIGHTING_ON (1) + +#endif + +/* ====================================================== */ + +#ifdef GL_32 + +#include + +#define BGNTMESH(i,len) bgntmesh() +#define ENDTMESH() endtmesh() +#define BGNPOLYGON() bgnpolygon() +#define ENDPOLYGON() endpolygon() +#define V3F_F(x,j,id) v3f(x) +#define V3F_D(x,j,id) v3d(x) +#define N3F_F(x) n3f(x) +#define T2F_F(x,y) +#define T2F_D(x,y) +#define C3F(x) c3f(x) + +#define POPMATRIX() popmatrix () +#define PUSHMATRIX() pushmatrix() +#define MULTMATRIX_F(x) multmatrix (x) +#define LOADMATRIX_F(x) loadmatrix (x) + +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = (float) x[0]; \ + nnn[1] = (float) x[1]; \ + nnn[2] = (float) x[2]; \ + n3f (nnn); \ +} + +#define LOADMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + loadmatrix(mmm); \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + multmatrix(mmm); \ +} + +/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ +#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) + +#endif /* GL_32 */ + +/* ====================================================== */ +#ifdef OPENGL_10 + +#if defined(_WIN32) +#include +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#endif +#include +#include + +/* +#define N3F_F(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +*/ + +#define C3F(x) glColor3fv(x) +#define T2F_F(x,y) glTexCoord2f(x,y) +#define T2F_D(x,y) glTexCoord2d(x,y) + +#define POPMATRIX() glPopMatrix() +#define PUSHMATRIX() glPushMatrix() + +#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) +#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) + +#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) +#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) + +#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) + +/* ====================================================== */ +#ifdef AUTO_TEXTURE + +#define BGNTMESH(i,len) { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ + glBegin (GL_TRIANGLE_STRIP); \ +} + +#define BGNPOLYGON() { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ + glBegin (GL_POLYGON); \ +} + +#define N3F_F(x) { \ + if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ + glNormal3fv(x); \ +} + +#define N3F_D(x) { \ + if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ + glNormal3dv(x); \ +} + +#define V3F_F(x,j,id) { \ + if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ + glVertex3fv(x); \ +} + +#define V3F_D(x,j,id) { \ + if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ + glVertex3dv(x); \ +} + +#define ENDTMESH() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +#define ENDPOLYGON() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +/* ====================================================== */ +#else /* AUTO_TEXTURE */ + +#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); +#define BGNPOLYGON() glBegin (GL_POLYGON); + +#define N3F_F(x) glNormal3fv(x) +#define N3F_D(x) glNormal3dv(x) +#define V3F_F(x,j,id) glVertex3fv(x); +#define V3F_D(x,j,id) glVertex3dv(x); + +#define ENDTMESH() glEnd () +#define ENDPOLYGON() glEnd() + +#endif /* AUTO_TEXTURE */ + +#endif /* OPENGL_10 */ + +/* ====================================================== */ + + +#endif /* __GLE_PORT_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h new file mode 100644 index 0000000..91083e9 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h @@ -0,0 +1,98 @@ + +/* + * rot.h + * + * FUNCTION: + * rotation matrix utilities + * + * HISTORY: + * Linas Vepstas Aug 1990 + */ + +/* ========================================================== */ +/* + * The MACROS below generate and return more traditional rotation + * matrices -- matrices for rotations about principal axes. + */ +/* ========================================================== */ + +#define ROTX_CS(m,cosine,sine) \ +{ \ + /* rotation about the x-axis */ \ + \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = (cosine); \ + m[1][2] = (sine); \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = -(sine); \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTY_CS(m,cosine,sine) \ +{ \ + /* rotation about the y-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = 0.0; \ + m[0][2] = -(sine); \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = (sine); \ + m[2][1] = 0.0; \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTZ_CS(m,cosine,sine) \ +{ \ + /* rotation about the z-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = (sine); \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = -(sine); \ + m[1][1] = (cosine); \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h new file mode 100644 index 0000000..8d1cf04 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h @@ -0,0 +1,98 @@ + +/* + * MODULE: segment.h + * + * FUNCTION: + * Contains function prototypes for segment drawing subroutines. + * These are used only internally, and are not to be exported to + * the user. + * + * HISTORY: + * Create by Linas Vepstas + * Added tube.h include to define gleDouble, tad February 2002 + */ + +/* ============================================================ */ + +#include "tube.h" + +extern void draw_segment_plain (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + int inext, double len); + +extern void draw_segment_color (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_edge_n (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_edge_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +/* ============================================================ */ + +extern void draw_binorm_segment_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_binorm_segment_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ + gleDouble bi[3], /* biscetor */ + gleDouble point_array[][3]); /* polyline */ + +/* -------------------------- end of file -------------------------------- */ + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h new file mode 100644 index 0000000..c303e19 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h @@ -0,0 +1,203 @@ +/* + * tube.h + * + * FUNCTION: + * Tubing and Extrusion header file. + * This file provides protypes and defines for the extrusion + * and tubing primitives. + * + * HISTORY: + * Linas Vepstas 1990, 1991 + */ + +#ifndef __TUBE_H__ +#define __TUBE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLE API revision history: + + GLE_API_VERSION is updated to reflect GLE API changes (interface + changes, semantic changes, deletions, or additions). + + GLE_API_VERSION=228 GLUT 3.7 release of GLE. +**/ +#ifndef GLE_API_VERSION /* allow this to be overriden */ +#define GLE_API_VERSION 228 +#endif + +/* some types */ +#ifndef gleDouble + #define gleDouble double +#endif +typedef gleDouble gleAffine[2][3]; + +/* ====================================================== */ + +/* defines for tubing join styles */ +#define TUBE_JN_RAW 0x1 +#define TUBE_JN_ANGLE 0x2 +#define TUBE_JN_CUT 0x3 +#define TUBE_JN_ROUND 0x4 +#define TUBE_JN_MASK 0xf /* mask bits */ +#define TUBE_JN_CAP 0x10 + +/* determine how normal vectors are to be handled */ +#define TUBE_NORM_FACET 0x100 +#define TUBE_NORM_EDGE 0x200 +#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ +#define TUBE_NORM_MASK 0xf00 /* mask bits */ + +/* closed or open countours */ +#define TUBE_CONTOUR_CLOSED 0x1000 + +#define GLE_TEXTURE_ENABLE 0x10000 +#define GLE_TEXTURE_STYLE_MASK 0xff +#define GLE_TEXTURE_VERTEX_FLAT 1 +#define GLE_TEXTURE_NORMAL_FLAT 2 +#define GLE_TEXTURE_VERTEX_CYL 3 +#define GLE_TEXTURE_NORMAL_CYL 4 +#define GLE_TEXTURE_VERTEX_SPH 5 +#define GLE_TEXTURE_NORMAL_SPH 6 +#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 +#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 +#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 +#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 +#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 +#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 + +#ifdef GL_32 +/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ +#define TUBE_LIGHTING_ON 0x80000000 + +#define gleExtrusion extrusion +#define gleSetJoinStyle setjoinstyle +#define gleGetJoinStyle getjoinstyle +#define glePolyCone polycone +#define glePolyCylinder polycylinder +#define gleSuperExtrusion super_extrusion +#define gleTwistExtrusion twist_extrusion +#define gleSpiral spiral +#define gleLathe lathe +#define gleHelicoid helicoid +#define gleToroid toroid +#define gleScrew screw + +#endif /* GL_32 */ + +extern int gleGetJoinStyle (void); +extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ +extern int gleGetNumSlices(void); +extern void gleSetNumSlices(int slices); + +/* draw polyclinder, specified as a polyline */ +extern void glePolyCylinder (int npoints, /* num points in polyline */ + gleDouble point_array[][3], /* polyline vertces */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius); /* radius of polycylinder */ + +/* draw polycone, specified as a polyline with radii */ +extern void glePolyCone (int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius_array[]); /* cone radii at polyline verts */ + +/* extrude arbitrary 2D contour along arbitrary 3D path */ +extern void gleExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3]); /* colors at polyline verts */ + +/* extrude 2D contour, specifying local rotations (twists) */ +extern void gleTwistExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble twist_array[]); /* countour twists (in degrees) */ + +/* extrude 2D contour, specifying local affine tranformations */ +extern void gleSuperExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* spiral moves contour along helical path by parallel transport */ +extern void gleSpiral (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* lathe moves contour along helical path by helically shearing 3D space */ +extern void gleLathe (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to spiral, except contour is a circle */ +extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to lathe, except contour is a circle */ +extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* draws a screw shape */ +extern void gleScrew (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startz, /* start of segment */ + gleDouble endz, /* end of segment */ + gleDouble twist); /* number of rotations */ + +extern void gleTextureMode (int mode); + +#ifdef __cplusplus +} + +#endif +#endif /* __TUBE_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h new file mode 100644 index 0000000..ccd2853 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h @@ -0,0 +1,78 @@ + +/* + * tube_gc.h + * + * FUNCTION: + * This file allows for easy changes to changes in the way the extrusion + * library handles state info (i.e. context). + * + * HISTORY: + * Linas Vepstas --- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + * Added tube.h include to define gleDouble, tad February 2002 + */ + +#include "tube.h" +#include "port.h" /* for gleVector */ + +typedef float gleColor[3]; +typedef double gleTwoVec[2]; + +typedef struct { + + /* public methods */ + void (*bgn_gen_texture) (int, double); + void (*n3f_gen_texture) (float *); + void (*n3d_gen_texture) (double *); + void (*v3f_gen_texture) (float *, int, int); + void (*v3d_gen_texture) (double *, int, int); + void (*end_gen_texture) (void); + + /* protected members -- "general knowledge" stuff */ + int join_style; + + /* arguments passed into extrusion code */ + int ncp; /* number of contour points */ + gleTwoVec *contour; /* 2D contour */ + gleTwoVec *cont_normal; /* 2D contour normals */ + gleDouble *up; /* up vector */ + int npoints; /* number of points in polyline */ + gleVector *point_array; /* path */ + gleColor *color_array; /* path colors */ + gleAffine *xform_array; /* contour xforms */ + + /* private members, used by texturing code */ + int num_vert; + int segment_number; + double segment_length; + double accum_seg_len; + double prev_x; + double prev_y; + + void (*save_bgn_gen_texture) (int, double); + void (*save_n3f_gen_texture) (float *); + void (*save_n3d_gen_texture) (double *); + void (*save_v3f_gen_texture) (float *, int, int); + void (*save_v3d_gen_texture) (double *, int, int); + void (*save_end_gen_texture) (void); + +} gleGC; + +extern gleGC *_gle_gc; +extern gleGC * gleCreateGC (void); + +#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } +#define extrusion_join_style (_gle_gc->join_style) + +#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) +#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) +#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) +#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) + +#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) +#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) +#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) +#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) +#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) + +/* ======================= END OF FILE ========================== */ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h new file mode 100644 index 0000000..b58dcd6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h @@ -0,0 +1,1339 @@ + +/* + * vvector.h + * + * FUNCTION: + * This file contains a number of utilities useful for handling + * 3D vectors + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Added 2D code, March 1993 + * Added Outer products, C++ proofed, Linas Vepstas October 1993 + */ + +#ifndef __GUTIL_VECTOR_H__ +#define __GUTIL_VECTOR_H__ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + + +#include +#include "port.h" + +/* ========================================================== */ +/* Zero out a 2D vector */ + +#define VEC_ZERO_2(a) \ +{ \ + (a)[0] = (a)[1] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 3D vector */ + +#define VEC_ZERO(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 4D vector */ + +#define VEC_ZERO_4(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ +} + +/* ========================================================== */ +/* Vector copy */ + +#define VEC_COPY_2(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ +} + +/* ========================================================== */ +/* Copy 3D vector */ + +#define VEC_COPY(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ +} + +/* ========================================================== */ +/* Copy 4D vector */ + +#define VEC_COPY_4(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ + (b)[3] = (a)[3]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ + (v21)[3] = (v2)[3] - (v1)[3]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ + (v21)[3] = (v2)[3] + (v1)[3]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_2(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_4(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ + (c)[3] = (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_2(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_4(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ + (c)[3] += (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_2(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_4(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ +} + +/* ========================================================== */ +/* vector impact parameter (squared) */ + +#define VEC_IMPACT_SQ(bsq,direction,position) \ +{ \ + gleDouble vlen, llel; \ + VEC_DOT_PRODUCT (vlen, position, position); \ + VEC_DOT_PRODUCT (llel, direction, position); \ + bsq = vlen - llel*llel; \ +} + +/* ========================================================== */ +/* vector impact parameter */ + +#define VEC_IMPACT(bsq,direction,position) \ +{ \ + VEC_IMPACT_SQ(bsq,direction,position); \ + bsq = sqrt (bsq); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_2(vlen,a) \ +{ \ + vlen = a[0]*a[0] + a[1]*a[1]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_4(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen += (a)[3] * (a)[3]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* distance between two points */ + +#define VEC_DISTANCE(vlen,va,vb) \ +{ \ + gleDouble tmp[4]; \ + VEC_DIFF (tmp, vb, va); \ + VEC_LENGTH (vlen, tmp); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_CONJUGATE_LENGTH(vlen,a) \ +{ \ + vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_NORMALIZE(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = 1.0 / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_RENORMALIZE(a,newlen) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = newlen / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* 3D Vector cross product yeilding vector */ + +#define VEC_CROSS_PRODUCT(c,a,b) \ +{ \ + c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ + c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ + c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ +} + +/* ========================================================== */ +/* Vector perp -- assumes that n is of unit length + * accepts vector v, subtracts out any component parallel to n */ + +#define VEC_PERP(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (v)[0] - (vdot) * (n)[0]; \ + vp[1] = (v)[1] - (vdot) * (n)[1]; \ + vp[2] = (v)[2] - (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector parallel -- assumes that n is of unit length + * accepts vector v, subtracts out any component perpendicular to n */ + +#define VEC_PARALLEL(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (vdot) * (n)[0]; \ + vp[1] = (vdot) * (n)[1]; \ + vp[2] = (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector reflection -- assumes n is of unit length */ +/* Takes vector v, reflects it against reflector n, and returns vr */ + +#define VEC_REFLECT(vr,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ + vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ + vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector blending */ +/* Takes two vectors a, b, blends them together */ + +#define VEC_BLEND(vr,sa,a,sb,b) \ +{ \ + \ + vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ + vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ + vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_2(a) \ +{ \ + double vlen; \ + VEC_LENGTH_2 (vlen, a); \ + printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen, (a)); \ + printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_4(a) \ +{ \ + double vlen; \ + VEC_LENGTH_4 (vlen, (a)); \ + printf (" a is %f %f %f %f length of a is %f \n", \ + (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_4X4(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_3X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<3; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_2X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<2; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_3X3(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_4X4(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + b[0][3] = a[0][3]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + b[1][3] = a[1][3]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[2][3]; \ + \ + b[3][0] = a[3][0]; \ + b[3][1] = a[3][1]; \ + b[3][2] = a[3][2]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + b[0][3] = a[3][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + b[1][3] = a[3][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[3][2]; \ + \ + b[3][0] = a[0][3]; \ + b[3][1] = a[1][3]; \ + b[3][2] = a[2][3]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + b[0][3] = (s) * a[0][3]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + b[1][3] = (s) * a[1][3]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ + b[2][3] = (s) * a[2][3]; \ + \ + b[3][0] = s * a[3][0]; \ + b[3][1] = s * a[3][1]; \ + b[3][2] = s * a[3][2]; \ + b[3][3] = s * a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + b[0][3] += (s) * a[0][3]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + b[1][3] += (s) * a[1][3]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ + b[2][3] += (s) * a[2][3]; \ + \ + b[3][0] += (s) * a[3][0]; \ + b[3][1] += (s) * a[3][1]; \ + b[3][2] += (s) * a[3][2]; \ + b[3][3] += (s) * a[3][3]; \ +} + +/* +========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_2X2(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_3X3(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_4X4(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ + c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ + c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ + c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ + \ + c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ + c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ + c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ + c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_3X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_4X4(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ + p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ +} + +/* ========================================================== */ +/* vector transpose times matrix */ +/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ + +#define VEC_DOT_MAT_3X3(p,v,m) \ +{ \ + p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ + p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ + p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ +} + +/* ========================================================== */ +/* affine matrix times vector */ +/* The matrix is assumed to be an affine matrix, with last two + * entries representing a translation */ + +#define MAT_DOT_VEC_2X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ +} + +/* ========================================================== */ +/* inverse transpose of matrix times vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * + * DANGER !!! Do Not use this on normal vectors!!! + * It will leave normals the wrong length !!! + * See macro below for use on normals. + */ + +#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + gleDouble det; \ + \ + det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + /* if matrix not singular, and not orthonormal, then renormalize */ \ + if ((det!=1.0) && (det != 0.0)) { \ + det = 1.0 / det; \ + p[0] *= det; \ + p[1] *= det; \ + } \ +} + +/* ========================================================== */ +/* transform normal vector by inverse transpose of matrix + * and then renormalize the vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * Vector p is then normalized. + */ + + +#define NORM_XFORM_2X2(p,m,v) \ +{ \ + double mlen; \ + \ + /* do nothing if off-diagonals are zero and diagonals are \ + * equal */ \ + if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + mlen = p[0]*p[0] + p[1]*p[1]; \ + mlen = 1.0 / sqrt (mlen); \ + p[0] *= mlen; \ + p[1] *= mlen; \ + } else { \ + VEC_COPY_2 (p, v); \ + } \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + m[0][3] = v[0] * t[3]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + m[1][3] = v[1] * t[3]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ + m[2][3] = v[2] * t[3]; \ + \ + m[3][0] = v[3] * t[0]; \ + m[3][1] = v[3] * t[1]; \ + m[3][2] = v[3] * t[2]; \ + m[3][3] = v[3] * t[3]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + m[0][3] += v[0] * t[3]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + m[1][3] += v[1] * t[3]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ + m[2][3] += v[2] * t[3]; \ + \ + m[3][0] += v[3] * t[0]; \ + m[3][1] += v[3] * t[1]; \ + m[3][2] += v[3] * t[2]; \ + m[3][3] += v[3] * t[3]; \ +} + +/* +========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_2X2(d,m) \ +{ \ + d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ +} + +/* ========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_3X3(d,m) \ +{ \ + d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ + d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ + d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ +} + +/* ========================================================== */ +/* i,j,th cofactor of a 4x4 matrix + * + */ + +#define COFACTOR_4X4_IJ(fac,m,i,j) \ +{ \ + int ii[4], jj[4], k; \ + \ + /* compute which row, columnt to skip */ \ + for (k=0; k + + + + IBDocumentLocation + 4 104 410 240 0 0 1152 848 + IBEditorPositions + + 29 + 19 615 246 44 0 0 1152 848 + + IBFramework Version + 291.0 + IBGroupedObjects + + IBLastGroupID + 1 + IBOpenObjects + + 29 + + IBSystem Version + 6I32 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib new file mode 100644 index 0000000..8a7140e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib new file mode 100644 index 0000000..7e85eb1 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib @@ -0,0 +1,13 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {toggleWindow = id; }; + CLASS = GLUTClipboardController; + LANGUAGE = ObjC; + OUTLETS = {_infoText = id; _scrollView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib new file mode 100644 index 0000000..867735d --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib @@ -0,0 +1,12 @@ + + + + + IBDocumentLocation + 63 221 356 240 0 0 1600 1178 + IBFramework Version + 263.2 + IBSystem Version + 5S41 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib new file mode 100644 index 0000000..29125d4 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib new file mode 100644 index 0000000..c675963 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib @@ -0,0 +1,73 @@ +{ + IBClasses = ( + { + ACTIONS = {save = id; saveAs = id; }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + ACTIONS = { + cancel = id; + joyAssign = id; + joyDevice = id; + joyElement = id; + joyInvert = id; + launchDebugMode = id; + launchGamemodeCaptureSingle = id; + launchIconic = id; + launchUseCurrWD = id; + launchUseExtDesktop = id; + launchUseMacOSCoords = id; + mouseEanbleEmulation = id; + mouseMiddleMenu = id; + mouseRightMenu = id; + ok = id; + spaceAssign = id; + spaceDevice = id; + spaceElement = id; + spaceInvert = id; + }; + CLASS = GLUTPreferencesController; + LANGUAGE = ObjC; + OUTLETS = { + joyAssign = NSButton; + joyAssignNote = NSTextField; + joyAssignWarningIcon = NSImageView; + joyDeviceMenu = NSPopUpButton; + joyElement = NSTextField; + joyInputMenu = NSPopUpButton; + joyInverted = NSButton; + launchDebugMode = NSButton; + launchFadeTime = NSTextField; + launchGamemodeCaptureSingle = NSButton; + launchIconic = NSButton; + launchInitHeight = NSTextField; + launchInitWidth = NSTextField; + launchInitX = NSTextField; + launchInitY = NSTextField; + launchMenuIdle = NSTextField; + launchSyncToVBL = NSButton; + launchUseCurrWD = NSButton; + launchUseExtendedDesktop = NSButton; + launchUseMacOSXCoords = NSButton; + mouseAssignWarningIcon = NSImageView; + mouseAssignWarningText = NSTextField; + mouseDetected = NSTextField; + mouseEmulation = NSButton; + mouseMiddleConfigMenu = NSPopUpButton; + mouseRightConfigMenu = NSPopUpButton; + prefsTabView = NSTabView; + spaceAssign = NSButton; + spaceAssignNote = NSTextField; + spaceAssignWarningIcon = NSImageView; + spaceDeviceMenu = NSPopUpButton; + spaceElement = NSTextField; + spaceInputMenu = NSPopUpButton; + spaceInverted = NSButton; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib new file mode 100644 index 0000000..216c8dc --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 16 329 410 240 0 0 1920 1178 + IBFramework Version + 439.0 + IBOpenObjects + + 205 + + IBSystem Version + 8G32 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib new file mode 100644 index 0000000..7598f2c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings new file mode 100644 index 0000000..6db3c5c Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..6f78b89 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist new file mode 100644 index 0000000..e8fc9d6 --- /dev/null +++ b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GLUT + CFBundleGetInfoString + 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved + CFBundleIdentifier + com.apple.glut + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.4.0 + CFBundleSignature + ???? + CFBundleVersion + GLUT-3.4.0 + + diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff new file mode 100644 index 0000000..a2b0cf1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff new file mode 100644 index 0000000..c3f4795 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff new file mode 100644 index 0000000..274529f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff new file mode 100644 index 0000000..dec4252 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff new file mode 100644 index 0000000..8536c0e Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff new file mode 100644 index 0000000..34b52f6 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff new file mode 100644 index 0000000..9e3a1cb Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff new file mode 100644 index 0000000..0087c66 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff new file mode 100644 index 0000000..fc4a88a Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff new file mode 100644 index 0000000..852b69b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff new file mode 100644 index 0000000..37fe393 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff new file mode 100644 index 0000000..d852616 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff new file mode 100644 index 0000000..9781f22 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff new file mode 100644 index 0000000..9bec966 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff new file mode 100644 index 0000000..e4df0de Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff new file mode 100644 index 0000000..43cf97f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff new file mode 100644 index 0000000..429b01b Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff new file mode 100644 index 0000000..1605063 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff new file mode 100644 index 0000000..81ba1aa Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/libs/libfmodex.dylib b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/libs/libfmodex.dylib new file mode 100644 index 0000000..bea90a1 Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/libs/libfmodex.dylib differ diff --git a/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/sunkenEngine_debug b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/sunkenEngine_debug new file mode 100755 index 0000000..902180f Binary files /dev/null and b/sunkenEngine/bin/sunkenEngine_debug.app/Contents/MacOS/sunkenEngine_debug differ diff --git a/sunkenEngine/config.make b/sunkenEngine/config.make new file mode 100644 index 0000000..a2f4f86 --- /dev/null +++ b/sunkenEngine/config.make @@ -0,0 +1,142 @@ +################################################################################ +# CONFIGURE PROJECT MAKEFILE (optional) +# This file is where we make project specific configurations. +################################################################################ + +################################################################################ +# OF ROOT +# The location of your root openFrameworks installation +# (default) OF_ROOT = ../../.. +################################################################################ +OF_ROOT = ../../openFrameworks + +################################################################################ +# PROJECT ROOT +# The location of the project - a starting place for searching for files +# (default) PROJECT_ROOT = . (this directory) +# +################################################################################ +# PROJECT_ROOT = . + +################################################################################ +# PROJECT SPECIFIC CHECKS +# This is a project defined section to create internal makefile flags to +# conditionally enable or disable the addition of various features within +# this makefile. For instance, if you want to make changes based on whether +# GTK is installed, one might test that here and create a variable to check. +################################################################################ +# None + +################################################################################ +# PROJECT EXTERNAL SOURCE PATHS +# These are fully qualified paths that are not within the PROJECT_ROOT folder. +# Like source folders in the PROJECT_ROOT, these paths are subject to +# exlclusion via the PROJECT_EXLCUSIONS list. +# +# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXTERNAL_SOURCE_PATHS = + +################################################################################ +# PROJECT EXCLUSIONS +# These makefiles assume that all folders in your current project directory +# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations +# to look for source code. The any folders or files that match any of the +# items in the PROJECT_EXCLUSIONS list below will be ignored. +# +# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete +# string unless teh user adds a wildcard (%) operator to match subdirectories. +# GNU make only allows one wildcard for matching. The second wildcard (%) is +# treated literally. +# +# (default) PROJECT_EXCLUSIONS = (blank) +# +# Will automatically exclude the following: +# +# $(PROJECT_ROOT)/bin% +# $(PROJECT_ROOT)/obj% +# $(PROJECT_ROOT)/%.xcodeproj +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXCLUSIONS = + +################################################################################ +# PROJECT LINKER FLAGS +# These flags will be sent to the linker when compiling the executable. +# +# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ + +# Currently, shared libraries that are needed are copied to the +# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to +# add a runtime path to search for those shared libraries, since they aren't +# incorporated directly into the final executable application binary. +# TODO: should this be a default setting? +# PROJECT_LDFLAGS=-Wl,-rpath=./libs + +################################################################################ +# PROJECT DEFINES +# Create a space-delimited list of DEFINES. The list will be converted into +# CFLAGS with the "-D" flag later in the makefile. +# +# (default) PROJECT_DEFINES = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_DEFINES = + +################################################################################ +# PROJECT CFLAGS +# This is a list of fully qualified CFLAGS required when compiling for this +# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS +# defined in your platform specific core configuration files. These flags are +# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. +# +# (default) PROJECT_CFLAGS = (blank) +# +# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in +# your platform specific configuration file will be applied by default and +# further flags here may not be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CFLAGS = + +################################################################################ +# PROJECT OPTIMIZATION CFLAGS +# These are lists of CFLAGS that are target-specific. While any flags could +# be conditionally added, they are usually limited to optimization flags. +# These flags are added BEFORE the PROJECT_CFLAGS. +# +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) +# +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) +# +# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the +# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration +# file will be applied by default and further optimization flags here may not +# be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE = +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG = + +################################################################################ +# PROJECT COMPILERS +# Custom compilers can be set for CC and CXX +# (default) PROJECT_CXX = (blank) +# (default) PROJECT_CC = (blank) +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CXX = +# PROJECT_CC = diff --git a/sunkenEngine/openFrameworks-Info.plist b/sunkenEngine/openFrameworks-Info.plist new file mode 100644 index 0000000..8d64d2b --- /dev/null +++ b/sunkenEngine/openFrameworks-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + cc.openFrameworks.ofapp + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + CFBundleIconFile + ${ICON} + + diff --git a/sunkenEngine/src/layers.cpp b/sunkenEngine/src/layers.cpp new file mode 100755 index 0000000..bd0f1ce --- /dev/null +++ b/sunkenEngine/src/layers.cpp @@ -0,0 +1,229 @@ +#include "layers.h" + +svglayer::svglayer() { + xo=0;yo=0; +} +svglayer::svglayer(string _f) +{ + load(_f); +} + +void svglayer::load(string _f){ + //check if files exits + svg.load(_f); + printf("%s: %i paths\n",_f.c_str(),svg.getNumPath()); + for (int i=0;i0); +} +void svglayer::getCentre(int cx,int cy) { + if (svg.getNumPath()>0) { + xo=(cx-svg.getWidth())/2; + yo=(cy-svg.getHeight())/2; + } +} + +void svglayer::draw(float a,int cx,int cy,float colShift) { + getCentre(cx,cy); + for (int i=0;i0.0f) { + c.setHue(fmod(c.getHue()+colShift,255.0f)); + //printf ("shift from %f to %f\n",c.getHue(),c.getHue()+colShift); + } + svg.getPathAt(i).setFillColor(c); + svg.getPathAt(i).draw(xo,yo); + } +} +/* +void svglayer::draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack,float colShift) { + getCentre(cx,cy); + //draw layers tinted by controllers + for (int i=0;i0.1) { + svg.getPathAt(i).draw(xo,yo); + } + } +} +*/ + +void svglayer::draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack,float colShift) { + getCentre(cx,cy); + //draw layers grouped by controllers + float layerspercontroller=((float)svg.getNumPath())/6.0f; + + for (int i=0;i<6;i++) { + //for (int j=(int)((i+1)*layerspercontroller)-1;j>(int)(i*layerspercontroller);j--) { + for (int j=(int)(i*layerspercontroller);j<(int)((i+1)*layerspercontroller);j++) { + svg.getPathAt(j).setFillColor(fills[j]*a*(((float)controllers[5-i])/127.0f)); //try to reverse order of these + if (!transparentBlack||((a*controllers[5-i])/127.0f)>0.1) { + svg.getPathAt(j).draw(xo,yo); + } + } + } + //printf("counted %i layers of %i\n",(int)(6*layerspercontroller),svg.getNumPath()); +} + + +svglayer::~svglayer() +{ + //dtor +} + +//------------------------------------------------------------------------ +imglayer::imglayer() { + //sprite.setUseTexture(false); +} +imglayer::imglayer(string _filename,int _frames,int _start,float _rate,int n, int e){ + load(_filename,_frames,_start,_rate,n,e); +} + +void imglayer::load(string _filename,int _frames,int _start,float _rate,int n, int e){ + startNote=n; + endNote=e; + sprite.load(_filename,_frames,_start); + sprite.setFrameRate(_rate); +} + + +void imglayer::draw(float a,int cx,int cy,float colShift) { + //if (sprite.isAllocated()) if (!sprite.isUsingTexture()) sprite.setUseTexture(true); //has to be done from the main thread? still doesn't work + + sprite.update(); + int x,y,w,h; + if ((((float)cx)/cy)<(((float)sprite.getWidth())/sprite.getHeight())){ + x=0; + w=cx; + h=((float)cx)*(((float)sprite.getHeight())/sprite.getWidth()); + y=(cy-h)/2; + } + else { + y=0; + h=cy; + w=((float)cy)*(((float)sprite.getWidth())/sprite.getHeight()); + x=(cx-w)/2; + } + ofEnableAlphaBlending(); + sprite.draw(x,y,w,h); + ofDisableAlphaBlending(); +} + +void imglayer::draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false,float colShift=0.0f) { + imglayer::draw(a,cx,cy,colShift); +} + +void imglayer::setNote(int note) +{ + //is called rerpeatedly no startNote,endNote + //printf("note %i (%i - %i)\n",note,startNote,endNote); + if ((startNote<=note)&&(endNote>=note)) { + if (!sprite.getIsPlaying()) { + + sprite.play(); + + } + //printf("triggered frame %i of %i\n",(int)(((((float)note-startNote)/((float)endNote-startNote)))*sprite.getTotalFrames()),sprite.getTotalFrames()); + sprite.setCurrentFrame((int)(((((float)note-startNote)/((float)endNote-startNote)))*sprite.getTotalFrames())); + //printf("movie %i (%i - %i) frame: %i\n",note,startNote,endNote,(int)(((((float)note-startNote)/((float)endNote-startNote)))*mov.getTotalNumFrames())); + } + else { + if (sprite.getIsPlaying()) { + sprite.stop(); + } + } + +}; + + +imglayer::~imglayer() +{ + //sprite.setUseTexture(false); //free texture +} +//------------------------------------------------------------------------ +videolayer::videolayer() { + //sprite.setUseTexture(false); +} +videolayer::videolayer(string _f,int n,int e,float s) +{ + startNote=n; + endNote=e; + speed=s; + load(_f); +} + +void videolayer::load(string _f){ + name=_f; + mov.setPixelFormat(OF_PIXELS_BGRA); + mov.setUseTexture(false); + bool success=mov.loadMovie(_f); + if (success) { + mov.stop(); + } + printf("%s %s %i bpp\n",success?"loaded":"not loaded",_f.c_str(),success?mov.getPixelsRef().getBytesPerPixel():0); +} + +void videolayer::draw(float a,int cx,int cy,float colShift) { + if (mov.isPlaying()) { + mov.update(); + //unsigned char *pix=mov.getPixels(); + //for (int i=0;i>2)+(pix[i+1]>>1)+(pix[i+2]>>2); + int x,y,w,h; + if ((((float)cx)/cy)<(((float)mov.getWidth())/mov.getHeight())){ + x=0; + w=cx; + h=((float)cx)*(((float)mov.getHeight())/mov.getWidth()); + y=(cy-h)/2; + } + else { + y=0; + h=cy; + w=((float)cy)*(((float)mov.getWidth())/mov.getHeight()); + x=(cx-w)/2; + } + ofEnableAlphaBlending(); + mov.draw(x,y,w,h); + ofDisableAlphaBlending(); + } +} + +void videolayer::draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false,float colShift=0.0f) { + draw(a,cx,cy,colShift); +} + +void videolayer::setNote(int note) +{ + + if ((startNote<=note)&&(endNote>=note)) { + if (!mov.isPlaying()) { + //printf("starting movie!\n"); + mov.setUseTexture(true); + mov.play(); + mov.setSpeed(speed); + } + mov.setFrame((int)(((((float)note-startNote)/((float)endNote-startNote)))*mov.getTotalNumFrames())); + //printf("movie %i (%i - %i) frame: %i\n",note,startNote,endNote,(int)(((((float)note-startNote)/((float)endNote-startNote)))*mov.getTotalNumFrames())); + } + else { + if (mov.isPlaying()) { + mov.stop(); + } + } + +}; + + +videolayer::~videolayer() +{ +} diff --git a/sunkenEngine/src/layers.h b/sunkenEngine/src/layers.h new file mode 100755 index 0000000..d34664a --- /dev/null +++ b/sunkenEngine/src/layers.h @@ -0,0 +1,134 @@ +#ifndef SVGLAYER_H +#define SVGLAYER_H + +#include "ofxSVGTiny.h" +#include "ofMain.h" +#include "ofxSprite.h" + +#include + +class layer +{ + public: + layer(){}; + layer(string _f) {load(_f);}; + virtual ~layer(){}; + virtual void load(string _f){}; + virtual void draw(float a,int cx,int cy,float colShift){}; + virtual void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false,float colShift=0.0f){ draw(a,cx,cy,colShift);}; + bool getLoaded() {return isLoaded;}; + virtual void setNote(int note) {}; + string name; + int startNote,endNote; + protected: + bool isLoaded; + private: + +}; + +class svglayer: public layer +{ + public: + svglayer(); + svglayer(string _f); + virtual ~svglayer(); + void load(string _f); + void draw(float a,int cx,int cy,float colShift); + void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false,float colShift=0.0f); + void getCentre(int cx,int cy); + protected: + private: + ofxSVGTiny svg; + vector fills; + vector strokes; + float xo,yo; +}; + +class sunkenSprite: public ofxSprite { + public: + float playhead,frameRate; + void setFrameRate(float frameRate) { this->frameRate = frameRate;}; + void play() { + startTime=ofGetElapsedTimef(); + ofxSprite::play(); + } + void update() { + if (!getIsPlaying()) return; + playhead=fmod(speed * frameRate * (ofGetElapsedTimef()-startTime),(float)getTotalFrames()); + ofxSprite::setCurrentFrame(playhead); + + } + void setCurrentFrame(float frame) { + //this idea doesn't work - fucks up when frameRate is 0 - + //need to rethink + + //when frameRate is 0 startTime doesn't matter + //this still might not be not entirely correct + if (frameRate>0) startTime-=(frame-pos) / ((float)(frameRate * speed )); + //printf("sunkensprite setting frame %i of %i\n",(int)frame,getTotalFrames()); + //printf("1 checking frame %i of %i\n",(int)frame,getTotalFrames()); + ofxSprite::setCurrentFrame(frame); + /* + pos = frame; + printf("2 checking frame %i of %i\n",(int)frame,getTotalFrames()); + printf("requesting movie frame %i of %i\n",(int)pos,getTotalFrames()); + if (pos<0) if (loop) { pos += totalFrames; } else stop(); + if (pos>=totalFrames) if (loop) { + while (pos>=totalFrames) pos -= totalFrames; + } else { pos = totalFrames-.00001f; isPlaying=false; } + printf("set movie frame %i of %i\n",(int)pos,totalFrames); + */ + } + void draw(int x,int y,int w,int h) { + + int f=playhead; + float fr=fmod(playhead,1.0f); + ofSetColor(255,255,255,(1.0-fr)*255); + //not always? + getImageAtFrame(f).setUseTexture(true); + //getImageAtFrame(f).reloadTexture(); ->190315 still necessary? + getImageAtFrame(f).draw(x,y,w,h); + ofSetColor(255,255,255,fr*255); + f=(f+1)%getTotalFrames(); + getImageAtFrame(f).setUseTexture(true); + //getImageAtFrame(f).reloadTexture(); ->190315 still necessary? + getImageAtFrame(f).draw(x,y,w,h); + } + + private: + float startTime; + float speed,pos; //will this override the base class speed correctly? + +}; + +class imglayer: public layer +{ + public: + imglayer(); + imglayer(string _f,int _frames=1,int _start=1,float _rate=0,int note=0,int endnote=0); + virtual ~imglayer(); + void load(string _filename,int _frames=1,int _start=1,float _rate=0.0,int note=0,int endnote=0); + void draw(float a,int cx,int cy,float colShift); + void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack,float colShift); + void setNote(int n); + protected: + private: + sunkenSprite sprite; +}; + +class videolayer: public layer +{ + public: + videolayer(); + videolayer(string _f,int n,int e,float s); + virtual ~videolayer(); + void load(string _f); + void draw(float a,int cx,int cy,float colShift); + void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack,float colShift); + void setNote(int n); + protected: + private: + float speed; + ofVideoPlayer mov; +}; +#endif // SVGLAYER_H diff --git a/sunkenEngine/src/main.cpp b/sunkenEngine/src/main.cpp new file mode 100644 index 0000000..94afb92 --- /dev/null +++ b/sunkenEngine/src/main.cpp @@ -0,0 +1,62 @@ +#include "ofMain.h" +#include "ofApp.h" +#include "ofAppGLFWWindow.h" + +//======================================================================== +int main( ){ + + if (false){ + + ofSetupOpenGL(1360,256, OF_WINDOW); + ofRunApp( new ofApp()); + } + else { + + ofGLFWWindowSettings settings; + settings.width = 1280; //2560; + settings.height = 360; //720; + settings.position.x = 0; + settings.position.y = 50; + settings.resizable = true; + + shared_ptr mainWindow = ofCreateWindow(settings); + + + settings.width = 600; + settings.height = 800; + settings.position.x = 300; + settings.position.y = 400; + settings.resizable = true; + settings.shareContextWith = mainWindow; //YES + + shared_ptr previewWindow = ofCreateWindow(settings); + previewWindow->setVerticalSync(false); + //previewWindow->showCursor(); + + + settings.width = 224; + settings.height = 480; + settings.position.x = 0; + settings.position.y = 400; + settings.resizable = false; + shared_ptr guiWindow = ofCreateWindow(settings); + guiWindow->setVerticalSync(false); + + + shared_ptr mainApp(new ofApp); + mainApp->setupGui(); + + ofAddListener(guiWindow->events().draw,mainApp.get(),&ofApp::drawGui); + ofAddListener(guiWindow->events().fileDragEvent,mainApp.get(),&ofApp::dragGui); + ofAddListener(guiWindow->events().keyPressed,mainApp.get(),&ofApp::keyPreview); + + ofAddListener(previewWindow->events().draw,mainApp.get(),& ofApp::drawPreview); + ofAddListener(previewWindow->events().keyPressed,mainApp.get(),&ofApp::keyPreview); + ofAddListener(previewWindow->events().mouseDragged,mainApp.get(),&ofApp::previewMousePressedEvent); + + + ofRunApp(mainWindow, mainApp); + ofRunMainLoop(); + } + +} diff --git a/sunkenEngine/src/ofApp.cpp b/sunkenEngine/src/ofApp.cpp new file mode 100644 index 0000000..899af9f --- /dev/null +++ b/sunkenEngine/src/ofApp.cpp @@ -0,0 +1,375 @@ +#include "ofApp.h" + +//-------------------------------------------------------------- +void ofApp::setup(){ + + //setupGui(); + + int midiPort=0; + midiChannel=0; + if( !XML.loadFile("settings_parlour_onscreen.xml") ){ + printf("unable to load settings.xml check data/ folder\n"); + }else{ + printf("settings loaded!\n"); + midiPort=ofToInt(XML.getAttribute("liveEngine", "port", "0")); //default to 0/all + midiChannel=ofToInt(XML.getAttribute("liveEngine", "channel", "0")); + if (midiChannel) printf("listening on port %d, midi channel %d\n",midiPort,midiChannel); + else printf("listening on port %d, all midi channels\n",midiPort); + if(XML.pushTag("liveEngine")) { + int numViews=XML.getNumTags("viewport"); + if(numViews) { + for (int i=0;irb1); + +} + + +void ofApp::resetDrawscalePressed(bool & pressed){ + scale=1.0f; +} +void ofApp::resetFBscalePressed(bool & pressed){ + fscale=1.0f; +} +//-------------------------------------------------------------- +void ofApp::setupGui(){ + parameters.setName("parameters"); + + parameters.add(reverse.set("reverse", false)); + parameters.add(reversemain.set("reverse main", false)); + parameters.add(controlColours.set("control colours", false)); + parameters.add(noteRandomiseColours.set("randomise note colours", false)); + parameters.add(transparentBlack.set("transparent black", false)); + parameters.add(resetDrawscale.set("reset draw scale",false)); + parameters.add(resetFBscale.set("reset FB scale",false)); + parameters.add(fadeScale.set("fade scale",0,0,2.0f)); + parameters.add(fadeBackground.set("decay background",255,0,255)); + parameters.add(decayTime.set("decay time",0,0,10.0f)); + parameters.add(oscScale.set("scale size LFO", false)); + parameters.add(breakOsc.set("break oscillators", false)); + parameters.add(randomOsc.set("randomise oscillators", false)); + parameters.add(scaleAmplitude.set("fade scale",0,0,2.0f)); + parameters.add(scaleFrequency.set("fade freq",0,0,5.0f)); + gui.setup(parameters); + + resetDrawscale.addListener(this,&ofApp::resetDrawscalePressed); + resetFBscale.addListener(this,&ofApp::resetFBscalePressed); + + ofSetBackgroundColor(0); + +} + +void ofApp::makeColours() { + controller_colours=new ofColor[NUM_CONTROLLERS]; + for (int i=0;idraw(lambda,controllers,do_reverse?-xshift:xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,do_reverse?1.0f/(scale+os):scale+os,do_reverse?1.0f/fscale:fscale,noteRandomiseColours?colShift:0.0f,fadeBackground); + } + + ofSetColor(255,255,255); + if (showFPS) ofDrawBitmapString(ofToString(ofGetFrameRate(), 2),20,20); + +} + +void ofApp::drawPreview(ofEventArgs & args){ + //ofBackground(0); + previewBuffer->draw(0,0,ofGetWidth(),ofGetHeight()); + +} + +//-------------------------------------------------------------- +void ofApp::drawGui(ofEventArgs & args){ + gui.draw(); + + if (list.lock()) { //if loaded + if (!list.thumbnailed) list.makeThumbnail(); + if (list.thumbnailed) list.thumbnail.draw(20,ofGetHeight()-150); + list.unlock(); + } + ofDrawBitmapString(list.name,20,ofGetHeight()-10); + +} + +void ofApp::dragGui(ofDragInfo & dragInfo){ + printf("got draginfo: %s\n",dragInfo.files[0].c_str()); + int sta=dragInfo.files[0].find_last_of("\\/")+1; + int len=(dragInfo.files[0].find_last_of(".")+4)-sta; + string filename="images/"+dragInfo.files[0].substr(sta,len); + printf("loading %s\n",filename.c_str()); + + list.load(filename); +} + +//-------------------------------------------------------------- +void ofApp::keyPressed(int key){ + switch(key){ + case ' ': + fullscreenoutput=!fullscreenoutput; + ofSetFullscreen(fullscreenoutput); + printf("resolution: %ix%i %s\n",ofGetWidth(),ofGetHeight(),fullscreenoutput?"fullscreen":"windowed"); + break; + } + +} + +void ofApp::keyPreview(ofKeyEventArgs& eventArgs){ + //cerr<<"key: "<='0' && key <= '9'){ + mode=key-'0'; + } + if(key == 267||key==OF_KEY_LEFT){ + xshift--; + } + if(key == 268||key==OF_KEY_RIGHT){ + xshift++; + } + if(key == 269||key==OF_KEY_UP){ + yshift--; + } + if(key == 270||key==OF_KEY_DOWN){ + yshift++; + } + if(key == '='){ + makeColours(); + } + if(key == '+'){ + fadetime=min(128,fadetime+1); + } + if(key == '_'){ + fadetime=max(0,fadetime-1); + } + if(key == ']'){ + scale*=1.01; + } + if(key == '['){ + scale/=1.01; + } + if(key == '}'){ + rotate+=90; + } + if(key == '{'){ + rotate-=90; + } + + + if(key == 'd'){ + debug=!debug; + } + + if (key=='j') { + fscale=1.0f; + } + if (key=='h') { + scale=1.0f; + } + +} + +//-------------------------------------------------------------- +void ofApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseMoved(int x, int y ){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseDragged(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::mousePressed(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseReleased(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void ofApp::gotMessage(ofMessage msg){ + +} + +//-------------------------------------------------------------- +void ofApp::dragEvent(ofDragInfo dragInfo){ + +} + +void ofApp::toggleFPS(){ + showFPS=!showFPS; +} + +void ofApp::newMidiMessage(ofxMidiMessage& eventArgs){ + if ((midiChannel==0)||(eventArgs.channel==midiChannel)) { + nmidiMessage(eventArgs.status,eventArgs.bytes[0],eventArgs.bytes[1]); + } +} + + //newMessage(eventArgs.port, eventArgs.channel, eventArgs.byteTwo, eventArgs.timestamp); + +//byteOne : message type + + /* + int port; + int channel; + int status; + int byteOne; + int byteTwo; + double timestamp; + */ + + //printf("%d %d %d %d %d\n",eventArgs.port,eventArgs.channel,eventArgs.status,eventArgs.byteOne,eventArgs.byteTwo); +void ofApp::nmidiMessage(int event,int data1, int data2) { + //printf("midi: %i %i\n",event,data1); + bool noteOn; //this old thing! + int i; + switch(event) { + case 144: //noteon-off channel 0 + //printf("note %i %i %i\n",event,data1,data2); + noteOn=(data1==0?false:true); + //for (int i=0;inote==eventArgs.byteOne) layers[i]->setActive(noteOn); + //} + + note=data2; + lastnoteTime=ofGetElapsedTimef(); + if (list.layers.size()&&list.lock()) { //if playlist is loaded + map::iterator itr; + //for(itr = list.layers.begin(); itr != list.layers.end(); ++itr){ + // list.layers[itr->first]->setNote(note); + //} + if (list.layers.find(note)!=list.layers.end()) list.layers[note]->setNote(note); + list.unlock(); + } + if (noteRandomiseColours) { + makeColours(); // + } + randOffs=ofRandom(100.0f); + break; + case 176: //control change channel 0 + //for (int i=0;imix==eventArgs.byteOne) layers[i]->setMixAmt(((float)eventArgs.byteTwo)/127.0f); + //} + if (debug) printf("cc: %i %i\n",data1,data2); + if (data1>=START_CONTROLLER) controllers[data1-START_CONTROLLER]=data2; + } + +} +void ofApp::previewMousePressedEvent(ofMouseEventArgs &args) { + //printf("mouse: %i,%i %i of %ix%i\n",args.x,args.y,args.button,win->getWidth(),win->getHeight()); + //0-2 + switch (args.button) { + case 0: + xshift=args.x-(ofGetWidth()/2); + yshift=args.y-(ofGetHeight()/2); + break; + case 1: + //cerr<<"" + scale=pow((float)pow((float)args.x-(ofGetWidth()/2),2.0f)+pow((float)args.y-(ofGetHeight()/2),2),0.5f)/(ofGetWidth()*.1); + break; + case 2: + fscale=(pow((float)pow((float)args.x-(ofGetWidth()/2),2.0f)+pow((float)args.y-(ofGetHeight()/2),2),0.5f)/(ofGetWidth()))+0.5; + break; + } +} \ No newline at end of file diff --git a/sunkenEngine/src/ofApp.h b/sunkenEngine/src/ofApp.h new file mode 100644 index 0000000..04f63dd --- /dev/null +++ b/sunkenEngine/src/ofApp.h @@ -0,0 +1,119 @@ +#pragma once + +#include "ofMain.h" +#include "ofxGui.h" +#include "ofxXmlSettings.h" +#include "ofxMidi.h" + +#include "viewport.h" + +class ofApp : public ofBaseApp, public ofxMidiListener{ + + public: + void setup(); + void setupGui(); + void update(); + void draw(); + void drawGui(ofEventArgs & args); + void dragGui(ofDragInfo & dragInfo); + void previewMousePressedEvent(ofMouseEventArgs &args); + + void keyPressed(int key); + void keyReleased(int key); + void mouseMoved(int x, int y ); + void mouseDragged(int x, int y, int button); + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void windowResized(int w, int h); + void dragEvent(ofDragInfo dragInfo); + void gotMessage(ofMessage msg); + + void newMidiMessage(ofxMidiMessage& eventArgs); + + bool fullscreenoutput; + + + void nmidiMessage(int event,int data1, int data2); + + + void makeColours(); + + void toggleFPS(); + bool showFPS; + + + ofxXmlSettings XML; + + unsigned char* controllers; + int note, mode; + + //to be moved into svg object gui + bool debug; + + + + float lastnoteTime; + + int fadetime; + int rotate; + float scale,fscale; + + int xshift,yshift; + + ofColor* controller_colours; + + float colShift; + + + + viewport vp1,vp2; + vector viewports; + + int midiChannel; + + ofxMidiIn midiIn; + ofxMidiMessage midiMessage; + + playlist list; + + + ofParameterGroup parameters; + + + + ofParameter reverse; + ofParameter reversemain; + ofParameter controlColours; + ofParameter noteRandomiseColours; + ofParameter transparentBlack; + ofParameter resetDrawscale; + ofParameter resetFBscale; + + ofParameter fadeScale; + ofParameter fadeBackground; + ofParameter decayTime; + + ofParameter oscScale; + ofParameter breakOsc; + ofParameter randomOsc; + + ofParameter scaleAmplitude; + ofParameter scaleFrequency; + + + ofxPanel gui; + + + float randOffs; + + void resetDrawscalePressed(bool & pressed); + void resetFBscalePressed(bool & pressed); + + void keyPreview(ofKeyEventArgs& eventArgs); + + void drawPreview(ofEventArgs & args); + ofFbo *previewBuffer; + + + +}; diff --git a/sunkenEngine/src/playlist.cpp b/sunkenEngine/src/playlist.cpp new file mode 100755 index 0000000..eac895f --- /dev/null +++ b/sunkenEngine/src/playlist.cpp @@ -0,0 +1,127 @@ +#include "playlist.h" + +playlist::playlist() +{ + name=""; + +} + +void playlist::load(string _name){ + //printf("loading %s\n",_name.c_str()); + thumbnail.allocate(128,128,GL_RGB); //segfault here orig 128,128,GL_RGB + thumbnailed=false; + + if( !XML.loadFile(_name) ){ + printf("unable to load %s check data/ folder\n",_name.c_str()); + }else { + //printf("starting loader thread\n"); + loadimg(); //how to do this from the worker thread??? + startThread(false, false); //blocking, verbose + } + + + +} + +void playlist::threadedFunction(){ + if( lock() ){ + loadLayers(); + unlock(); + printf("unlocking thread\n"); + } +} + +void playlist::loadLayers(){ + int numLayers=0; + layers.clear(); + name=XML.getAttribute("playlist", "name", ""); + float speed=XML.getAttribute("playlist", "speed", 0); + if(XML.pushTag("playlist")) { + numLayers=XML.getNumTags("svglayer"); + if(numLayers) { + for (int i=0;inote) { + for (int j=note+1;jnote) { + for (int j=note+1;j<=endnote;j++) { + layers[j]=layers[note]; + } + } + } + thumbnailed=false; + } + XML.popTag(); + } + +} + +void playlist::makeThumbnail(){ + if (layers.size()) { + thumbnail.begin(); + ofBackground(0,0,0); + ofPushMatrix(); + ofTranslate(64,64); + ofScale(0.2,0.2,0.2); + ofTranslate(-64,-64); + map::iterator i=layers.begin(); + i->second->draw(1.0,64,64,0.0); + ofPopMatrix(); + thumbnail.end(); + thumbnailed=true; + } +} + + +void playlist::loadimg(){ + int numLayers=0; + layers.clear(); + if(XML.pushTag("playlist")) { + numLayers=XML.getNumTags("imglayer"); + if(numLayers) { + for (int i=0;i layers; + string name; + protected: + private: +}; + +#endif // PLAYLIST_H diff --git a/sunkenEngine/src/viewport.cpp b/sunkenEngine/src/viewport.cpp new file mode 100755 index 0000000..a169146 --- /dev/null +++ b/sunkenEngine/src/viewport.cpp @@ -0,0 +1,136 @@ +#include "viewport.h" + + + +viewport::viewport() +{ + //ctor +} +viewport::viewport(int _w,int _h,int _x,int _y,float _r,int _ox,int _oy) { + setup(_w,_h,_x,_y,_r,_ox,_oy); +} + +void viewport::setup(int _w,int _h,int _x,int _y,float _r,int _ox,int _oy) { + r=_r; + w=_w; + h=_h; + x=_x; + y=_y; + ox=_ox; + oy=_oy; + rb1.allocate(w,h,GL_RGB); + rb2.allocate(w,h,GL_RGB); + + printf("%ix%i, vp offset: %f,%f\n",w,h,-(sin(ofDegToRad(r))*h/2)-(cos(ofDegToRad(r))*w/2),-(sin(ofDegToRad(r))*w/2)-(cos(ofDegToRad(r))*h/2)); +} + +void viewport::draw(float a,unsigned char* controllers,int xshift,int yshift,playlist &list,bool transparentBlack,int note,int mode,ofColor* controller_colours,bool controlColours,float scale,float fscale,float colShift,int fadeBG){ + + //http://forum.xfce.org/viewtopic.php?id=6580 + + // test screen shape + /* + ofSetColor(255,0,0); + ofRect(0,0,w/2,h/2); + ofRect(w/2,h/2,w/2,h/2); + ofSetColor(0,255,0); + ofRect(0,h/2,w/2,h/2); + ofRect(w/2,0,w/2,h/2); + */ + + ofPushMatrix(); + + rb1.begin(); + + //can be done with texture offset? + + int startx=((w-(w*fscale))/2)+xshift; + while (startx>0) startx-=(w*fscale); + int starty=((h-(h*fscale))/2)+yshift; + while (starty>0) starty-=(h*fscale); + + for (int i=startx;i0) { + //fadeout part + ofEnableAlphaBlending(); + ofSetColor(0,0,0,fadeBG); + ofRect(0,0,w,h); + ofDisableAlphaBlending(); + } + + float notewidth=w/NUM_NOTES; + float noteheight=h/NUM_CONTROLLERS; + + ofPushStyle(); + + if (note>0) { + switch(mode) { + case BLOCKS: + for (int i=0;i>7,(controller_colours[i].g*controllers[i])>>7,(controller_colours[i].b*controllers[i])>>7)); + ofRect((note-START_NOTE)*notewidth,i*noteheight,notewidth,noteheight); + } + break; + case LIST: + if (list.lock()) { //if playlist is loaded + if (list.layers.find(note)!=list.layers.end()) { + ofPushMatrix(); + ofTranslate(w/2,h/2); + ofScale(scale,scale,scale); + ofTranslate(-w/2,-h/2); + ofSetColor(255,255,255); + if (controlColours) list.layers[note]->draw(a,controllers,w,h,transparentBlack,colShift); + else list.layers[note]->draw(a,w,h,colShift); + ofPopMatrix(); + } + list.unlock(); + } + break; + } + } + + ofPopStyle(); + + rb1.end(); + + rb2.begin(); + ofSetColor(255,255,255); + rb1.draw(0,0); + rb2.end(); + + ofPopMatrix(); + + ofPushMatrix(); + //ofTranslate(x+(w/2),y+(h/2)); this was the one that was working + //ofTranslate(abs(sin(ofDegToRad(r))*h/2)+abs(cos(ofDegToRad(r))*w/2),abs(sin(ofDegToRad(r))*w/2)+abs(cos(ofDegToRad(r))*h/2)); + ofTranslate(x,y); + + ofTranslate(((w/2)*abs(cos(ofDegToRad(r))))+((h/2)*abs(sin(ofDegToRad(r)))), + ((w/2)*abs(sin(ofDegToRad(r))))+((h/2)*abs(cos(ofDegToRad(r))))); + + ofRotate(r); + ofTranslate(-w/2,-h/2); + //ofTranslate(-abs(sin(ofDegToRad(r))*h/2)-abs(cos(ofDegToRad(r))*w/2),-abs(sin(ofDegToRad(r))*w/2)-abs(cos(ofDegToRad(r))*h/2)); + //ofTranslate(ox,oy); get rid of this and get the rotation right + + ofDisableAlphaBlending(); + + rb2.draw(0,0); + + ofPopMatrix(); + + + + + +} + +viewport::~viewport() +{ + //dtor +} diff --git a/sunkenEngine/src/viewport.h b/sunkenEngine/src/viewport.h new file mode 100755 index 0000000..310a7c2 --- /dev/null +++ b/sunkenEngine/src/viewport.h @@ -0,0 +1,34 @@ +#ifndef VIEWPORT_H +#define VIEWPORT_H + +#include "ofMain.h" +#include "playlist.h" + +#define NUM_NOTES 64 +#define START_NOTE 36 +#define NUM_CONTROLLERS 26 +#define START_CONTROLLER 102 + +#define NOTHING 0 +#define BLOCKS 1 +#define LIST 2 + + + +class viewport +{ + public: + viewport(); + viewport(int _w,int _h,int _x,int _y,float _r,int _ox,int _oy); + void setup(int _w,int _h,int _x,int _y,float _r,int _ox,int _oy); + void draw(float a,unsigned char* controllers,int xshift,int yshift,playlist &list,bool transparentBlack,int note,int mode,ofColor* controller_colours,bool controlColours,float scale,float fscale,float colShift,int fadeBG); + virtual ~viewport(); + ofFbo rb1,rb2; + float r; + protected: + private: + int x, y,w,h,ox,oy; + +}; + +#endif // VIEWPORT_H diff --git a/sunkenEngine/sunkenEngine.cbp b/sunkenEngine/sunkenEngine.cbp new file mode 100644 index 0000000..2dc335b --- /dev/null +++ b/sunkenEngine/sunkenEngine.cbp @@ -0,0 +1,52 @@ + + + + + + diff --git a/sunkenEngine/sunkenEngine.layout b/sunkenEngine/sunkenEngine.layout new file mode 100644 index 0000000..1053280 --- /dev/null +++ b/sunkenEngine/sunkenEngine.layout @@ -0,0 +1,4 @@ + + + + diff --git a/sunkenEngine/sunkenEngine.xcodeproj/project.pbxproj b/sunkenEngine/sunkenEngine.xcodeproj/project.pbxproj new file mode 100644 index 0000000..8501447 --- /dev/null +++ b/sunkenEngine/sunkenEngine.xcodeproj/project.pbxproj @@ -0,0 +1,723 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 22592A6C1AC7530700C5B29E /* ofxSVGTiny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A631AC7530700C5B29E /* ofxSVGTiny.cpp */; }; + 22592A6D1AC7530700C5B29E /* src_colors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A661AC7530700C5B29E /* src_colors.cpp */; }; + 22592A6E1AC7530700C5B29E /* svgtiny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A671AC7530700C5B29E /* svgtiny.cpp */; }; + 22592A6F1AC7530700C5B29E /* svgtiny_gradient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A691AC7530700C5B29E /* svgtiny_gradient.cpp */; }; + 22592A701AC7530700C5B29E /* svgtiny_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A6B1AC7530700C5B29E /* svgtiny_list.cpp */; }; + 22592A7A1AC7531300C5B29E /* ofxXmlSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A731AC7531300C5B29E /* ofxXmlSettings.cpp */; }; + 22592A7B1AC7531300C5B29E /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A761AC7531300C5B29E /* tinyxml.cpp */; }; + 22592A7C1AC7531300C5B29E /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A781AC7531300C5B29E /* tinyxmlerror.cpp */; }; + 22592A7D1AC7531300C5B29E /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A791AC7531300C5B29E /* tinyxmlparser.cpp */; }; + 22592A841AC7531D00C5B29E /* ofxSprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A801AC7531D00C5B29E /* ofxSprite.cpp */; }; + 22592A851AC7531D00C5B29E /* ofxSpriteManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A821AC7531D00C5B29E /* ofxSpriteManager.cpp */; }; + 22592A8A1AC7532100C5B29E /* ofxAssets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A881AC7532100C5B29E /* ofxAssets.cpp */; }; + 22592ABA1AC7532F00C5B29E /* ofxRtMidiIn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A8E1AC7532F00C5B29E /* ofxRtMidiIn.cpp */; }; + 22592ABB1AC7532F00C5B29E /* ofxRtMidiOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A901AC7532F00C5B29E /* ofxRtMidiOut.cpp */; }; + 22592ABC1AC7532F00C5B29E /* ofxBaseMidi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A9D1AC7532F00C5B29E /* ofxBaseMidi.cpp */; }; + 22592ABD1AC7532F00C5B29E /* ofxMidi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592A9F1AC7532F00C5B29E /* ofxMidi.cpp */; }; + 22592ABE1AC7532F00C5B29E /* ofxMidiIn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AA21AC7532F00C5B29E /* ofxMidiIn.cpp */; }; + 22592ABF1AC7532F00C5B29E /* ofxMidiMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AA41AC7532F00C5B29E /* ofxMidiMessage.cpp */; }; + 22592AC01AC7532F00C5B29E /* ofxMidiOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AA61AC7532F00C5B29E /* ofxMidiOut.cpp */; }; + 22592AC11AC7532F00C5B29E /* RtMidi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AB61AC7532F00C5B29E /* RtMidi.cpp */; }; + 22592AC21AC7532F00C5B29E /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22592AB81AC7532F00C5B29E /* CoreMIDI.framework */; }; + 22592AC31AC7532F00C5B29E /* CoreMIDI.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 22592AB81AC7532F00C5B29E /* CoreMIDI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 22592AD71AC7533800C5B29E /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AC61AC7533800C5B29E /* ofxBaseGui.cpp */; }; + 22592AD81AC7533800C5B29E /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AC81AC7533800C5B29E /* ofxButton.cpp */; }; + 22592AD91AC7533800C5B29E /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592ACB1AC7533800C5B29E /* ofxGuiGroup.cpp */; }; + 22592ADA1AC7533800C5B29E /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592ACD1AC7533800C5B29E /* ofxLabel.cpp */; }; + 22592ADB1AC7533800C5B29E /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592ACF1AC7533800C5B29E /* ofxPanel.cpp */; }; + 22592ADC1AC7533800C5B29E /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AD11AC7533800C5B29E /* ofxSlider.cpp */; }; + 22592ADD1AC7533800C5B29E /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AD31AC7533800C5B29E /* ofxSliderGroup.cpp */; }; + 22592ADE1AC7533800C5B29E /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AD51AC7533800C5B29E /* ofxToggle.cpp */; }; + 22592AE31AC7535100C5B29E /* ofxExtras.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22592AE11AC7535100C5B29E /* ofxExtras.cpp */; }; + 22592AE61AC7557300C5B29E /* libopenFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22592AE41AC7557300C5B29E /* libopenFrameworksDebug.a */; }; + 22592AE71AC7557300C5B29E /* libopenFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22592AE51AC7557300C5B29E /* libopenFrameworks.a */; }; + 2272A6221AC7487B004F5CBF /* viewport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2272A61D1AC7487B004F5CBF /* viewport.cpp */; }; + 2272A6231AC7487B004F5CBF /* playlist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2272A61F1AC7487B004F5CBF /* playlist.cpp */; }; + 2272A6241AC7487B004F5CBF /* layers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2272A6211AC7487B004F5CBF /* layers.cpp */; }; + E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; + E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; + E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = E4B27C1510CBEB8E00536013; + remoteInfo = openFrameworks; + }; + E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = E4B27C1410CBEB8E00536013; + remoteInfo = openFrameworks; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + E4C2427710CC5ABF004149E2 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 22592AC31AC7532F00C5B29E /* CoreMIDI.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 22592A631AC7530700C5B29E /* ofxSVGTiny.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSVGTiny.cpp; sourceTree = ""; }; + 22592A641AC7530700C5B29E /* ofxSVGTiny.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSVGTiny.h; sourceTree = ""; }; + 22592A661AC7530700C5B29E /* src_colors.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = src_colors.cpp; sourceTree = ""; }; + 22592A671AC7530700C5B29E /* svgtiny.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = svgtiny.cpp; sourceTree = ""; }; + 22592A681AC7530700C5B29E /* svgtiny.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = svgtiny.h; sourceTree = ""; }; + 22592A691AC7530700C5B29E /* svgtiny_gradient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = svgtiny_gradient.cpp; sourceTree = ""; }; + 22592A6A1AC7530700C5B29E /* svgtiny_internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = svgtiny_internal.h; sourceTree = ""; }; + 22592A6B1AC7530700C5B29E /* svgtiny_list.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = svgtiny_list.cpp; sourceTree = ""; }; + 22592A731AC7531300C5B29E /* ofxXmlSettings.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxXmlSettings.cpp; sourceTree = ""; }; + 22592A741AC7531300C5B29E /* ofxXmlSettings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxXmlSettings.h; sourceTree = ""; }; + 22592A761AC7531300C5B29E /* tinyxml.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxml.cpp; sourceTree = ""; }; + 22592A771AC7531300C5B29E /* tinyxml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tinyxml.h; sourceTree = ""; }; + 22592A781AC7531300C5B29E /* tinyxmlerror.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlerror.cpp; sourceTree = ""; }; + 22592A791AC7531300C5B29E /* tinyxmlparser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlparser.cpp; sourceTree = ""; }; + 22592A801AC7531D00C5B29E /* ofxSprite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSprite.cpp; sourceTree = ""; }; + 22592A811AC7531D00C5B29E /* ofxSprite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSprite.h; sourceTree = ""; }; + 22592A821AC7531D00C5B29E /* ofxSpriteManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSpriteManager.cpp; sourceTree = ""; }; + 22592A831AC7531D00C5B29E /* ofxSpriteManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSpriteManager.h; sourceTree = ""; }; + 22592A881AC7532100C5B29E /* ofxAssets.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxAssets.cpp; sourceTree = ""; }; + 22592A891AC7532100C5B29E /* ofxAssets.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxAssets.h; sourceTree = ""; }; + 22592A8E1AC7532F00C5B29E /* ofxRtMidiIn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxRtMidiIn.cpp; sourceTree = ""; }; + 22592A8F1AC7532F00C5B29E /* ofxRtMidiIn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxRtMidiIn.h; sourceTree = ""; }; + 22592A901AC7532F00C5B29E /* ofxRtMidiOut.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxRtMidiOut.cpp; sourceTree = ""; }; + 22592A911AC7532F00C5B29E /* ofxRtMidiOut.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxRtMidiOut.h; sourceTree = ""; }; + 22592A9D1AC7532F00C5B29E /* ofxBaseMidi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxBaseMidi.cpp; sourceTree = ""; }; + 22592A9E1AC7532F00C5B29E /* ofxBaseMidi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxBaseMidi.h; sourceTree = ""; }; + 22592A9F1AC7532F00C5B29E /* ofxMidi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxMidi.cpp; sourceTree = ""; }; + 22592AA01AC7532F00C5B29E /* ofxMidi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxMidi.h; sourceTree = ""; }; + 22592AA11AC7532F00C5B29E /* ofxMidiConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxMidiConstants.h; sourceTree = ""; }; + 22592AA21AC7532F00C5B29E /* ofxMidiIn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxMidiIn.cpp; sourceTree = ""; }; + 22592AA31AC7532F00C5B29E /* ofxMidiIn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxMidiIn.h; sourceTree = ""; }; + 22592AA41AC7532F00C5B29E /* ofxMidiMessage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxMidiMessage.cpp; sourceTree = ""; }; + 22592AA51AC7532F00C5B29E /* ofxMidiMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxMidiMessage.h; sourceTree = ""; }; + 22592AA61AC7532F00C5B29E /* ofxMidiOut.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxMidiOut.cpp; sourceTree = ""; }; + 22592AA71AC7532F00C5B29E /* ofxMidiOut.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxMidiOut.h; sourceTree = ""; }; + 22592AA81AC7532F00C5B29E /* ofxMidiTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxMidiTypes.h; sourceTree = ""; }; + 22592AB51AC7532F00C5B29E /* readme */ = {isa = PBXFileReference; lastKnownFileType = text; path = readme; sourceTree = ""; }; + 22592AB61AC7532F00C5B29E /* RtMidi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RtMidi.cpp; sourceTree = ""; }; + 22592AB71AC7532F00C5B29E /* RtMidi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RtMidi.h; sourceTree = ""; }; + 22592AB81AC7532F00C5B29E /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = ../../../../System/Library/Frameworks/CoreMIDI.framework; sourceTree = ""; }; + 22592AC61AC7533800C5B29E /* ofxBaseGui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxBaseGui.cpp; sourceTree = ""; }; + 22592AC71AC7533800C5B29E /* ofxBaseGui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxBaseGui.h; sourceTree = ""; }; + 22592AC81AC7533800C5B29E /* ofxButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxButton.cpp; sourceTree = ""; }; + 22592AC91AC7533800C5B29E /* ofxButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxButton.h; sourceTree = ""; }; + 22592ACA1AC7533800C5B29E /* ofxGui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxGui.h; sourceTree = ""; }; + 22592ACB1AC7533800C5B29E /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxGuiGroup.cpp; sourceTree = ""; }; + 22592ACC1AC7533800C5B29E /* ofxGuiGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxGuiGroup.h; sourceTree = ""; }; + 22592ACD1AC7533800C5B29E /* ofxLabel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxLabel.cpp; sourceTree = ""; }; + 22592ACE1AC7533800C5B29E /* ofxLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxLabel.h; sourceTree = ""; }; + 22592ACF1AC7533800C5B29E /* ofxPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPanel.cpp; sourceTree = ""; }; + 22592AD01AC7533800C5B29E /* ofxPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxPanel.h; sourceTree = ""; }; + 22592AD11AC7533800C5B29E /* ofxSlider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSlider.cpp; sourceTree = ""; }; + 22592AD21AC7533800C5B29E /* ofxSlider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSlider.h; sourceTree = ""; }; + 22592AD31AC7533800C5B29E /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSliderGroup.cpp; sourceTree = ""; }; + 22592AD41AC7533800C5B29E /* ofxSliderGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSliderGroup.h; sourceTree = ""; }; + 22592AD51AC7533800C5B29E /* ofxToggle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxToggle.cpp; sourceTree = ""; }; + 22592AD61AC7533800C5B29E /* ofxToggle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxToggle.h; sourceTree = ""; }; + 22592AE11AC7535100C5B29E /* ofxExtras.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxExtras.cpp; sourceTree = ""; }; + 22592AE21AC7535100C5B29E /* ofxExtras.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxExtras.h; sourceTree = ""; }; + 22592AE41AC7557300C5B29E /* libopenFrameworksDebug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopenFrameworksDebug.a; path = ../../openFrameworks/libs/openFrameworksCompiled/lib/osx/libopenFrameworksDebug.a; sourceTree = ""; }; + 22592AE51AC7557300C5B29E /* libopenFrameworks.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopenFrameworks.a; path = ../../openFrameworks/libs/openFrameworksCompiled/lib/osx/libopenFrameworks.a; sourceTree = ""; }; + 2272A61C1AC7487B004F5CBF /* viewport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = viewport.h; sourceTree = ""; }; + 2272A61D1AC7487B004F5CBF /* viewport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = viewport.cpp; sourceTree = ""; }; + 2272A61E1AC7487B004F5CBF /* playlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = playlist.h; sourceTree = ""; }; + 2272A61F1AC7487B004F5CBF /* playlist.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = playlist.cpp; sourceTree = ""; }; + 2272A6201AC7487B004F5CBF /* layers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layers.h; sourceTree = ""; }; + 2272A6211AC7487B004F5CBF /* layers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = layers.cpp; sourceTree = ""; }; + E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; + E4B69B5B0A3A1756003C02F2 /* sunkenEngineDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sunkenEngineDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; + E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; }; + E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; }; + E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; + E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; + E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E4B69B590A3A1756003C02F2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 22592AE71AC7557300C5B29E /* libopenFrameworks.a in Frameworks */, + 22592AC21AC7532F00C5B29E /* CoreMIDI.framework in Frameworks */, + 22592AE61AC7557300C5B29E /* libopenFrameworksDebug.a in Frameworks */, + E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 22592A611AC7530700C5B29E /* ofxSVGTiny */ = { + isa = PBXGroup; + children = ( + 22592A621AC7530700C5B29E /* src */, + 22592A651AC7530700C5B29E /* libs */, + ); + name = ofxSVGTiny; + sourceTree = ""; + }; + 22592A621AC7530700C5B29E /* src */ = { + isa = PBXGroup; + children = ( + 22592A631AC7530700C5B29E /* ofxSVGTiny.cpp */, + 22592A641AC7530700C5B29E /* ofxSVGTiny.h */, + ); + name = src; + path = ../../openFrameworks/addons/ofxSVGTiny/src; + sourceTree = ""; + }; + 22592A651AC7530700C5B29E /* libs */ = { + isa = PBXGroup; + children = ( + 22592A661AC7530700C5B29E /* src_colors.cpp */, + 22592A671AC7530700C5B29E /* svgtiny.cpp */, + 22592A681AC7530700C5B29E /* svgtiny.h */, + 22592A691AC7530700C5B29E /* svgtiny_gradient.cpp */, + 22592A6A1AC7530700C5B29E /* svgtiny_internal.h */, + 22592A6B1AC7530700C5B29E /* svgtiny_list.cpp */, + ); + name = libs; + path = ../../openFrameworks/addons/ofxSVGTiny/libs; + sourceTree = ""; + }; + 22592A711AC7531300C5B29E /* ofxXmlSettings */ = { + isa = PBXGroup; + children = ( + 22592A721AC7531300C5B29E /* src */, + 22592A751AC7531300C5B29E /* libs */, + ); + name = ofxXmlSettings; + sourceTree = ""; + }; + 22592A721AC7531300C5B29E /* src */ = { + isa = PBXGroup; + children = ( + 22592A731AC7531300C5B29E /* ofxXmlSettings.cpp */, + 22592A741AC7531300C5B29E /* ofxXmlSettings.h */, + ); + name = src; + path = ../../openFrameworks/addons/ofxXmlSettings/src; + sourceTree = ""; + }; + 22592A751AC7531300C5B29E /* libs */ = { + isa = PBXGroup; + children = ( + 22592A761AC7531300C5B29E /* tinyxml.cpp */, + 22592A771AC7531300C5B29E /* tinyxml.h */, + 22592A781AC7531300C5B29E /* tinyxmlerror.cpp */, + 22592A791AC7531300C5B29E /* tinyxmlparser.cpp */, + ); + name = libs; + path = ../../openFrameworks/addons/ofxXmlSettings/libs; + sourceTree = ""; + }; + 22592A7E1AC7531D00C5B29E /* ofxSpriteManager */ = { + isa = PBXGroup; + children = ( + 22592A7F1AC7531D00C5B29E /* src */, + ); + name = ofxSpriteManager; + sourceTree = ""; + }; + 22592A7F1AC7531D00C5B29E /* src */ = { + isa = PBXGroup; + children = ( + 22592A801AC7531D00C5B29E /* ofxSprite.cpp */, + 22592A811AC7531D00C5B29E /* ofxSprite.h */, + 22592A821AC7531D00C5B29E /* ofxSpriteManager.cpp */, + 22592A831AC7531D00C5B29E /* ofxSpriteManager.h */, + ); + name = src; + path = ../../openFrameworks/addons/ofxSpriteManager/src; + sourceTree = ""; + }; + 22592A861AC7532100C5B29E /* ofxAssets */ = { + isa = PBXGroup; + children = ( + 22592A871AC7532100C5B29E /* src */, + ); + name = ofxAssets; + sourceTree = ""; + }; + 22592A871AC7532100C5B29E /* src */ = { + isa = PBXGroup; + children = ( + 22592A881AC7532100C5B29E /* ofxAssets.cpp */, + 22592A891AC7532100C5B29E /* ofxAssets.h */, + ); + name = src; + path = ../../openFrameworks/addons/ofxAssets/src; + sourceTree = ""; + }; + 22592A8B1AC7532F00C5B29E /* ofxMidi */ = { + isa = PBXGroup; + children = ( + 22592A8C1AC7532F00C5B29E /* src */, + 22592AA91AC7532F00C5B29E /* libs */, + 22592AB81AC7532F00C5B29E /* CoreMIDI.framework */, + ); + name = ofxMidi; + sourceTree = ""; + }; + 22592A8C1AC7532F00C5B29E /* src */ = { + isa = PBXGroup; + children = ( + 22592A8D1AC7532F00C5B29E /* desktop */, + 22592A9D1AC7532F00C5B29E /* ofxBaseMidi.cpp */, + 22592A9E1AC7532F00C5B29E /* ofxBaseMidi.h */, + 22592A9F1AC7532F00C5B29E /* ofxMidi.cpp */, + 22592AA01AC7532F00C5B29E /* ofxMidi.h */, + 22592AA11AC7532F00C5B29E /* ofxMidiConstants.h */, + 22592AA21AC7532F00C5B29E /* ofxMidiIn.cpp */, + 22592AA31AC7532F00C5B29E /* ofxMidiIn.h */, + 22592AA41AC7532F00C5B29E /* ofxMidiMessage.cpp */, + 22592AA51AC7532F00C5B29E /* ofxMidiMessage.h */, + 22592AA61AC7532F00C5B29E /* ofxMidiOut.cpp */, + 22592AA71AC7532F00C5B29E /* ofxMidiOut.h */, + 22592AA81AC7532F00C5B29E /* ofxMidiTypes.h */, + ); + name = src; + path = ../../openFrameworks/addons/ofxMidi/src; + sourceTree = ""; + }; + 22592A8D1AC7532F00C5B29E /* desktop */ = { + isa = PBXGroup; + children = ( + 22592A8E1AC7532F00C5B29E /* ofxRtMidiIn.cpp */, + 22592A8F1AC7532F00C5B29E /* ofxRtMidiIn.h */, + 22592A901AC7532F00C5B29E /* ofxRtMidiOut.cpp */, + 22592A911AC7532F00C5B29E /* ofxRtMidiOut.h */, + ); + path = desktop; + sourceTree = ""; + }; + 22592AA91AC7532F00C5B29E /* libs */ = { + isa = PBXGroup; + children = ( + 22592AB41AC7532F00C5B29E /* rtmidi */, + ); + name = libs; + path = ../../openFrameworks/addons/ofxMidi/libs; + sourceTree = ""; + }; + 22592AB41AC7532F00C5B29E /* rtmidi */ = { + isa = PBXGroup; + children = ( + 22592AB51AC7532F00C5B29E /* readme */, + 22592AB61AC7532F00C5B29E /* RtMidi.cpp */, + 22592AB71AC7532F00C5B29E /* RtMidi.h */, + ); + path = rtmidi; + sourceTree = ""; + }; + 22592AC41AC7533800C5B29E /* ofxGui */ = { + isa = PBXGroup; + children = ( + 22592AC51AC7533800C5B29E /* src */, + ); + name = ofxGui; + sourceTree = ""; + }; + 22592AC51AC7533800C5B29E /* src */ = { + isa = PBXGroup; + children = ( + 22592AC61AC7533800C5B29E /* ofxBaseGui.cpp */, + 22592AC71AC7533800C5B29E /* ofxBaseGui.h */, + 22592AC81AC7533800C5B29E /* ofxButton.cpp */, + 22592AC91AC7533800C5B29E /* ofxButton.h */, + 22592ACA1AC7533800C5B29E /* ofxGui.h */, + 22592ACB1AC7533800C5B29E /* ofxGuiGroup.cpp */, + 22592ACC1AC7533800C5B29E /* ofxGuiGroup.h */, + 22592ACD1AC7533800C5B29E /* ofxLabel.cpp */, + 22592ACE1AC7533800C5B29E /* ofxLabel.h */, + 22592ACF1AC7533800C5B29E /* ofxPanel.cpp */, + 22592AD01AC7533800C5B29E /* ofxPanel.h */, + 22592AD11AC7533800C5B29E /* ofxSlider.cpp */, + 22592AD21AC7533800C5B29E /* ofxSlider.h */, + 22592AD31AC7533800C5B29E /* ofxSliderGroup.cpp */, + 22592AD41AC7533800C5B29E /* ofxSliderGroup.h */, + 22592AD51AC7533800C5B29E /* ofxToggle.cpp */, + 22592AD61AC7533800C5B29E /* ofxToggle.h */, + ); + name = src; + path = ../../openFrameworks/addons/ofxGui/src; + sourceTree = ""; + }; + 22592ADF1AC7535100C5B29E /* ofxExtras */ = { + isa = PBXGroup; + children = ( + 22592AE01AC7535100C5B29E /* src */, + ); + name = ofxExtras; + sourceTree = ""; + }; + 22592AE01AC7535100C5B29E /* src */ = { + isa = PBXGroup; + children = ( + 22592AE11AC7535100C5B29E /* ofxExtras.cpp */, + 22592AE21AC7535100C5B29E /* ofxExtras.h */, + ); + name = src; + path = ../../openFrameworks/addons/ofxExtras/src; + sourceTree = ""; + }; + BB4B014C10F69532006C3DED /* addons */ = { + isa = PBXGroup; + children = ( + 22592A611AC7530700C5B29E /* ofxSVGTiny */, + 22592A711AC7531300C5B29E /* ofxXmlSettings */, + 22592A7E1AC7531D00C5B29E /* ofxSpriteManager */, + 22592A861AC7532100C5B29E /* ofxAssets */, + 22592A8B1AC7532F00C5B29E /* ofxMidi */, + 22592AC41AC7533800C5B29E /* ofxGui */, + 22592ADF1AC7535100C5B29E /* ofxExtras */, + ); + name = addons; + sourceTree = ""; + }; + E4328144138ABC890047C5CB /* Products */ = { + isa = PBXGroup; + children = ( + E4328148138ABC890047C5CB /* openFrameworksDebug.a */, + ); + name = Products; + sourceTree = ""; + }; + E4B69B4A0A3A1720003C02F2 = { + isa = PBXGroup; + children = ( + E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, + E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, + E4B69E1C0A3A1BDC003C02F2 /* src */, + E4EEC9E9138DF44700A80321 /* openFrameworks */, + BB4B014C10F69532006C3DED /* addons */, + E4B69B5B0A3A1756003C02F2 /* sunkenEngineDebug.app */, + ); + sourceTree = ""; + }; + E4B69E1C0A3A1BDC003C02F2 /* src */ = { + isa = PBXGroup; + children = ( + 2272A61C1AC7487B004F5CBF /* viewport.h */, + 2272A61D1AC7487B004F5CBF /* viewport.cpp */, + 2272A61E1AC7487B004F5CBF /* playlist.h */, + 2272A61F1AC7487B004F5CBF /* playlist.cpp */, + 2272A6201AC7487B004F5CBF /* layers.h */, + 2272A6211AC7487B004F5CBF /* layers.cpp */, + E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, + E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, + E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, + ); + path = src; + sourceTree = SOURCE_ROOT; + }; + E4EEC9E9138DF44700A80321 /* openFrameworks */ = { + isa = PBXGroup; + children = ( + 22592AE51AC7557300C5B29E /* libopenFrameworks.a */, + 22592AE41AC7557300C5B29E /* libopenFrameworksDebug.a */, + E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, + E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, + ); + name = openFrameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E4B69B5A0A3A1756003C02F2 /* sunkenEngine */ = { + isa = PBXNativeTarget; + buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "sunkenEngine" */; + buildPhases = ( + E4B69B580A3A1756003C02F2 /* Sources */, + E4B69B590A3A1756003C02F2 /* Frameworks */, + E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, + E4C2427710CC5ABF004149E2 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, + ); + name = sunkenEngine; + productName = myOFApp; + productReference = E4B69B5B0A3A1756003C02F2 /* sunkenEngineDebug.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E4B69B4C0A3A1720003C02F2 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0600; + }; + buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "sunkenEngine" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = E4B69B4A0A3A1720003C02F2; + productRefGroup = E4B69B4A0A3A1720003C02F2; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = E4328144138ABC890047C5CB /* Products */; + ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + E4B69B5A0A3A1756003C02F2 /* sunkenEngine */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = openFrameworksDebug.a; + remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXShellScriptBuildPhase section */ + E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\ncp -f \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + E4B69B580A3A1756003C02F2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 22592ADD1AC7533800C5B29E /* ofxSliderGroup.cpp in Sources */, + 22592A6E1AC7530700C5B29E /* svgtiny.cpp in Sources */, + 22592A7B1AC7531300C5B29E /* tinyxml.cpp in Sources */, + 2272A6241AC7487B004F5CBF /* layers.cpp in Sources */, + 22592AD91AC7533800C5B29E /* ofxGuiGroup.cpp in Sources */, + 22592ABD1AC7532F00C5B29E /* ofxMidi.cpp in Sources */, + E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, + 22592A851AC7531D00C5B29E /* ofxSpriteManager.cpp in Sources */, + E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, + 22592ADB1AC7533800C5B29E /* ofxPanel.cpp in Sources */, + 22592AD81AC7533800C5B29E /* ofxButton.cpp in Sources */, + 22592ADE1AC7533800C5B29E /* ofxToggle.cpp in Sources */, + 22592AE31AC7535100C5B29E /* ofxExtras.cpp in Sources */, + 22592ABE1AC7532F00C5B29E /* ofxMidiIn.cpp in Sources */, + 22592A6D1AC7530700C5B29E /* src_colors.cpp in Sources */, + 22592ABF1AC7532F00C5B29E /* ofxMidiMessage.cpp in Sources */, + 22592ABC1AC7532F00C5B29E /* ofxBaseMidi.cpp in Sources */, + 2272A6221AC7487B004F5CBF /* viewport.cpp in Sources */, + 22592A8A1AC7532100C5B29E /* ofxAssets.cpp in Sources */, + 22592A7A1AC7531300C5B29E /* ofxXmlSettings.cpp in Sources */, + 22592ADC1AC7533800C5B29E /* ofxSlider.cpp in Sources */, + 22592A701AC7530700C5B29E /* svgtiny_list.cpp in Sources */, + 22592AC01AC7532F00C5B29E /* ofxMidiOut.cpp in Sources */, + 22592A6C1AC7530700C5B29E /* ofxSVGTiny.cpp in Sources */, + 22592A841AC7531D00C5B29E /* ofxSprite.cpp in Sources */, + 22592A7D1AC7531300C5B29E /* tinyxmlparser.cpp in Sources */, + 22592AC11AC7532F00C5B29E /* RtMidi.cpp in Sources */, + 2272A6231AC7487B004F5CBF /* playlist.cpp in Sources */, + 22592ABB1AC7532F00C5B29E /* ofxRtMidiOut.cpp in Sources */, + 22592A6F1AC7530700C5B29E /* svgtiny_gradient.cpp in Sources */, + 22592A7C1AC7531300C5B29E /* tinyxmlerror.cpp in Sources */, + 22592AD71AC7533800C5B29E /* ofxBaseGui.cpp in Sources */, + 22592ADA1AC7533800C5B29E /* ofxLabel.cpp in Sources */, + 22592ABA1AC7532F00C5B29E /* ofxRtMidiIn.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = openFrameworks; + targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + E4B69B4E0A3A1720003C02F2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + MACOSX_DEPLOYMENT_TARGET = 10.6; + ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "-D__MACOSX_CORE__", + "-lpthread", + "-mtune=native", + ); + SDKROOT = macosx; + }; + name = Debug; + }; + E4B69B4F0A3A1720003C02F2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; + COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_UNROLL_LOOPS = YES; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + MACOSX_DEPLOYMENT_TARGET = 10.6; + OTHER_CPLUSPLUSFLAGS = ( + "-D__MACOSX_CORE__", + "-lpthread", + "-mtune=native", + ); + SDKROOT = macosx; + }; + name = Release; + }; + E4B69B600A3A1757003C02F2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = NONE; + ICON = "$(ICON_NAME_DEBUG)"; + ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; + INFOPLIST_FILE = "openFrameworks-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + /work/workspace/openFrameworks/libs/openFrameworksCompiled/lib/osx, + ); + PRODUCT_NAME = sunkenEngineDebug; + USER_HEADER_SEARCH_PATHS = ""; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + E4B69B610A3A1757003C02F2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = NONE; + ICON = "$(ICON_NAME_RELEASE)"; + ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; + INFOPLIST_FILE = "openFrameworks-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + /work/workspace/openFrameworks/libs/openFrameworksCompiled/lib/osx, + ); + PRODUCT_NAME = sunkenEngine; + USER_HEADER_SEARCH_PATHS = ""; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "sunkenEngine" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E4B69B4E0A3A1720003C02F2 /* Debug */, + E4B69B4F0A3A1720003C02F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "sunkenEngine" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E4B69B600A3A1757003C02F2 /* Debug */, + E4B69B610A3A1757003C02F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; +} diff --git a/sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..ef0fbe9 --- /dev/null +++ b/sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/UserInterfaceState.xcuserstate b/sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..704bfd0 Binary files /dev/null and b/sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/WorkspaceSettings.xcsettings b/sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..938b724 --- /dev/null +++ b/sunkenEngine/sunkenEngine.xcodeproj/project.xcworkspace/xcuserdata/tim.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,22 @@ + + + + + BuildLocationStyle + UseAppPreferences + CustomBuildLocationType + RelativeToDerivedData + DerivedDataLocationStyle + Default + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + IssueFilterStyle + ShowActiveSchemeOnly + LiveSourceIssuesEnabled + + SnapshotAutomaticallyBeforeSignificantChanges + + SnapshotLocationStyle + Default + + diff --git a/sunkenEngine/sunkenEngine.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme b/sunkenEngine/sunkenEngine.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme new file mode 100644 index 0000000..b40045f --- /dev/null +++ b/sunkenEngine/sunkenEngine.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/sunkenEngine.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme b/sunkenEngine/sunkenEngine.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme new file mode 100644 index 0000000..1fc5401 --- /dev/null +++ b/sunkenEngine/sunkenEngine.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sunkenEngine/sunkenEngine.xcodeproj/xcuserdata/tim.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/sunkenEngine/sunkenEngine.xcodeproj/xcuserdata/tim.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..860b676 --- /dev/null +++ b/sunkenEngine/sunkenEngine.xcodeproj/xcuserdata/tim.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/sunkenEngine/sunkenEngine.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/xcschememanagement.plist b/sunkenEngine/sunkenEngine.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..13dfb6e --- /dev/null +++ b/sunkenEngine/sunkenEngine.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SuppressBuildableAutocreation + + E4B69B5A0A3A1756003C02F2 + + primary + + + + + -- cgit v1.2.3