Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Initial import:

* OpenGL View
* GameLoop
* Player
* Enemy Teams and planes
* Movements for planes
* Camera for Player
  • Loading branch information...
commit 1b1eb3c6e666b92bdc0928815bc958753037dd42 0 parents
Thomas R. Koll TomK32 authored
2  .gitignore
@@ -0,0 +1,2 @@
+build
+.DS_Store
557 CtF.xcodeproj/project.pbxproj
@@ -0,0 +1,557 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXAggregateTarget section */
+ 172754BD107597F200D0347B /* Unit Tests */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = 172754C7107597F400D0347B /* Build configuration list for PBXAggregateTarget "Unit Tests" */;
+ buildPhases = (
+ 172754BC107597F200D0347B /* ShellScript */,
+ );
+ dependencies = (
+ );
+ name = "Unit Tests";
+ productName = "Unit Tests";
+ };
+ 4D1A51A110A4FF5D0046A98A /* Compile */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = 4D1A51AB10A4FF6A0046A98A /* Build configuration list for PBXAggregateTarget "Compile" */;
+ buildPhases = (
+ 4D1A51A010A4FF5D0046A98A /* ShellScript */,
+ );
+ dependencies = (
+ );
+ name = Compile;
+ productName = Compile;
+ };
+ 4D1A51A510A4FF640046A98A /* Embed */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = 4D1A51AC10A4FF6A0046A98A /* Build configuration list for PBXAggregateTarget "Embed" */;
+ buildPhases = (
+ 4D1A51A410A4FF640046A98A /* ShellScript */,
+ );
+ dependencies = (
+ );
+ name = Embed;
+ productName = Embed;
+ };
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+ 0E2BDBC112B267D400D634EE /* Team.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0E2BDBC012B267D400D634EE /* Team.rb */; };
+ 0E2BDC1012B26E8B00D634EE /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E2BDC0F12B26E8B00D634EE /* GLUT.framework */; };
+ 0ED8FB4212B24A0700296022 /* Movable.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0ED8FB4112B24A0700296022 /* Movable.rb */; };
+ 0ED8FB9612B24C6100296022 /* Plane.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0ED8FB9512B24C6100296022 /* Plane.rb */; };
+ 0ED8FBAD12B24FAF00296022 /* Enemy.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */; };
+ 0EF05CB212B14956009C18E8 /* GameView.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0EF05CB112B14956009C18E8 /* GameView.rb */; };
+ 0EF05CB712B14A4A009C18E8 /* GameLoop.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */; };
+ 0EF05CD612B14B2A009C18E8 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0EF05CD512B14B2A009C18E8 /* OpenGL.framework */; };
+ 0EF05D6012B1703A009C18E8 /* GameWindowController.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0EF05D5F12B1703A009C18E8 /* GameWindowController.rb */; };
+ 0EF05D8112B17201009C18E8 /* Scene.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0EF05D8012B17201009C18E8 /* Scene.rb */; };
+ 0EF05DAF12B173C0009C18E8 /* Player.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */; };
+ 0EF05DB612B17440009C18E8 /* Placable.rb in Resources */ = {isa = PBXBuildFile; fileRef = 0EF05DB512B17440009C18E8 /* Placable.rb */; };
+ 2BFA9DA710CDF852007972A1 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2BFA9DA510CDF852007972A1 /* MainMenu.xib */; };
+ 4DE339F70D74FCDD00ADB6EE /* rb_main.rb in Resources */ = {isa = PBXBuildFile; fileRef = 4DE339F60D74FCDD00ADB6EE /* rb_main.rb */; };
+ 4DE3BE140D8651D900ECA448 /* MacRuby.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DE3BE130D8651D900ECA448 /* MacRuby.framework */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 172754B4107597CF00D0347B /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 0E2BDBC012B267D400D634EE /* Team.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = Team.rb; sourceTree = "<group>"; };
+ 0E2BDC0F12B26E8B00D634EE /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = System/Library/Frameworks/GLUT.framework; sourceTree = SDKROOT; };
+ 0ED8FB4112B24A0700296022 /* Movable.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = Movable.rb; sourceTree = "<group>"; };
+ 0ED8FB9512B24C6100296022 /* Plane.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = Plane.rb; sourceTree = "<group>"; };
+ 0ED8FBAC12B24FAF00296022 /* Enemy.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = Enemy.rb; sourceTree = "<group>"; };
+ 0EF05CB112B14956009C18E8 /* GameView.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = GameView.rb; sourceTree = "<group>"; };
+ 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = GameLoop.rb; sourceTree = "<group>"; };
+ 0EF05CD512B14B2A009C18E8 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ 0EF05D5F12B1703A009C18E8 /* GameWindowController.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = GameWindowController.rb; sourceTree = "<group>"; };
+ 0EF05D8012B17201009C18E8 /* Scene.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = Scene.rb; sourceTree = "<group>"; };
+ 0EF05DAE12B173C0009C18E8 /* Player.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = Player.rb; sourceTree = "<group>"; };
+ 0EF05DB512B17440009C18E8 /* Placable.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = Placable.rb; sourceTree = "<group>"; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
+ 172754D5107598EA00D0347B /* stub_test.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = stub_test.rb; sourceTree = "<group>"; };
+ 17D55CD81076A1A2008207BD /* run_suite.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = run_suite.rb; sourceTree = "<group>"; };
+ 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 2BFA9DA610CDF852007972A1 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
+ 4DE339F60D74FCDD00ADB6EE /* rb_main.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = rb_main.rb; sourceTree = "<group>"; };
+ 4DE3BE130D8651D900ECA448 /* MacRuby.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MacRuby.framework; path = /Library/Frameworks/MacRuby.framework; sourceTree = "<absolute>"; };
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* CtF.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CtF.app; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ 4DE3BE140D8651D900ECA448 /* MacRuby.framework in Frameworks */,
+ 0EF05CD612B14B2A009C18E8 /* OpenGL.framework in Frameworks */,
+ 0E2BDC1012B26E8B00D634EE /* GLUT.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 0EF05D8212B1722C009C18E8 /* game_items */,
+ 0EF05DB412B17440009C18E8 /* lib */,
+ 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */,
+ 0EF05D5F12B1703A009C18E8 /* GameWindowController.rb */,
+ 0EF05CB112B14956009C18E8 /* GameView.rb */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 0EF05D8212B1722C009C18E8 /* game_items */ = {
+ isa = PBXGroup;
+ children = (
+ 0EF05D8012B17201009C18E8 /* Scene.rb */,
+ 0EF05DAE12B173C0009C18E8 /* Player.rb */,
+ 0ED8FBAC12B24FAF00296022 /* Enemy.rb */,
+ 0E2BDBC012B267D400D634EE /* Team.rb */,
+ );
+ name = game_items;
+ sourceTree = "<group>";
+ };
+ 0EF05DB412B17440009C18E8 /* lib */ = {
+ isa = PBXGroup;
+ children = (
+ 0ED8FB4112B24A0700296022 /* Movable.rb */,
+ 0EF05DB512B17440009C18E8 /* Placable.rb */,
+ 0ED8FB9512B24C6100296022 /* Plane.rb */,
+ );
+ name = lib;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 0EF05CD512B14B2A009C18E8 /* OpenGL.framework */,
+ 0E2BDC0F12B26E8B00D634EE /* GLUT.framework */,
+ 4DE3BE130D8651D900ECA448 /* MacRuby.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 172754AE1075979200D0347B /* Tests */ = {
+ isa = PBXGroup;
+ children = (
+ 172754D5107598EA00D0347B /* stub_test.rb */,
+ 17D55CD81076A1A2008207BD /* run_suite.rb */,
+ );
+ path = Tests;
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* CtF.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* CtF */ = {
+ isa = PBXGroup;
+ children = (
+ 172754AE1075979200D0347B /* Tests */,
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = CtF;
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 4DE339F60D74FCDD00ADB6EE /* rb_main.rb */,
+ 29B97316FDCFA39411CA2CEA /* main.m */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 2BFA9DA510CDF852007972A1 /* MainMenu.xib */,
+ 8D1107310486CEB800E47090 /* Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* CtF */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "CtF" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ 172754B4107597CF00D0347B /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = CtF;
+ productInstallPath = "$(HOME)/Applications";
+ productName = CtF;
+ productReference = 8D1107320486CEB800E47090 /* CtF.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ ORGANIZATIONNAME = ananasblau;
+ };
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "CtF" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = 29B97314FDCFA39411CA2CEA /* CtF */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* CtF */,
+ 172754BD107597F200D0347B /* Unit Tests */,
+ 4D1A51A110A4FF5D0046A98A /* Compile */,
+ 4D1A51A510A4FF640046A98A /* Embed */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ 4DE339F70D74FCDD00ADB6EE /* rb_main.rb in Resources */,
+ 2BFA9DA710CDF852007972A1 /* MainMenu.xib in Resources */,
+ 0EF05CB212B14956009C18E8 /* GameView.rb in Resources */,
+ 0EF05CB712B14A4A009C18E8 /* GameLoop.rb in Resources */,
+ 0EF05D6012B1703A009C18E8 /* GameWindowController.rb in Resources */,
+ 0EF05D8112B17201009C18E8 /* Scene.rb in Resources */,
+ 0EF05DAF12B173C0009C18E8 /* Player.rb in Resources */,
+ 0EF05DB612B17440009C18E8 /* Placable.rb in Resources */,
+ 0ED8FB4212B24A0700296022 /* Movable.rb in Resources */,
+ 0ED8FB9612B24C6100296022 /* Plane.rb in Resources */,
+ 0ED8FBAD12B24FAF00296022 /* Enemy.rb in Resources */,
+ 0E2BDBC112B267D400D634EE /* Team.rb in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 172754BC107597F200D0347B /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "/usr/local/bin/macruby Tests/run_suite.rb";
+ };
+ 4D1A51A010A4FF5D0046A98A /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# The macruby_deploy command-line tool with the --compile argument will compile every Ruby source file of your .app into machine code. Default options will be used. Pass the -h option to get more information.\nPATH=\"$PATH:/usr/local/bin\" macruby_deploy --compile \"$TARGET_BUILD_DIR/$PROJECT_NAME.app\"";
+ };
+ 4D1A51A410A4FF640046A98A /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# The macruby_deploy command-line tool with the --embed argument will make sure the MacRuby framework will be embedded in your .app. Default options will be used. Pass the -h option to get more information.\nPATH=\"$PATH:/usr/local/bin\" macruby_deploy --embed \"$TARGET_BUILD_DIR/$PROJECT_NAME.app\"";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072D0486CEB800E47090 /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ 2BFA9DA510CDF852007972A1 /* MainMenu.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 2BFA9DA610CDF852007972A1 /* English */,
+ );
+ name = MainMenu.xib;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 172754BE107597F200D0347B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ PRODUCT_NAME = "Unit Tests";
+ };
+ name = Debug;
+ };
+ 172754BF107597F200D0347B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ PRODUCT_NAME = "Unit Tests";
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
+ 4D1A51A210A4FF5D0046A98A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ PRODUCT_NAME = Compile;
+ };
+ name = Debug;
+ };
+ 4D1A51A310A4FF5D0046A98A /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ PRODUCT_NAME = Compile;
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
+ 4D1A51A610A4FF640046A98A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ PRODUCT_NAME = Embed;
+ };
+ name = Debug;
+ };
+ 4D1A51A710A4FF640046A98A /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ PRODUCT_NAME = Embed;
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/build/Debug\"",
+ );
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = CtF;
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = YES;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/build/Debug\"",
+ );
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = CtF;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ GCC_ENABLE_OBJC_GC = required;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PREBINDING = NO;
+ SDKROOT = macosx10.6;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ GCC_ENABLE_OBJC_GC = required;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PREBINDING = NO;
+ SDKROOT = macosx10.6;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 172754C7107597F400D0347B /* Build configuration list for PBXAggregateTarget "Unit Tests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 172754BE107597F200D0347B /* Debug */,
+ 172754BF107597F200D0347B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 4D1A51AB10A4FF6A0046A98A /* Build configuration list for PBXAggregateTarget "Compile" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 4D1A51A210A4FF5D0046A98A /* Debug */,
+ 4D1A51A310A4FF5D0046A98A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 4D1A51AC10A4FF6A0046A98A /* Build configuration list for PBXAggregateTarget "Embed" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 4D1A51A610A4FF640046A98A /* Debug */,
+ 4D1A51A710A4FF640046A98A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "CtF" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "CtF" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
1,430 CtF.xcodeproj/tomk32.mode1v3
@@ -0,0 +1,1430 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActivePerspectiveName</key>
+ <string>Project</string>
+ <key>AllowedModules</key>
+ <array>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Name</key>
+ <string>Groups and Files Outline View</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Name</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCTaskListModule</string>
+ <key>Name</key>
+ <string>Task List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Name</key>
+ <string>File and Smart Group Detail Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Name</key>
+ <string>Detailed Build Results Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Name</key>
+ <string>Project Batch Find Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Name</key>
+ <string>Project Format Conflicts List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Name</key>
+ <string>Bookmarks Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Name</key>
+ <string>Class Browser</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Name</key>
+ <string>Source Code Control Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXDebugBreakpointsModule</string>
+ <key>Name</key>
+ <string>Debug Breakpoints Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDockableInspector</string>
+ <key>Name</key>
+ <string>Inspector</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXOpenQuicklyModule</string>
+ <key>Name</key>
+ <string>Open Quickly Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Name</key>
+ <string>Debugger</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Name</key>
+ <string>Debug Console</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Name</key>
+ <string>Snapshots Tool</string>
+ </dict>
+ </array>
+ <key>BundlePath</key>
+ <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
+ <key>Description</key>
+ <string>DefaultDescriptionKey</string>
+ <key>DockingSystemVisible</key>
+ <false/>
+ <key>Extension</key>
+ <string>mode1v3</string>
+ <key>FavBarConfig</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>0EF05CC012B14AE4009C18E8</string>
+ <key>XCBarModuleItemNames</key>
+ <dict/>
+ <key>XCBarModuleItems</key>
+ <array/>
+ </dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>com.apple.perspectives.project.mode1v3</string>
+ <key>MajorVersion</key>
+ <integer>33</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Default</string>
+ <key>Notifications</key>
+ <array/>
+ <key>OpenEditors</key>
+ <array/>
+ <key>PerspectiveWidths</key>
+ <array>
+ <integer>927</integer>
+ <integer>693</integer>
+ </array>
+ <key>Perspectives</key>
+ <array>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>active-combo-popup</string>
+ <string>action</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>build-and-go</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>get-info</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>com.apple.pbx.toolbar.searchfield</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProjectWithEditor</string>
+ <key>Identifier</key>
+ <string>perspective.project</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>186</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>29B97314FDCFA39411CA2CEA</string>
+ <string>080E96DDFE201D6D7F000001</string>
+ <string>0EF05D8212B1722C009C18E8</string>
+ <string>0EF05DB412B17440009C18E8</string>
+ <string>29B97315FDCFA39411CA2CEA</string>
+ <string>29B97317FDCFA39411CA2CEA</string>
+ <string>29B97323FDCFA39411CA2CEA</string>
+ <string>19C28FACFE9D520D11CA2CBB</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>5</integer>
+ <integer>3</integer>
+ <integer>2</integer>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {186, 741}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <true/>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {203, 759}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>186</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>468 78 882 800 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>203pt</string>
+ </dict>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20306471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Player.rb</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20406471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Player.rb</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>0EE90EB312B28C8400578C78</string>
+ <key>history</key>
+ <array>
+ <string>0EF05D1512B16EC4009C18E8</string>
+ <string>0ED8FA8E12B2423700296022</string>
+ <string>0ED8FA9012B2423700296022</string>
+ <string>0ED8FA9212B2423700296022</string>
+ <string>0ED8FA9412B2423700296022</string>
+ <string>0ED8FA9612B2423700296022</string>
+ <string>0ED8FA9812B2423700296022</string>
+ <string>0ED8FA9A12B2423700296022</string>
+ <string>0EE90D4012B2820900578C78</string>
+ <string>0EE90DC412B286D000578C78</string>
+ <string>0EE90E2112B289BA00578C78</string>
+ <string>0EE90E4C12B28AD400578C78</string>
+ <string>0EE90E4D12B28AD400578C78</string>
+ <string>0EE90E4E12B28AD400578C78</string>
+ <string>0EE90EA612B28C6F00578C78</string>
+ <string>0EE90EA712B28C6F00578C78</string>
+ <string>0EE90EA812B28C6F00578C78</string>
+ <string>0EE90EA912B28C6F00578C78</string>
+ <string>0EE90EAA12B28C6F00578C78</string>
+ </array>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {674, 624}}</string>
+ <key>RubberWindowFrame</key>
+ <string>468 78 882 800 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>624pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20506471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 629}, {674, 130}}</string>
+ <key>RubberWindowFrame</key>
+ <string>468 78 882 800 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>130pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>674pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCModuleDock</string>
+ <string>PBXNavigatorGroup</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>0EE90CD712B27B3B00578C78</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>0EE90CD812B27B3B00578C78</string>
+ <string>1CE0B20306471E060097A5F4</string>
+ <string>1CE0B20506471E060097A5F4</string>
+ </array>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.defaultV3</string>
+ </dict>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>XCToolbarPerspectiveControl</string>
+ <string>NSToolbarSeparatorItem</string>
+ <string>active-combo-popup</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>build-and-go</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>get-info</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProject</string>
+ <key>Identifier</key>
+ <string>perspective.morph</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>676</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>29B97314FDCFA39411CA2CEA</string>
+ <string>080E96DDFE201D6D7F000001</string>
+ <string>29B97315FDCFA39411CA2CEA</string>
+ <string>29B97317FDCFA39411CA2CEA</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>12</integer>
+ <integer>11</integer>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {676, 651}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <true/>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {693, 669}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>676</real>
+ </array>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>693pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Morph</string>
+ <key>PreferredWidth</key>
+ <integer>300</integer>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>0EF05D7112B170B6009C18E8</string>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ </array>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.default.shortV3</string>
+ </dict>
+ </array>
+ <key>PerspectivesBarVisible</key>
+ <true/>
+ <key>ShelfIsVisible</key>
+ <false/>
+ <key>SourceDescription</key>
+ <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TimeStamp</key>
+ <real>0.0</real>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarDisplayMode</key>
+ <integer>1</integer>
+ <key>ToolbarIsVisible</key>
+ <true/>
+ <key>ToolbarSizeMode</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Perspectives</string>
+ <key>UpdateMessage</key>
+ <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?</string>
+ <key>WindowJustification</key>
+ <integer>5</integer>
+ <key>WindowOrderList</key>
+ <array>
+ <string>0EE90EB412B28C8400578C78</string>
+ <string>0EE90CE212B27B3B00578C78</string>
+ <string>0EE90CE312B27B3B00578C78</string>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>0EF05CC112B14AE4009C18E8</string>
+ <string>1C78EAAD065D492600B07095</string>
+ <string>/Users/tomk32/Arbeit/CtF/CtF.xcodeproj</string>
+ </array>
+ <key>WindowString</key>
+ <string>468 78 882 800 0 0 1440 878 </string>
+ <key>WindowToolsV3</key>
+ <array>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.build</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528F0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string></string>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {500, 218}}</string>
+ <key>RubberWindowFrame</key>
+ <string>347 276 500 500 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>218pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build Results</string>
+ <key>XCBuildResultsTrigger_Collapse</key>
+ <integer>1021</integer>
+ <key>XCBuildResultsTrigger_Open</key>
+ <integer>1011</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 223}, {500, 236}}</string>
+ <key>RubberWindowFrame</key>
+ <string>347 276 500 500 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Proportion</key>
+ <string>236pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>459pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Build Results</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>0EF05CC112B14AE4009C18E8</string>
+ <string>0EE90CD912B27B3B00578C78</string>
+ <string>1CD0528F0623707200166675</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.buildV3</string>
+ <key>WindowContentMinSize</key>
+ <string>486 300</string>
+ <key>WindowString</key>
+ <string>347 276 500 500 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>0EF05CC112B14AE4009C18E8</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.debugger</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>Debugger</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {316, 203}}</string>
+ <string>{{316, 0}, {378, 203}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {694, 203}}</string>
+ <string>{{0, 203}, {694, 178}}</string>
+ </array>
+ </dict>
+ </dict>
+ <key>LauncherConfigVersion</key>
+ <string>8</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C162984064C10D400B95A72</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debug - GLUTExamples (Underwater)</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>DebugConsoleVisible</key>
+ <string>None</string>
+ <key>DebugConsoleWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>DebugSTDIOWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0, 0}, {694, 381}}</string>
+ <key>PBXDebugSessionStackFrameViewKey</key>
+ <dict>
+ <key>DebugVariablesTableConfiguration</key>
+ <array>
+ <string>Name</string>
+ <real>120</real>
+ <string>Value</string>
+ <real>85</real>
+ <string>Summary</string>
+ <real>148</real>
+ </array>
+ <key>Frame</key>
+ <string>{{316, 0}, {378, 203}}</string>
+ <key>RubberWindowFrame</key>
+ <string>247 433 694 422 0 0 1440 878 </string>
+ </dict>
+ <key>RubberWindowFrame</key>
+ <string>247 433 694 422 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>381pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>381pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>0EE90CDA12B27B3B00578C78</string>
+ <string>1C162984064C10D400B95A72</string>
+ <string>0EE90CDB12B27B3B00578C78</string>
+ <string>0EE90CDC12B27B3B00578C78</string>
+ <string>0EE90CDD12B27B3B00578C78</string>
+ <string>0EE90CDE12B27B3B00578C78</string>
+ <string>0EE90CDF12B27B3B00578C78</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugV3</string>
+ <key>WindowString</key>
+ <string>247 433 694 422 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.find</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CDD528C0622207200134675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string></string>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {781, 212}}</string>
+ <key>RubberWindowFrame</key>
+ <string>640 372 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>781pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>212pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528E0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Project Find</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 217}, {781, 212}}</string>
+ <key>RubberWindowFrame</key>
+ <string>640 372 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Proportion</key>
+ <string>212pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>429pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Find</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXProjectFindModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>0EF05F5712B17E58009C18E8</string>
+ <string>0EF05F5812B17E58009C18E8</string>
+ <string>1CDD528C0622207200134675</string>
+ <string>1CD0528E0623707200166675</string>
+ </array>
+ <key>WindowString</key>
+ <string>640 372 781 470 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>MENUSEPARATOR</string>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.debuggerConsole</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAAC065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debugger Console</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {642, 403}}</string>
+ <key>RubberWindowFrame</key>
+ <string>119 431 642 444 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>403pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>403pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger Console</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugCLIModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAAD065D492600B07095</string>
+ <string>0EE90CE012B27B3B00578C78</string>
+ <string>1C78EAAC065D492600B07095</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.consoleV3</string>
+ <key>WindowString</key>
+ <string>119 431 642 444 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C78EAAD065D492600B07095</string>
+ <key>WindowToolIsVisible</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.snapshots</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Snapshots</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCSnapshotModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <string>Yes</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.snapshots</string>
+ <key>WindowString</key>
+ <string>315 824 300 550 0 0 1440 878 </string>
+ <key>WindowToolIsVisible</key>
+ <string>Yes</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.scm</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB2065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB3065D492600B07095</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {452, 0}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD052920623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>SCM</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ConsoleFrame</key>
+ <string>{{0, 259}, {452, 0}}</string>
+ <key>Frame</key>
+ <string>{{0, 7}, {452, 259}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ <key>TableConfiguration</key>
+ <array>
+ <string>Status</string>
+ <real>30</real>
+ <string>FileName</string>
+ <real>199</real>
+ <string>Path</string>
+ <real>197.0950012207031</real>
+ </array>
+ <key>TableFrame</key>
+ <string>{{0, 0}, {452, 250}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Proportion</key>
+ <string>262pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>266pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>SCM</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXCVSModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAB4065D492600B07095</string>
+ <string>1C78EAB5065D492600B07095</string>
+ <string>1C78EAB2065D492600B07095</string>
+ <string>1CD052920623707200166675</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.scm</string>
+ <key>WindowString</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.breakpoints</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>no</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>168</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {168, 350}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>0</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {185, 368}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>168</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>185pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA1AED706398EBD00589147</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{190, 0}, {554, 368}}</string>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>554pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>368pt</string>
+ </dict>
+ </array>
+ <key>MajorVersion</key>
+ <integer>3</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Breakpoints</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <string>1CDDB66907F98D9800BB5817</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CA1AED706398EBD00589147</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.breakpointsV3</string>
+ <key>WindowString</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <key>WindowToolIsVisible</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugAnimator</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug Visualizer</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXNavigatorGroup</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugAnimatorV3</string>
+ <key>WindowString</key>
+ <string>100 100 700 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.bookmarks</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Bookmarks</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBookmarksModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowString</key>
+ <string>538 42 401 187 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.projectFormatConflicts</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Format Conflicts</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCProjectFormatConflictsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowContentMinSize</key>
+ <string>450 300</string>
+ <key>WindowString</key>
+ <string>50 850 472 307 0 0 1440 877</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.classBrowser</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>OptionsSetName</key>
+ <string>Hierarchy, all classes</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA6456E063B45B4001379D8</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Class Browser - NSObject</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ClassesFrame</key>
+ <string>{{0, 0}, {374, 96}}</string>
+ <key>ClassesTreeTableConfiguration</key>
+ <array>
+ <string>PBXClassNameColumnIdentifier</string>
+ <real>208</real>
+ <string>PBXClassBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>Frame</key>
+ <string>{{0, 0}, {630, 331}}</string>
+ <key>MembersFrame</key>
+ <string>{{0, 105}, {374, 395}}</string>
+ <key>MembersTreeTableConfiguration</key>
+ <array>
+ <string>PBXMemberTypeIconColumnIdentifier</string>
+ <real>22</real>
+ <string>PBXMemberNameColumnIdentifier</string>
+ <real>216</real>
+ <string>PBXMemberTypeColumnIdentifier</string>
+ <real>97</real>
+ <string>PBXMemberBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <integer>1</integer>
+ <key>RubberWindowFrame</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Class Browser</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXClassBrowserModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <string>1C0AD2B0069F1E9B00FABCE6</string>
+ <string>1CA6456E063B45B4001379D8</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.classbrowser</string>
+ <key>WindowString</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.refactoring</string>
+ <key>IncludeInToolsMenu</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{0, 0}, {500, 335}</string>
+ <key>RubberWindowFrame</key>
+ <string>{0, 0}, {500, 335}</string>
+ </dict>
+ <key>Module</key>
+ <string>XCRefactoringModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Refactoring</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCRefactoringModule</string>
+ </array>
+ <key>WindowString</key>
+ <string>200 200 500 356 0 0 1920 1200 </string>
+ </dict>
+ </array>
+</dict>
+</plist>
2,225 CtF.xcodeproj/tomk32.pbxuser
@@ -0,0 +1,2225 @@
+// !$*UTF8*$!
+{
+ 0E044EB212B27695001DA774 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 39";
+ rLen = 0;
+ rLoc = 1048;
+ rType = 0;
+ vrLen = 509;
+ vrLoc = 124;
+ };
+ 0E044ED712B2795D001DA774 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 94";
+ rLen = 0;
+ rLoc = 1946;
+ rType = 0;
+ vrLen = 818;
+ vrLoc = 1208;
+ };
+ 0E044ED812B2795D001DA774 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05CB112B14956009C18E8 /* GameView.rb */;
+ name = "GameView.rb: 45";
+ rLen = 0;
+ rLoc = 997;
+ rType = 0;
+ vrLen = 744;
+ vrLoc = 258;
+ };
+ 0E044ED912B2795D001DA774 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB9512B24C6100296022 /* Plane.rb */;
+ name = "Plane.rb: 28";
+ rLen = 0;
+ rLoc = 662;
+ rType = 0;
+ vrLen = 895;
+ vrLoc = 0;
+ };
+ 0E044EEA12B27992001DA774 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */;
+ name = "GameLoop.rb: 37";
+ rLen = 0;
+ rLoc = 846;
+ rType = 0;
+ vrLen = 936;
+ vrLoc = 24;
+ };
+ 0E044F0412B27A02001DA774 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05D5F12B1703A009C18E8 /* GameWindowController.rb */;
+ name = "GameWindowController.rb: 21";
+ rLen = 0;
+ rLoc = 390;
+ rType = 0;
+ vrLen = 528;
+ vrLoc = 0;
+ };
+ 0E044F0512B27A02001DA774 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0E2BDBC012B267D400D634EE /* Team.rb */;
+ name = "Team.rb: 14";
+ rLen = 0;
+ rLoc = 298;
+ rType = 0;
+ vrLen = 393;
+ vrLoc = 0;
+ };
+ 0E044F2E12B27B1E001DA774 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 96";
+ rLen = 0;
+ rLoc = 1947;
+ rType = 0;
+ vrLen = 832;
+ vrLoc = 1208;
+ };
+ 0E2BDBC012B267D400D634EE /* Team.rb */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {613, 607}}";
+ sepNavSelRange = "{135, 0}";
+ sepNavVisRange = "{0, 407}";
+ };
+ };
+ 0E2BDC3612B26E9800D634EE /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05D8012B17201009C18E8 /* Scene.rb */;
+ name = "Scene.rb: 11";
+ rLen = 0;
+ rLoc = 173;
+ rType = 0;
+ vrLen = 487;
+ vrLoc = 0;
+ };
+ 0E2BDC3712B26E9800D634EE /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DB512B17440009C18E8 /* Placable.rb */;
+ name = "Placable.rb: 18";
+ rLen = 11;
+ rLoc = 264;
+ rType = 0;
+ vrLen = 498;
+ vrLoc = 0;
+ };
+ 0E2BDC3812B26E9800D634EE /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB4112B24A0700296022 /* Movable.rb */;
+ name = "Movable.rb: 32";
+ rLen = 4;
+ rLoc = 730;
+ rType = 0;
+ vrLen = 956;
+ vrLoc = 67;
+ };
+ 0E2BDC4312B26F4600D634EE /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4DE339F60D74FCDD00ADB6EE /* rb_main.rb */;
+ name = "rb_main.rb: 18";
+ rLen = 0;
+ rLoc = 529;
+ rType = 0;
+ vrLen = 616;
+ vrLoc = 0;
+ };
+ 0ED8FA8E12B2423700296022 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FA8F12B2423700296022 /* CGLContext.h */;
+ name = "CGLContext.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 557;
+ vrLoc = 0;
+ };
+ 0ED8FA8F12B2423700296022 /* CGLContext.h */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = CGLContext.h;
+ path = /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenGL.framework/Headers/CGLContext.h;
+ sourceTree = "<absolute>";
+ };
+ 0ED8FA9012B2423700296022 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FA9112B2423700296022 /* CGLCurrent.h */;
+ name = "CGLCurrent.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 381;
+ vrLoc = 0;
+ };
+ 0ED8FA9112B2423700296022 /* CGLCurrent.h */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = CGLCurrent.h;
+ path = /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenGL.framework/Headers/CGLCurrent.h;
+ sourceTree = "<absolute>";
+ };
+ 0ED8FA9212B2423700296022 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FA9312B2423700296022 /* gluMacro.h */;
+ name = "gluMacro.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 1591;
+ vrLoc = 0;
+ };
+ 0ED8FA9312B2423700296022 /* gluMacro.h */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = gluMacro.h;
+ path = /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gluMacro.h;
+ sourceTree = "<absolute>";
+ };
+ 0ED8FA9412B2423700296022 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FA9512B2423700296022 /* gluContext.h */;
+ name = "gluContext.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 1717;
+ vrLoc = 0;
+ };
+ 0ED8FA9512B2423700296022 /* gluContext.h */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = gluContext.h;
+ path = /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gluContext.h;
+ sourceTree = "<absolute>";
+ };
+ 0ED8FA9612B2423700296022 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FA9712B2423700296022 /* glu.h */;
+ name = "glu.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 1177;
+ vrLoc = 0;
+ };
+ 0ED8FA9712B2423700296022 /* glu.h */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = glu.h;
+ path = /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenGL.framework/Headers/glu.h;
+ sourceTree = "<absolute>";
+ };
+ 0ED8FA9812B2423700296022 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FA9912B2423700296022 /* gliDispatch.h */;
+ name = "gliDispatch.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 1658;
+ vrLoc = 0;
+ };
+ 0ED8FA9912B2423700296022 /* gliDispatch.h */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = gliDispatch.h;
+ path = /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gliDispatch.h;
+ sourceTree = "<absolute>";
+ };
+ 0ED8FA9A12B2423700296022 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FA9B12B2423700296022 /* OpenGL.h */;
+ name = "OpenGL.h: 21";
+ rLen = 0;
+ rLoc = 295;
+ rType = 0;
+ vrLen = 1316;
+ vrLoc = 0;
+ };
+ 0ED8FA9B12B2423700296022 /* OpenGL.h */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = OpenGL.h;
+ path = /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/OpenGL.h;
+ sourceTree = "<absolute>";
+ };
+ 0ED8FB4112B24A0700296022 /* Movable.rb */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {613, 736}}";
+ sepNavSelRange = "{654, 0}";
+ sepNavVisRange = "{125, 959}";
+ };
+ };
+ 0ED8FB9512B24C6100296022 /* Plane.rb */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {613, 608}}";
+ sepNavSelRange = "{156, 0}";
+ sepNavVisRange = "{0, 895}";
+ };
+ };
+ 0ED8FBAC12B24FAF00296022 /* Enemy.rb */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {613, 1792}}";
+ sepNavSelRange = "{784, 15}";
+ sepNavVisRange = "{667, 925}";
+ sepNavWindowFrame = "{{15, 82}, {1178, 791}}";
+ };
+ };
+ 0EE90CD612B27B3B00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 96";
+ rLen = 0;
+ rLoc = 1947;
+ rType = 0;
+ vrLen = 794;
+ vrLoc = 1243;
+ };
+ 0EE90CE612B27B4B00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 90";
+ rLen = 0;
+ rLoc = 1736;
+ rType = 0;
+ vrLen = 806;
+ vrLoc = 1243;
+ };
+ 0EE90CEA12B27B5900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 80";
+ rLen = 0;
+ rLoc = 1522;
+ rType = 0;
+ vrLen = 806;
+ vrLoc = 1243;
+ };
+ 0EE90CF012B27C8B00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 79";
+ rLen = 0;
+ rLoc = 1520;
+ rType = 0;
+ vrLen = 852;
+ vrLoc = 1186;
+ };
+ 0EE90CF812B27CF800578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */;
+ name = "GameLoop.rb: 37";
+ rLen = 0;
+ rLoc = 846;
+ rType = 0;
+ vrLen = 892;
+ vrLoc = 68;
+ };
+ 0EE90CF912B27CF800578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05D5F12B1703A009C18E8 /* GameWindowController.rb */;
+ name = "GameWindowController.rb: 21";
+ rLen = 0;
+ rLoc = 412;
+ rType = 0;
+ vrLen = 539;
+ vrLoc = 0;
+ };
+ 0EE90CFA12B27CF800578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB9512B24C6100296022 /* Plane.rb */;
+ name = "Plane.rb: 28";
+ rLen = 0;
+ rLoc = 662;
+ rType = 0;
+ vrLen = 895;
+ vrLoc = 0;
+ };
+ 0EE90CFB12B27CF800578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 21";
+ rLen = 0;
+ rLoc = 373;
+ rType = 0;
+ vrLen = 753;
+ vrLoc = 1415;
+ };
+ 0EE90CFC12B27CF800578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 15";
+ rLen = 0;
+ rLoc = 298;
+ rType = 0;
+ vrLen = 567;
+ vrLoc = 66;
+ };
+ 0EE90CFD12B27CF800578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB4112B24A0700296022 /* Movable.rb */;
+ name = "Movable.rb: 26";
+ rLen = 0;
+ rLoc = 643;
+ rType = 0;
+ vrLen = 923;
+ vrLoc = 124;
+ };
+ 0EE90D0112B27E2800578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB4112B24A0700296022 /* Movable.rb */;
+ name = "Movable.rb: 26";
+ rLen = 0;
+ rLoc = 643;
+ rType = 0;
+ vrLen = 925;
+ vrLoc = 122;
+ };
+ 0EE90D0212B27E2800578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */;
+ name = "GameLoop.rb: 32";
+ rLen = 0;
+ rLoc = 771;
+ rType = 0;
+ vrLen = 934;
+ vrLoc = 26;
+ };
+ 0EE90D0612B27E3500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */;
+ name = "GameLoop.rb: 27";
+ rLen = 0;
+ rLoc = 633;
+ rType = 0;
+ vrLen = 936;
+ vrLoc = 26;
+ };
+ 0EE90D0A12B27E3D00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */;
+ name = "GameLoop.rb: 32";
+ rLen = 0;
+ rLoc = 771;
+ rType = 0;
+ vrLen = 934;
+ vrLoc = 26;
+ };
+ 0EE90D0E12B27EE900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05D5F12B1703A009C18E8 /* GameWindowController.rb */;
+ name = "GameWindowController.rb: 22";
+ rLen = 0;
+ rLoc = 456;
+ rType = 0;
+ vrLen = 539;
+ vrLoc = 0;
+ };
+ 0EE90D0F12B27EE900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */;
+ name = "GameLoop.rb: 36";
+ rLen = 0;
+ rLoc = 832;
+ rType = 0;
+ vrLen = 837;
+ vrLoc = 123;
+ };
+ 0EE90D1012B27EE900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 15";
+ rLen = 0;
+ rLoc = 298;
+ rType = 0;
+ vrLen = 567;
+ vrLoc = 66;
+ };
+ 0EE90D1112B27EE900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 87";
+ rLen = 0;
+ rLoc = 1666;
+ rType = 0;
+ vrLen = 753;
+ vrLoc = 1415;
+ };
+ 0EE90D1512B27F0100578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 87";
+ rLen = 0;
+ rLoc = 1666;
+ rType = 0;
+ vrLen = 753;
+ vrLoc = 1415;
+ };
+ 0EE90D1912B27F0900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 87";
+ rLen = 0;
+ rLoc = 1666;
+ rType = 0;
+ vrLen = 753;
+ vrLoc = 1415;
+ };
+ 0EE90D1D12B27F2300578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 87";
+ rLen = 0;
+ rLoc = 1667;
+ rType = 0;
+ vrLen = 753;
+ vrLoc = 1415;
+ };
+ 0EE90D2112B27F3C00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 91";
+ rLen = 0;
+ rLoc = 1753;
+ rType = 0;
+ vrLen = 757;
+ vrLoc = 1415;
+ };
+ 0EE90D2512B2809500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 91";
+ rLen = 0;
+ rLoc = 1753;
+ rType = 0;
+ vrLen = 757;
+ vrLoc = 1415;
+ };
+ 0EE90D2A12B2816400578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 89";
+ rLen = 0;
+ rLoc = 1718;
+ rType = 0;
+ vrLen = 585;
+ vrLoc = 0;
+ };
+ 0EE90D2B12B2816400578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 15";
+ rLen = 0;
+ rLoc = 298;
+ rType = 0;
+ vrLen = 609;
+ vrLoc = 24;
+ };
+ 0EE90D2C12B2816400578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 33";
+ rLen = 0;
+ rLoc = 798;
+ rType = 0;
+ vrLen = 583;
+ vrLoc = 124;
+ };
+ 0EE90D2F12B281C000578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 33";
+ rLen = 0;
+ rLoc = 798;
+ rType = 0;
+ vrLen = 583;
+ vrLoc = 124;
+ };
+ 0EE90D3012B281C000578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4DE339F60D74FCDD00ADB6EE /* rb_main.rb */;
+ name = "rb_main.rb: 16";
+ rLen = 0;
+ rLoc = 430;
+ rType = 0;
+ vrLen = 622;
+ vrLoc = 0;
+ };
+ 0EE90D3112B281C000578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB4112B24A0700296022 /* Movable.rb */;
+ name = "Movable.rb: 26";
+ rLen = 0;
+ rLoc = 643;
+ rType = 0;
+ vrLen = 925;
+ vrLoc = 122;
+ };
+ 0EE90D3212B281C000578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 9";
+ rLen = 0;
+ rLoc = 141;
+ rType = 0;
+ vrLen = 587;
+ vrLoc = 0;
+ };
+ 0EE90D3812B281E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 10";
+ rLen = 0;
+ rLoc = 162;
+ rType = 0;
+ vrLen = 564;
+ vrLoc = 0;
+ };
+ 0EE90D3912B281E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05D8012B17201009C18E8 /* Scene.rb */;
+ name = "Scene.rb: 11";
+ rLen = 0;
+ rLoc = 173;
+ rType = 0;
+ vrLen = 487;
+ vrLoc = 0;
+ };
+ 0EE90D3A12B281E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 8";
+ rLen = 37;
+ rLoc = 122;
+ rType = 0;
+ vrLen = 585;
+ vrLoc = 0;
+ };
+ 0EE90D3B12B281E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0E2BDBC012B267D400D634EE /* Team.rb */;
+ name = "Team.rb: 8";
+ rLen = 0;
+ rLoc = 135;
+ rType = 0;
+ vrLen = 407;
+ vrLoc = 0;
+ };
+ 0EE90D3C12B281E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4DE339F60D74FCDD00ADB6EE /* rb_main.rb */;
+ name = "rb_main.rb: 16";
+ rLen = 0;
+ rLoc = 430;
+ rType = 0;
+ vrLen = 622;
+ vrLoc = 0;
+ };
+ 0EE90D3D12B281E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4DE339F60D74FCDD00ADB6EE /* rb_main.rb */;
+ name = "rb_main.rb: 16";
+ rLen = 0;
+ rLoc = 428;
+ rType = 0;
+ vrLen = 616;
+ vrLoc = 0;
+ };
+ 0EE90D4012B2820900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4DE339F60D74FCDD00ADB6EE /* rb_main.rb */;
+ name = "rb_main.rb: 16";
+ rLen = 0;
+ rLoc = 428;
+ rType = 0;
+ vrLen = 616;
+ vrLoc = 0;
+ };
+ 0EE90D4112B2820900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DB512B17440009C18E8 /* Placable.rb */;
+ name = "Placable.rb: 18";
+ rLen = 11;
+ rLoc = 264;
+ rType = 0;
+ vrLen = 498;
+ vrLoc = 0;
+ };
+ 0EE90D4212B2820900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB9512B24C6100296022 /* Plane.rb */;
+ name = "Plane.rb: 28";
+ rLen = 0;
+ rLoc = 662;
+ rType = 0;
+ vrLen = 895;
+ vrLoc = 0;
+ };
+ 0EE90D4312B2820900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB4112B24A0700296022 /* Movable.rb */;
+ name = "Movable.rb: 26";
+ rLen = 0;
+ rLoc = 643;
+ rType = 0;
+ vrLen = 861;
+ vrLoc = 0;
+ };
+ 0EE90D4412B2820900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 8";
+ rLen = 37;
+ rLoc = 122;
+ rType = 0;
+ vrLen = 585;
+ vrLoc = 0;
+ };
+ 0EE90D4512B2820900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0E2BDBC012B267D400D634EE /* Team.rb */;
+ name = "Team.rb: 8";
+ rLen = 0;
+ rLoc = 135;
+ rType = 0;
+ vrLen = 407;
+ vrLoc = 0;
+ };
+ 0EE90D4612B2820900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 13";
+ rLen = 0;
+ rLoc = 204;
+ rType = 0;
+ vrLen = 562;
+ vrLoc = 0;
+ };
+ 0EE90D4B12B2821700578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 12";
+ rLen = 7;
+ rLoc = 178;
+ rType = 0;
+ vrLen = 545;
+ vrLoc = 0;
+ };
+ 0EE90D4F12B2822500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 9";
+ rLen = 0;
+ rLoc = 144;
+ rType = 0;
+ vrLen = 547;
+ vrLoc = 0;
+ };
+ 0EE90D5312B2822900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 13";
+ rLen = 0;
+ rLoc = 208;
+ rType = 0;
+ vrLen = 546;
+ vrLoc = 0;
+ };
+ 0EE90D5D12B2838100578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB4112B24A0700296022 /* Movable.rb */;
+ name = "Movable.rb: 12";
+ rLen = 0;
+ rLoc = 229;
+ rType = 0;
+ vrLen = 861;
+ vrLoc = 0;
+ };
+ 0EE90D5E12B2838100578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0E2BDBC012B267D400D634EE /* Team.rb */;
+ name = "Team.rb: 8";
+ rLen = 0;
+ rLoc = 135;
+ rType = 0;
+ vrLen = 407;
+ vrLoc = 0;
+ };
+ 0EE90D5F12B2838100578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05D8012B17201009C18E8 /* Scene.rb */;
+ name = "Scene.rb: 19";
+ rLen = 0;
+ rLoc = 454;
+ rType = 0;
+ vrLen = 487;
+ vrLoc = 0;
+ };
+ 0EE90D6012B2838100578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */;
+ name = "GameLoop.rb: 36";
+ rLen = 0;
+ rLoc = 832;
+ rType = 0;
+ vrLen = 934;
+ vrLoc = 26;
+ };
+ 0EE90D6112B2838100578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FBAC12B24FAF00296022 /* Enemy.rb */;
+ name = "Enemy.rb: 87";
+ rLen = 342;
+ rLoc = 1668;
+ rType = 0;
+ vrLen = 785;
+ vrLoc = 1383;
+ };
+ 0EE90D6212B2838100578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 35";
+ rLen = 6;
+ rLoc = 798;
+ rType = 0;
+ vrLen = 565;
+ vrLoc = 0;
+ };
+ 0EE90D6312B2838100578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 36";
+ rLen = 0;
+ rLoc = 798;
+ rType = 0;
+ vrLen = 578;
+ vrLoc = 309;
+ };
+ 0EE90D6712B2838A00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 35";
+ rLen = 0;
+ rLoc = 798;
+ rType = 0;
+ vrLen = 555;
+ vrLoc = 195;
+ };
+ 0EE90D6B12B283E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB9512B24C6100296022 /* Plane.rb */;
+ name = "Plane.rb: 10";
+ rLen = 0;
+ rLoc = 156;
+ rType = 0;
+ vrLen = 895;
+ vrLoc = 0;
+ };
+ 0EE90D6C12B283E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 38";
+ rLen = 0;
+ rLoc = 679;
+ rType = 0;
+ vrLen = 592;
+ vrLoc = 290;
+ };
+ 0EE90D6D12B283E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 39";
+ rLen = 0;
+ rLoc = 758;
+ rType = 0;
+ vrLen = 621;
+ vrLoc = 265;
+ };
+ 0EE90D7112B283EF00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 40";
+ rLen = 0;
+ rLoc = 767;
+ rType = 0;
+ vrLen = 621;
+ vrLoc = 265;
+ };
+ 0EE90D7512B2840900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 39";
+ rLen = 0;
+ rLoc = 758;
+ rType = 0;
+ vrLen = 621;
+ vrLoc = 265;
+ };
+ 0EE90D7912B2842500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 38";
+ rLen = 0;
+ rLoc = 679;
+ rType = 0;
+ vrLen = 624;
+ vrLoc = 265;
+ };
+ 0EE90D7D12B2842A00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 37";
+ rLen = 0;
+ rLoc = 626;
+ rType = 0;
+ vrLen = 625;
+ vrLoc = 265;
+ };
+ 0EE90D8112B2842F00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 37";
+ rLen = 0;
+ rLoc = 626;
+ rType = 0;
+ vrLen = 625;
+ vrLoc = 265;
+ };
+ 0EE90D8512B2843900578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 39";
+ rLen = 0;
+ rLoc = 751;
+ rType = 0;
+ vrLen = 627;
+ vrLoc = 265;
+ };
+ 0EE90D8912B2844C00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 38";
+ rLen = 0;
+ rLoc = 679;
+ rType = 0;
+ vrLen = 627;
+ vrLoc = 265;
+ };
+ 0EE90D8D12B2845E00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 29";
+ rLen = 0;
+ rLoc = 475;
+ rType = 0;
+ vrLen = 627;
+ vrLoc = 265;
+ };
+ 0EE90D9312B2859100578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 38";
+ rLen = 0;
+ rLoc = 679;
+ rType = 0;
+ vrLen = 595;
+ vrLoc = 329;
+ };
+ 0EE90D9712B285B700578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 43";
+ rLen = 0;
+ rLoc = 779;
+ rType = 0;
+ vrLen = 630;
+ vrLoc = 290;
+ };
+ 0EE90D9B12B285CF00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 44";
+ rLen = 0;
+ rLoc = 797;
+ rType = 0;
+ vrLen = 619;
+ vrLoc = 290;
+ };
+ 0EE90D9F12B285D800578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 29";
+ rLen = 0;
+ rLoc = 475;
+ rType = 0;
+ vrLen = 645;
+ vrLoc = 248;
+ };
+ 0EE90DA312B285E500578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 39";
+ rLen = 0;
+ rLoc = 679;
+ rType = 0;
+ vrLen = 647;
+ vrLoc = 248;
+ };
+ 0EE90DA712B285ED00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 39";
+ rLen = 0;
+ rLoc = 679;
+ rType = 0;
+ vrLen = 647;
+ vrLoc = 248;
+ };
+ 0EE90DAB12B2861600578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB9512B24C6100296022 /* Plane.rb */;
+ name = "Plane.rb: 10";
+ rLen = 0;
+ rLoc = 156;
+ rType = 0;
+ vrLen = 893;
+ vrLoc = 2;
+ };
+ 0EE90DAC12B2861600578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05CB612B14A4A009C18E8 /* GameLoop.rb */;
+ name = "GameLoop.rb: 36";
+ rLen = 0;
+ rLoc = 832;
+ rType = 0;
+ vrLen = 930;
+ vrLoc = 26;
+ };
+ 0EE90DAD12B2861600578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 39";
+ rLen = 0;
+ rLoc = 679;
+ rType = 0;
+ vrLen = 647;
+ vrLoc = 248;
+ };
+ 0EE90DAE12B2861600578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 30";
+ rLen = 0;
+ rLoc = 475;
+ rType = 0;
+ vrLen = 606;
+ vrLoc = 247;
+ };
+ 0EE90DB212B2862B00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0EF05DAE12B173C0009C18E8 /* Player.rb */;
+ name = "Player.rb: 26";
+ rLen = 0;
+ rLoc = 400;
+ rType = 0;
+ vrLen = 607;
+ vrLoc = 247;
+ };
+ 0EE90DB712B2867A00578C78 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 0ED8FB4112B24A0700296022 /* Movable.rb */;