You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(100) |
Sep
(123) |
Oct
(22) |
Nov
(4) |
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(18) |
Feb
|
Mar
(5) |
Apr
(23) |
May
(77) |
Jun
(17) |
Jul
(105) |
Aug
(24) |
Sep
(24) |
Oct
(16) |
Nov
(9) |
Dec
(4) |
2003 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(10) |
Jul
(4) |
Aug
(7) |
Sep
|
Oct
|
Nov
|
Dec
(3) |
2004 |
Jan
|
Feb
(1) |
Mar
(50) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: David F. <re...@us...> - 2004-03-07 02:58:16
|
Update of /cvsroot/inkubator/TheInkubator/Editor/English.lproj/MainMenu.nib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4745/Editor/English.lproj/MainMenu.nib Added Files: classes.nib info.nib objects.nib Log Message: Initial Files Added --- NEW FILE: classes.nib --- { IBClasses = ( {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, { CLASS = GLView; LANGUAGE = ObjC; OUTLETS = {gamePropertiesManager = GamePropertiesManager; }; SUPERCLASS = NSOpenGLView; }, { ACTIONS = {gameNameTextFieldChanged = id; }; CLASS = GamePropertiesManager; LANGUAGE = ObjC; OUTLETS = { currentGameTextField = NSTextField; gameNameTextField = NSTextField; sceneResourceManager = SceneResourceManager; textureResourceManager = TextureResourceManager; }; SUPERCLASS = PropertiesManager; }, { ACTIONS = {editModeSelectionChanged = id; load = id; save = id; }; CLASS = Interface; LANGUAGE = ObjC; OUTLETS = { editModePopUpButton = NSPopUpButton; gamePropertiesManager = GamePropertiesManager; glView = NSView; glWindow = NSWindow; loadMenuItem = NSMenuItem; newMenuItem = NSMenuItem; propertiesView = NSTabView; saveAsMenuItem = NSMenuItem; saveMenuItem = NSMenuItem; scenePropertiesManager = ScenePropertiesManager; }; SUPERCLASS = NSResponder; }, { CLASS = PropertiesManager; LANGUAGE = ObjC; OUTLETS = {mainWindow = NSWindow; }; SUPERCLASS = NSResponder; }, { ACTIONS = {selectBackgroundColorButtonPressed = id; }; CLASS = ScenePropertiesManager; LANGUAGE = ObjC; OUTLETS = {backgroundColorWell = NSColorWell; currentSceneTextField = NSTextField; }; SUPERCLASS = PropertiesManager; }, { CLASS = SceneResourceManager; LANGUAGE = ObjC; OUTLETS = {scenesTableView = NSTableView; }; SUPERCLASS = NSObject; }, { CLASS = TextureResourceManager; LANGUAGE = ObjC; OUTLETS = {texturesTableView = NSTableView; }; SUPERCLASS = NSObject; } ); IBVersion = 1; } --- NEW FILE: info.nib --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>IBDocumentLocation</key> <string>367 45 356 240 0 0 1280 938 </string> <key>IBEditorPositions</key> <dict> <key>29</key> <string>79 331 281 44 0 0 1280 938 </string> </dict> <key>IBFramework Version</key> <string>349.0</string> <key>IBOpenObjects</key> <array> <integer>29</integer> <integer>382</integer> <integer>21</integer> </array> <key>IBSystem Version</key> <string>7D24</string> </dict> </plist> --- NEW FILE: objects.nib --- typedstreamè@NSIBObjectData ²$[36c] NSMenuItemNSMenu OtherViews¤ÎÏ i@@IIi@@@@:i@ ® NSClipView: NSScroller ä x " Ä x Game Name:º ¯ è©þ Ä è©þ Ä +Ò +Ò :Ê ¯ è©þ Ä +Ò Select Alla Ä è©þ Ä NLTextureResourceManager qo NSButton32 NSMenuItemNSButton311 NSButton31NSMenuItem1ðNSViewLNSView NSButton32.NSMenuItem2 ¡XNSTextField2 NSButton32NSMenuItem4 NSMenuItem NSTextField12 NSMenuItem2õNSViewyNSTableView NSMenuItemU NSTextField11 NSButton21[NSTextField1111NSTableColumn1 NSTabView1NSScrollView12 NSMenuItemÍNSMenuItem2 NSMenuItemJ NSTabViewItemr NSButton1 terminate:µ selectAll:µ undo:µ copy:µ8 showGuessPanel:µ; checkSpelling:µ> toggleContinuousSpellChecking:µ delete:NSNibOutletConnector mainWindowµQgameNameTextFieldChanged::µigamePropertiesManager:µ¦gamePropertiesManager:µQ¦nextKeyViewµ mainWindowµ dataSource:µ scenesTableView:µ m:µ sceneResourceManager |
From: David F. <re...@us...> - 2004-03-07 02:58:15
|
Update of /cvsroot/inkubator/TheInkubator/Editor/English.lproj/MainMenu~.nib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4745/Editor/English.lproj/MainMenu~.nib Added Files: classes.nib info.nib objects.nib Log Message: Initial Files Added --- NEW FILE: classes.nib --- { IBClasses = ( {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, { CLASS = GLView; LANGUAGE = ObjC; OUTLETS = {gamePropertiesManager = GamePropertiesManager; }; SUPERCLASS = NSOpenGLView; }, { ACTIONS = {gameNameTextFieldChanged = id; }; CLASS = GamePropertiesManager; LANGUAGE = ObjC; OUTLETS = { currentGameTextField = NSTextField; gameNameTextField = NSTextField; textureResourceManager = TextureResourceManager; }; SUPERCLASS = PropertiesManager; }, { ACTIONS = {editModeSelectionChanged = id; load = id; save = id; }; CLASS = Interface; LANGUAGE = ObjC; OUTLETS = { editModePopUpButton = NSPopUpButton; gamePropertiesManager = GamePropertiesManager; glView = NSView; glWindow = NSWindow; loadMenuItem = NSMenuItem; newMenuItem = NSMenuItem; propertiesView = NSTabView; saveAsMenuItem = NSMenuItem; saveMenuItem = NSMenuItem; scenePropertiesManager = ScenePropertiesManager; }; SUPERCLASS = NSResponder; }, { CLASS = PropertiesManager; LANGUAGE = ObjC; OUTLETS = {mainWindow = NSWindow; }; SUPERCLASS = NSResponder; }, { ACTIONS = {selectBackgroundColorButtonPressed = id; }; CLASS = ScenePropertiesManager; LANGUAGE = ObjC; OUTLETS = {backgroundColorWell = NSColorWell; currentSceneTextField = NSTextField; }; SUPERCLASS = PropertiesManager; }, { CLASS = TextureResourceManager; LANGUAGE = ObjC; OUTLETS = {texturesTableView = NSTableView; }; SUPERCLASS = NSObject; } ); IBVersion = 1; } --- NEW FILE: info.nib --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>IBDocumentLocation</key> <string>324 84 356 240 0 0 1280 938 </string> <key>IBEditorPositions</key> <dict> <key>29</key> <string>79 331 281 44 0 0 1280 938 </string> </dict> <key>IBFramework Version</key> <string>349.0</string> <key>IBOpenObjects</key> <array> <integer>29</integer> <integer>382</integer> <integer>21</integer> </array> <key>IBSystem Version</key> <string>7D24</string> </dict> </plist> --- NEW FILE: objects.nib --- typedstreamè@NSIBObjectData ²$[36c] NSMenuItemNSMenu OtherViews¤ÎÏ i@@IIi@@@@:i@ ® NSClipView: NSScroller ä Game Name:º ¯ è©þ Ä è©þ Ä Ò Ò :Ê ¯ è©þ Ä Ò Select Alla Ä è©þ Ä NSMenuItemNSButton311 NSButton31NSMenuItem1ðNSView7NSView NSButton32%NSMenuItem2CNSTextField2 NSButton32NSMenuItem4 NSMenuItem NSTextField12 NSMenuItem@ NSTextField11 NSButton21FNSTextField111 NSTableColumn1 NSTabView1 NSMenuItemÍNSMenuItem2 NSMenuItem5 NSTabViewItemi NSButton1 terminate:µ selectAll:µ undo:µ copy:µ/ showGuessPanel:µ2 checkSpelling:µ5 toggleContinuousSpellChecking:µ delete:NSNibOutletConnector mainWindowµ< gameNameTextFieldChanged:.µ` gamePropertiesManager.µ¦ gamePropertiesManager.µ<¦nextKeyViewµ mainWindowµ dataSource |
From: David F. <re...@us...> - 2004-03-07 02:57:09
|
Update of /cvsroot/inkubator/TheInkubator/Editor/English.lproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4573/Editor/English.lproj Added Files: InfoPlist.strings Log Message: Initial Files Added --- NEW FILE: InfoPlist.strings --- þÿ |
From: David F. <re...@us...> - 2004-03-07 02:56:46
|
Update of /cvsroot/inkubator/TheInkubator/Editor/English.lproj/MainMenu.nib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4549/Editor/English.lproj/MainMenu.nib Log Message: Directory /cvsroot/inkubator/TheInkubator/Editor/English.lproj/MainMenu.nib added to the repository |
From: David F. <re...@us...> - 2004-03-07 02:56:46
|
Update of /cvsroot/inkubator/TheInkubator/Editor/English.lproj/MainMenu~.nib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4549/Editor/English.lproj/MainMenu~.nib Log Message: Directory /cvsroot/inkubator/TheInkubator/Editor/English.lproj/MainMenu~.nib added to the repository |
From: David F. <re...@us...> - 2004-03-07 02:56:03
|
Update of /cvsroot/inkubator/TheInkubator/Editor/Inkubator.pbproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4440/Editor/Inkubator.pbproj Added Files: davidframpton.pbxuser project.pbxproj Log Message: Initial Files Added --- NEW FILE: davidframpton.pbxuser --- // !$*UTF8*$! { 089C165DFE840E0CC02AAC07 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {939, 565}}"; sepNavSelRange = "{0, 0}"; sepNavVisRect = "{{0, 0}, {939, 565}}"; }; }; 29B97313FDCFA39411CA2CEA = { activeBuildStyle = 4A9504CCFFE6A4B311CA0CBA; activeExecutable = 5B029BA605F9573900872141; activeTarget = 29B97326FDCFA39411CA2CEA; addToTargets = ( 29B97326FDCFA39411CA2CEA, ); breakpoints = ( ); codeSenseManager = 5B029BB805F9576900872141; [...1303 lines suppressed...] sepNavWindowFrame = "{{136, 312}, {750, 558}}"; }; }; 63E6938D05DF2DD3004F6871 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {939, 569}}"; sepNavSelRange = "{314, 36}"; sepNavVisRect = "{{0, 0}, {939, 569}}"; sepNavWindowFrame = "{{67, 375}, {750, 558}}"; }; }; 63E6938E05DF2DD3004F6871 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {939, 1973}}"; sepNavSelRange = "{1158, 73}"; sepNavVisRect = "{{0, 269}, {939, 569}}"; sepNavWindowFrame = "{{228, 228}, {750, 558}}"; }; }; } --- NEW FILE: project.pbxproj --- // !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 39; objects = { 080E96DCFE201CFB7F000001 = { fileRef = 29B97318FDCFA39411CA2CEA; isa = PBXBuildFile; settings = { }; }; 080E96DDFE201D6D7F000001 = { children = ( 638E96F805DF1F32004F6871, 638E96F905DF1F32004F6871, 638E96DC05DF1F27004F6871, 638E96DD05DF1F27004F6871, 638E96DE05DF1F27004F6871, 638E96DF05DF1F27004F6871, 638E96E005DF1F27004F6871, 638E96E105DF1F27004F6871, 638E96E205DF1F27004F6871, 638E96E305DF1F27004F6871, 638E96E405DF1F27004F6871, 638E96E505DF1F27004F6871, 638E96E605DF1F27004F6871, 638E96E705DF1F27004F6871, 638E96E805DF1F27004F6871, 63E6938905DF2DC6004F6871, 63E6938A05DF2DC6004F6871, 63E6938D05DF2DD3004F6871, 63E6938E05DF2DD3004F6871, 5B6FD93105F975CA006CD166, 5B6FD93205F975CA006CD166, 5BAC21FD05FA802700FAB7AB, 5BAC21FE05FA802700FAB7AB, 5BAC22F605FA8B5A00FAB7AB, 5BAC22F705FA8B5A00FAB7AB, ); isa = PBXGroup; name = Classes; refType = 4; sourceTree = "<group>"; }; 089C165CFE840E0CC02AAC07 = { children = ( 089C165DFE840E0CC02AAC07, ); isa = PBXVariantGroup; name = InfoPlist.strings; refType = 4; sourceTree = "<group>"; }; 089C165DFE840E0CC02AAC07 = { fileEncoding = 10; isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; refType = 4; sourceTree = "<group>"; }; 089C165EFE840E0CC02AAC07 = { fileRef = 089C165CFE840E0CC02AAC07; isa = PBXBuildFile; settings = { }; }; //080 //081 //082 //083 //084 //100 //101 //102 //103 //104 1058C7A0FEA54F0111CA2CBB = { children = ( 1058C7A1FEA54F0111CA2CBB, ); isa = PBXGroup; name = "Linked Frameworks"; refType = 4; sourceTree = "<group>"; }; 1058C7A1FEA54F0111CA2CBB = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; refType = 0; sourceTree = "<absolute>"; }; 1058C7A2FEA54F0111CA2CBB = { children = ( 29B97325FDCFA39411CA2CEA, 29B97324FDCFA39411CA2CEA, ); isa = PBXGroup; name = "Other Frameworks"; refType = 4; sourceTree = "<group>"; }; 1058C7A3FEA54F0111CA2CBB = { fileRef = 1058C7A1FEA54F0111CA2CBB; isa = PBXBuildFile; settings = { }; }; //100 //101 //102 //103 //104 //170 //171 //172 //173 //174 17587328FF379C6511CA2CBB = { explicitFileType = wrapper.application; fallbackIsa = PBXFileReference; isa = PBXApplicationReference; path = Inkubator.app; refType = 3; sourceTree = BUILT_PRODUCTS_DIR; }; //170 //171 //172 //173 //174 //190 //191 //192 //193 //194 19C28FACFE9D520D11CA2CBB = { children = ( 17587328FF379C6511CA2CBB, ); isa = PBXGroup; name = Products; refType = 4; sourceTree = "<group>"; }; //190 //191 //192 //193 //194 //290 //291 //292 //293 //294 29B97313FDCFA39411CA2CEA = { buildSettings = { }; buildStyles = ( 4A9504CCFFE6A4B311CA0CBA, 4A9504CDFFE6A4B311CA0CBA, ); hasScannedForEncodings = 1; isa = PBXProject; mainGroup = 29B97314FDCFA39411CA2CEA; projectDirPath = ""; targets = ( 29B97326FDCFA39411CA2CEA, ); }; 29B97314FDCFA39411CA2CEA = { children = ( 080E96DDFE201D6D7F000001, 29B97315FDCFA39411CA2CEA, 29B97317FDCFA39411CA2CEA, 29B97323FDCFA39411CA2CEA, 19C28FACFE9D520D11CA2CBB, ); isa = PBXGroup; name = "Inkubator Editor"; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97315FDCFA39411CA2CEA = { children = ( 32CA4F630368D1EE00C91783, 63B0C44805EF27B5004F6871, 29B97316FDCFA39411CA2CEA, ); isa = PBXGroup; name = "Other Sources"; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97316FDCFA39411CA2CEA = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; refType = 4; sourceTree = "<group>"; }; 29B97317FDCFA39411CA2CEA = { children = ( 63E6939505DF46D8004F6871, 29B97318FDCFA39411CA2CEA, 089C165CFE840E0CC02AAC07, ); isa = PBXGroup; name = Resources; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97318FDCFA39411CA2CEA = { children = ( 29B97319FDCFA39411CA2CEA, ); isa = PBXVariantGroup; name = MainMenu.nib; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97319FDCFA39411CA2CEA = { isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; refType = 4; sourceTree = "<group>"; }; 29B97323FDCFA39411CA2CEA = { children = ( 638E96FE05DF26BD004F6871, 638E970805DF26CF004F6871, 1058C7A0FEA54F0111CA2CBB, 1058C7A2FEA54F0111CA2CBB, ); isa = PBXGroup; name = Frameworks; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97324FDCFA39411CA2CEA = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; refType = 0; sourceTree = "<absolute>"; }; 29B97325FDCFA39411CA2CEA = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; refType = 0; sourceTree = "<absolute>"; }; 29B97326FDCFA39411CA2CEA = { buildPhases = ( 29B97327FDCFA39411CA2CEA, 29B97328FDCFA39411CA2CEA, 29B9732BFDCFA39411CA2CEA, 29B9732DFDCFA39411CA2CEA, ); buildSettings = { FRAMEWORK_SEARCH_PATHS = ""; HEADER_SEARCH_PATHS = ""; INSTALL_PATH = "$(HOME)/Applications"; LIBRARY_SEARCH_PATHS = ""; OPTIMIZATION_CFLAGS = "-O0"; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ""; PRECOMPILE_PREFIX_HEADER = YES; PREFIX_HEADER = InkubatorEditor_Prefix.h; PRODUCT_NAME = Inkubator; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; WRAPPER_EXTENSION = app; }; dependencies = ( ); isa = PBXApplicationTarget; name = Inkubator; productInstallPath = "$(HOME)/Applications"; productName = "Inkubator Editor"; productReference = 17587328FF379C6511CA2CBB; productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> <plist version=\"1.0\"> <dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> <string>Inkubator</string> <key>CFBundleIconFile</key> <string></string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>0.1</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> <string>NSApplication</string> </dict> </plist> "; }; 29B97327FDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 32CA4F650368D2AA00C91783, 638E96E905DF1F27004F6871, 638E96EC05DF1F27004F6871, 638E96EE05DF1F27004F6871, 638E96F005DF1F27004F6871, 638E96F205DF1F27004F6871, 638E96F405DF1F27004F6871, 638E96FC05DF1F32004F6871, 63E6938B05DF2DC6004F6871, 63E6938F05DF2DD3004F6871, 63B0C44905EF27B5004F6871, 5B6FD93305F975CA006CD166, 5BAC21FF05FA802700FAB7AB, 5BAC22F805FA8B5A00FAB7AB, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 29B97328FDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 080E96DCFE201CFB7F000001, 089C165EFE840E0CC02AAC07, 63E6939305DF46D1004F6871, 63E6939405DF46D1004F6871, 5B6FD92905F97174006CD166, 5B6FD92A05F97174006CD166, ); isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 29B9732BFDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 29B9732CFDCFA39411CA2CEA, 638E96EA05DF1F27004F6871, 638E96EB05DF1F27004F6871, 638E96ED05DF1F27004F6871, 638E96EF05DF1F27004F6871, 638E96F105DF1F27004F6871, 638E96F305DF1F27004F6871, 638E96F505DF1F27004F6871, 638E96FD05DF1F32004F6871, 63E6938C05DF2DC6004F6871, 63E6939005DF2DD3004F6871, 5B6FD93405F975CA006CD166, 5BAC220005FA802700FAB7AB, 5BAC22F905FA8B5A00FAB7AB, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 29B9732CFDCFA39411CA2CEA = { fileRef = 29B97316FDCFA39411CA2CEA; isa = PBXBuildFile; settings = { ATTRIBUTES = ( ); }; }; 29B9732DFDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 1058C7A3FEA54F0111CA2CBB, 638E96FF05DF26BD004F6871, 638E970905DF26CF004F6871, ); isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; //290 //291 //292 //293 //294 //320 //321 //322 //323 //324 32CA4F630368D1EE00C91783 = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InkubatorEditor_Prefix.h; refType = 4; sourceTree = "<group>"; }; 32CA4F650368D2AA00C91783 = { fileRef = 32CA4F630368D1EE00C91783; isa = PBXBuildFile; settings = { }; }; //320 //321 //322 //323 //324 //4A0 //4A1 //4A2 //4A3 //4A4 4A9504CCFFE6A4B311CA0CBA = { buildRules = ( ); buildSettings = { COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; OPTIMIZATION_CFLAGS = "-O0"; ZERO_LINK = YES; }; isa = PBXBuildStyle; name = Development; }; 4A9504CDFFE6A4B311CA0CBA = { buildRules = ( ); buildSettings = { COPY_PHASE_STRIP = YES; GCC_ENABLE_FIX_AND_CONTINUE = NO; ZERO_LINK = NO; }; isa = PBXBuildStyle; name = Deployment; }; //4A0 //4A1 //4A2 //4A3 //4A4 //5B0 //5B1 //5B2 //5B3 //5B4 5B6FD92705F97174006CD166 = { isa = PBXFileReference; lastKnownFileType = image.png; name = minus.png; path = Images/minus.png; refType = 4; sourceTree = "<group>"; }; 5B6FD92805F97174006CD166 = { isa = PBXFileReference; lastKnownFileType = image.png; name = plus.png; path = Images/plus.png; refType = 4; sourceTree = "<group>"; }; 5B6FD92905F97174006CD166 = { fileRef = 5B6FD92705F97174006CD166; isa = PBXBuildFile; settings = { }; }; 5B6FD92A05F97174006CD166 = { fileRef = 5B6FD92805F97174006CD166; isa = PBXBuildFile; settings = { }; }; 5B6FD93105F975CA006CD166 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScenePropertiesManager.h; refType = 4; sourceTree = "<group>"; }; 5B6FD93205F975CA006CD166 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ScenePropertiesManager.m; refType = 4; sourceTree = "<group>"; }; 5B6FD93305F975CA006CD166 = { fileRef = 5B6FD93105F975CA006CD166; isa = PBXBuildFile; settings = { }; }; 5B6FD93405F975CA006CD166 = { fileRef = 5B6FD93205F975CA006CD166; isa = PBXBuildFile; settings = { }; }; 5BAC21FD05FA802700FAB7AB = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureResourceManager.h; refType = 4; sourceTree = "<group>"; }; 5BAC21FE05FA802700FAB7AB = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TextureResourceManager.m; refType = 4; sourceTree = "<group>"; }; 5BAC21FF05FA802700FAB7AB = { fileRef = 5BAC21FD05FA802700FAB7AB; isa = PBXBuildFile; settings = { }; }; 5BAC220005FA802700FAB7AB = { fileRef = 5BAC21FE05FA802700FAB7AB; isa = PBXBuildFile; settings = { }; }; 5BAC22F605FA8B5A00FAB7AB = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SceneResourceManager.h; refType = 4; sourceTree = "<group>"; }; 5BAC22F705FA8B5A00FAB7AB = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SceneResourceManager.m; refType = 4; sourceTree = "<group>"; }; 5BAC22F805FA8B5A00FAB7AB = { fileRef = 5BAC22F605FA8B5A00FAB7AB; isa = PBXBuildFile; settings = { }; }; 5BAC22F905FA8B5A00FAB7AB = { fileRef = 5BAC22F705FA8B5A00FAB7AB; isa = PBXBuildFile; settings = { }; }; //5B0 //5B1 //5B2 //5B3 //5B4 //630 //631 //632 //633 //634 638E96DC05DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Interface.h; refType = 4; sourceTree = "<group>"; }; 638E96DD05DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Interface.m; refType = 4; sourceTree = "<group>"; }; 638E96DE05DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; refType = 4; sourceTree = "<group>"; }; 638E96DF05DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PreferencePanel.h; refType = 4; sourceTree = "<group>"; }; 638E96E005DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PreferencePanel.m; refType = 4; sourceTree = "<group>"; }; 638E96E105DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Preferences.h; refType = 4; sourceTree = "<group>"; }; 638E96E205DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Preferences.m; refType = 4; sourceTree = "<group>"; }; 638E96E305DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureManager.h; refType = 4; sourceTree = "<group>"; }; 638E96E405DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TextureManager.m; refType = 4; sourceTree = "<group>"; }; 638E96E505DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Timer.h; refType = 4; sourceTree = "<group>"; }; 638E96E605DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Timer.m; refType = 4; sourceTree = "<group>"; }; 638E96E705DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XMLManager.h; refType = 4; sourceTree = "<group>"; }; 638E96E805DF1F27004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XMLManager.m; refType = 4; sourceTree = "<group>"; }; 638E96E905DF1F27004F6871 = { fileRef = 638E96DC05DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96EA05DF1F27004F6871 = { fileRef = 638E96DD05DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96EB05DF1F27004F6871 = { fileRef = 638E96DE05DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96EC05DF1F27004F6871 = { fileRef = 638E96DF05DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96ED05DF1F27004F6871 = { fileRef = 638E96E005DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96EE05DF1F27004F6871 = { fileRef = 638E96E105DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96EF05DF1F27004F6871 = { fileRef = 638E96E205DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96F005DF1F27004F6871 = { fileRef = 638E96E305DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96F105DF1F27004F6871 = { fileRef = 638E96E405DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96F205DF1F27004F6871 = { fileRef = 638E96E505DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96F305DF1F27004F6871 = { fileRef = 638E96E605DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96F405DF1F27004F6871 = { fileRef = 638E96E705DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96F505DF1F27004F6871 = { fileRef = 638E96E805DF1F27004F6871; isa = PBXBuildFile; settings = { }; }; 638E96F805DF1F32004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GLView.h; refType = 4; sourceTree = "<group>"; }; 638E96F905DF1F32004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GLView.m; refType = 4; sourceTree = "<group>"; }; 638E96FC05DF1F32004F6871 = { fileRef = 638E96F805DF1F32004F6871; isa = PBXBuildFile; settings = { }; }; 638E96FD05DF1F32004F6871 = { fileRef = 638E96F905DF1F32004F6871; isa = PBXBuildFile; settings = { }; }; 638E96FE05DF26BD004F6871 = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; refType = 0; sourceTree = "<absolute>"; }; 638E96FF05DF26BD004F6871 = { fileRef = 638E96FE05DF26BD004F6871; isa = PBXBuildFile; settings = { }; }; 638E970805DF26CF004F6871 = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; refType = 0; sourceTree = "<absolute>"; }; 638E970905DF26CF004F6871 = { fileRef = 638E970805DF26CF004F6871; isa = PBXBuildFile; settings = { }; }; 63B0C44805EF27B5004F6871 = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gameModes.h; refType = 4; sourceTree = "<group>"; }; 63B0C44905EF27B5004F6871 = { fileRef = 63B0C44805EF27B5004F6871; isa = PBXBuildFile; settings = { }; }; 63E6938905DF2DC6004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PropertiesManager.h; refType = 4; sourceTree = "<group>"; }; 63E6938A05DF2DC6004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PropertiesManager.m; refType = 4; sourceTree = "<group>"; }; 63E6938B05DF2DC6004F6871 = { fileRef = 63E6938905DF2DC6004F6871; isa = PBXBuildFile; settings = { }; }; 63E6938C05DF2DC6004F6871 = { fileRef = 63E6938A05DF2DC6004F6871; isa = PBXBuildFile; settings = { }; }; 63E6938D05DF2DD3004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GamePropertiesManager.h; refType = 4; sourceTree = "<group>"; }; 63E6938E05DF2DD3004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GamePropertiesManager.m; refType = 4; sourceTree = "<group>"; }; 63E6938F05DF2DD3004F6871 = { fileRef = 63E6938D05DF2DD3004F6871; isa = PBXBuildFile; settings = { }; }; 63E6939005DF2DD3004F6871 = { fileRef = 63E6938E05DF2DD3004F6871; isa = PBXBuildFile; settings = { }; }; 63E6939105DF46D1004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = EditorTextures.xml; path = Images/EditorTextures.xml; refType = 4; sourceTree = "<group>"; }; 63E6939205DF46D1004F6871 = { isa = PBXFileReference; lastKnownFileType = image.png; name = inkubatorLogo.png; path = Images/inkubatorLogo.png; refType = 4; sourceTree = "<group>"; }; 63E6939305DF46D1004F6871 = { fileRef = 63E6939105DF46D1004F6871; isa = PBXBuildFile; settings = { }; }; 63E6939405DF46D1004F6871 = { fileRef = 63E6939205DF46D1004F6871; isa = PBXBuildFile; settings = { }; }; 63E6939505DF46D8004F6871 = { children = ( 63E6939105DF46D1004F6871, 5B6FD92705F97174006CD166, 5B6FD92805F97174006CD166, 63E6939205DF46D1004F6871, ); isa = PBXGroup; name = Images; path = ""; refType = 4; sourceTree = "<group>"; }; }; rootObject = 29B97313FDCFA39411CA2CEA; } |
From: David F. <re...@us...> - 2004-03-07 02:56:03
|
Update of /cvsroot/inkubator/TheInkubator/Editor/Images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4440/Editor/Images Added Files: EditorTextures.xml inkubatorLogo.png minus.png plus.png Log Message: Initial Files Added --- NEW FILE: EditorTextures.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <string>inkubatorLogo</string> </array> </plist> --- NEW FILE: inkubatorLogo.png --- PNG F. F0 F0 FRÀ"6$×Ô NÿÇASªn`Ä¡»qÙEIµZá«Ôþ¦ï? 31áõ3ÉþSÆ°Ð0ðj:MNøâ;ªÇ%@ X¤1#égBs8²h8ÌhnÀg²¸ìG¶ÝÝL8ìBÎÐØÜÌH¢]dø Y/ÿ1⨥`úþ"ùKb bú`D2¸FÎìÄøÌ+ìÿ°¥¡o²°¸òÏ?ÿùÍôàεGsúJ¡ùéþKÀRÃq sëyÂÉLZ¥µE ¢Å» +¢þîÑÿ¡¬ú´hõâo*(*EzaöR Äw¡¥èV7ÙìfæÍLÙfË¨ë¢ ¼ä2ïÇ÷½÷½CÌü |d<·ñ½Ç{ijeÈN° ìjÐH ä Ü ?=ÔÝ>C¾^ÿÄäÊq[¨Øj¼Mê{/|ã°]fÄãñÜç[øøÃÔFí˪êl·XO6qsɧ<¥4£BÞRNòKâü×îÎÖêúúÒØ &)ï¾EwC[ §P&g6Séôï¯BËéåµ pMFß>B1ÖðÕVè-8pó `·³¬só¼sëç·4;¼î.ÔÜ/H ÷'« Á71èñg3-ûÁ±üÛ/ð\ö¸FÿÃþ{u笯£«g`oŽ#ïÈ~ïñ(>A·¥Àq¨pJS:¡P(¥ª ¡m`ÜÖÝ?:»|Ú}¸1³}º{)9©`»é-¼¾üÍ ]¯Ä¾rÉß@$Â@kR½ééõý ·ûLù¨"ð# H$:(ýFDq\.Ä÷ánwvîË{og/sBpÉä²Ù÷Þ¼ùýÞ×Z ûFûñ (ÁL\|!%^;2¹°`ëm¦6|,kC¦³ÿèØÔ,ÚÄϲúX CÒ¨§ÅMAä¤ ÷DVécÒs?ç¼3ËÔ+|f5ßS¼¾¹?è:vd9ÄÇ W6óÈ È37û 2ßI~©\}q?íhDã¾oÁ¯0§¦Ö¹µ£ù]¨ÓJouB¾ãùª3!0 pnþ Ó¢NÝÝØ51³±|²·x1åc®Ý£ÚÍàò> ÌÚY¢ðMmúnû²ÒÚÁEÐÙ¢è¨v:nâbÿnâææàäæ(8 ââ CÁ"¥ZmÒGì#iã¹×LK:Âͽ¹÷ï;ß9´àøgN7àÑ0CJrÖvXµ0Òѹ°²>;ÌãpC°r (Bîþ1ÿ|[Â5Fã 7©ÓQ-}ÚÑTc/#ðÜhgw özåT?¤¡Èl_!>ºRyPk§5M#¼Ë]ÜJß\\! Yü±ø«Àد«¸ jÖÔóHk ø$(lÁý^])5W9`ür2@g À¿¦9¸¤ÚÄȳò×!µ ÐD*¢/]s÷ëÇ×?Fä¿#MÝ°þÃQ ~øÿåcën]9¶þ&(üÜTfJSDsèXB*`±Å#hðÍO°Âì×ëg·?òó°ãÜÝ ·f×h ^×*Hj>4¡ò 6,H--ØÔòä| ÅïèÞo¤©SþÂb2Õ5¾ÿÌV|ûö èÞ7à)Ã'·Ï\ûôöé,µ>lÝÂ;h|æÚCi~ « uß»3{æ f9òFZ191!qEqhºFîfq¡ ñ Fp ¡iæ£yãÜ{¯õ³@ÿlâ°SÃðWàÕeÀÐüñ\s}~ÿH¿úsíäæh#ü¿jXæü°ùk`Éÿ` ûû´tyí\dظ¹Ak@ã ÿýó;ÐÛ»G·N=CëÛcÛR G_5M¬Àk-~CVÛ×YüúX{¬9ÿ!5û£-{¥?BÝ`Fjn+,Ð ÐZf`A®eâ.ÈÁÎò éóoM]S#gi>aÐô%8ì /hÍÂ7 ~ûìî{¤8D8fAW ^¸,@Mÿ#[¦Ü Ë74ÿìû é9pS Á!¸ÔjaKàSh¤û3°µÀE 77v@hPB ÿß?&ØËhµ¶ycäð´¿P,¬öþ}Ô¦oÝ~ K`Oîýôíã«ï<bÐl6MSoÅg.R A¥æÈM&`ÀMV8¥ÿ`ÐX-hÔ46ðäöÙ{¯¯È Û ßkØRc¤,ÿ|à3ÀVæ½Öø¯Þÿâ_o?ÿ/5 o¯¼ðëÇ¿xFÝ·¶Â×®w,7fdYм?x ÞÝ÷ùA Aq$Ø©Ýó½{qÿ3hf о HÍÿoß~{ÿêád']9±ñ%,AÇ`Á켬vÊH³<Xf`ð7¤Y/Ä4ò°g {ô)G°>..¯ í°t Z¦^÷òçÒ óï_?ü~vïÂc`7îÐëÇî¡@?û -ô¥ÐZzÈï* LLBXóÓÝ×Ïo¾£Í´°" 1Ò õðNШþ£'ßâêt;2¬ÅÅ+Ä , lþùÿÖ5f·Z@k=ÌÝUÂyÕ"òض.+ ý«;@#úê8Ø Ê4Ô:Òç%·»¤ÎØ¥±èÍÕÿ?¾}úsáÐÛ VF ~ùh"ÊÒPÿñ ÍUÖ,j:fÁ°¹P! Ý=H3ÿpZ"íë?ÀîÛ#Pe îüý# Æ,ÄùË>ºqò¸ðç7¼åÊļübÜ.5vÐ@aÛa[XÁ ãéÃ7a-PMZ_Àîcjò¨9U´ÔA{ÜQ~¶&ÆÑßü½ #Ð óËÇðàÚ«í?ºeÊ# YßÅÀÝ/`øº&ª ö¿0"uWQÒ@ Å EÀ þþÖäß!3o_ÜýÂ8<?/-¯&).è Zù«Ù@{'Þ½¸ÏðâÑU`Æ¿Á 6ü_ÏU| Ú_ôû×Oo~ÀIc'.\þÜ 3^~qNçxyÌæÿ±`8 ´²ÔâÓµR9³wá5Ì°.Ì/´S iM Kø}Ejrþ`ÀÜ* Û_ÀyûâÞ¬Üâ C,@îmÊ-çâààæç úiA0óÉHÈãLÐÌ¿¿âÜ¥'Ü=÷F×*È_O U BÐJPü1Asý¯ü ¡ 2}É×ÀÕÈ1ÆøȦIZÈØàS PM ÒªDeµ]ÇÀÀ¤þ%¬Èþõõãë÷{WµmÓ0ö4V1Òbcçâ·" kô¡wØA2$hCÐß/]¿lB>ºñê.È{â?#7¿~úøïÏ[Ð9ö·Ð +TXÈIHñüñGÊY_=¾Î¼weë{y %Qiu)`á/fÅdY3dî_è-ìú¶·/î=|ÿêÁK`x~@ZEÞìÿÍø°ÃDÞ! x³ðr¾ u:_)¾rç.äÎÜÿ&ÇÓHìBbJeþSÉ µµ·YAEÒñ"&ºL×óiN0þêO¦Ôà_(;A nÁjÚøÿ¿åO6^lä¢APV)h<4½@ììåß ñ¯f3Ôë½Oîõ\PÆÒ(a]»(*%Û½¦X»åå¯åç#8YÕl[)ÙøH¡²£S/%ÃÜH6XaÕZ± <å E¥ïð6¬Ú.æÌ+WæÂb6òŵöÞ#½¢XYñtéë|j\-èöo9¦¤ìi}t¶Áª ÊÏK#¡êÖG¬´ÉÒ[Ü_õFù#¦q,ÃVû¨WZódPop·÷kæAd+.Ê@(]ÄàêÖ§®U¸}ÃT0Ãb!KWÏù+)ÿ g³×¼áGÝ¢¡=kÕ £:ÓP¾}#gõLOÅeíýr¿cÅÿ¿Á=yXÙ~JËg+Û¬ûþ½è¦.M`µ>rKGÁ迤J5©¦«Y-æw0 ¶v2Ö)ÈLÎV "%M¨VAuw¨øM)x->42¬?Òì«ìÕ@ !Ôn ùÈ*»ÚÂp ý|@f´µØîT$õPQZä-a@¤ FÁ --- NEW FILE: minus.png --- PNG --- NEW FILE: plus.png --- PNG Å|0A ø¡&S ëPcA4ÃÅ ¬ 4XJb¸@ |
From: David F. <re...@us...> - 2004-03-07 02:56:02
|
Update of /cvsroot/inkubator/TheInkubator/Editor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4440/Editor Added Files: GamePropertiesManager.h gameModes.h Log Message: Initial Files Added --- NEW FILE: GamePropertiesManager.h --- /* GamePropertiesManager */ #import <Cocoa/Cocoa.h> #import "PropertiesManager.h" #import "TextureResourceManager.h" #import "SceneResourceManager.h" #import "ScenePropertiesManager.h" @interface GamePropertiesManager : PropertiesManager { int logoTexture; NSString *gameResourceDirectoryPath; NSMutableDictionary *gameProperties; IBOutlet NSTextField *gameNameTextField; IBOutlet NSTextField *currentGameTextField; IBOutlet TextureResourceManager *textureResourceManager; IBOutlet SceneResourceManager *sceneResourceManager; IBOutlet ScenePropertiesManager *scenePropertiesManager; } - (void) loadPanelDidEnd:(NSOpenPanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo; - (void) notValidPanelDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo; - (void) loadGame; - (void) populateFields; - (IBAction) gameNameTextFieldChanged:(id)sender; @end --- NEW FILE: gameModes.h --- enum { GAME_MODE = 0, LEVEL_MODE, SCENE_MODE }; |
From: David F. <re...@us...> - 2004-03-07 02:55:46
|
Update of /cvsroot/inkubator/TheInkubator/Editor/English.lproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4406/Editor/English.lproj Log Message: Directory /cvsroot/inkubator/TheInkubator/Editor/English.lproj added to the repository |
Update of /cvsroot/inkubator/TheInkubator/Editor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4288/Editor Added Files: GLView.h GLView.m GamePropertiesManager.m InkubatorEditor_Prefix.h Interface.h Interface.m PreferencePanel.h PreferencePanel.m Preferences.h Preferences.m PropertiesManager.h PropertiesManager.m ScenePropertiesManager.h ScenePropertiesManager.m SceneResourceManager.h SceneResourceManager.m TextureManager.h TextureManager.m TextureResourceManager.h TextureResourceManager.m main.m Log Message: Initial Files Added --- NEW FILE: GLView.h --- #import <Cocoa/Cocoa.h> #import <OpenGL/OpenGL.h> #import <OpenGL/gl.h> #import <OpenGL/glu.h> #import <OpenGL/glext.h> #import "Timer.h" #import "GamePropertiesManager.h" @interface GLView : NSOpenGLView { int selectedMode; Timer *timer; IBOutlet GamePropertiesManager *gamePropertiesManager; } - (id) initWithFrame:(NSRect)frame; - (void) reshape; - (void) drawFrame; - (void) setSelectedMode:(int)newSelectedMode; - (void) checkClick:(NSPoint)mouseLoc; @end --- NEW FILE: GLView.m --- #import "GLView.h" #import "TextureManager.h" #import "gameModes.h" @interface GLView (InternalMethods) - (NSOpenGLPixelFormat *) createPixelFormat:(NSRect)frame; - (void) initGL; @end @implementation GLView - (id) initWithFrame:(NSRect)frame { //[pixelFormat release]; NSOpenGLPixelFormat *pixelFormat = [ self createPixelFormat:frame ]; if( pixelFormat != nil ) { self = [ super initWithFrame:frame pixelFormat:pixelFormat ]; [ pixelFormat release ]; if( self ) { [ [ self openGLContext ] makeCurrentContext ]; [[TextureManager getInstance] loadEditorTextures]; [self reshape]; [self initGL]; } } else self = nil; timer = [[Timer alloc] init]; selectedMode = -1; return self; } - (BOOL)acceptsFirstResponder { return YES; } - (void)initGL { glEnable( GL_TEXTURE_2D ); glShadeModel( GL_SMOOTH ); glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClearDepth(1.0f); glDepthFunc(GL_LEQUAL); glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); glEnable( GL_BLEND ); glAlphaFunc(GL_GREATER, 0.0f); glEnable(GL_ALPHA_TEST); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST); } - (NSOpenGLPixelFormat *) createPixelFormat:(NSRect)frame { NSOpenGLPixelFormatAttribute pixelAttribs[ 16 ]; int pixNum = 0; NSOpenGLPixelFormat *pixelFormat; pixelAttribs[ pixNum++ ] = NSOpenGLPFADoubleBuffer; pixelAttribs[ pixNum++ ] = NSOpenGLPFAAccelerated; pixelAttribs[ pixNum++ ] = NSOpenGLPFADepthSize; pixelAttribs[ pixNum++ ] = 16; pixelAttribs[ pixNum++ ] = NSOpenGLPFASingleRenderer; pixelAttribs[ pixNum++ ] = NSOpenGLPFAScreenMask; pixelAttribs[ pixNum++ ] = CGDisplayIDToOpenGLDisplayMask(kCGDirectMainDisplay); pixelAttribs[ pixNum++ ] = NSOpenGLPFANoRecovery; pixelAttribs[ pixNum ] = 0; pixelFormat = [ [ NSOpenGLPixelFormat alloc ] initWithAttributes:pixelAttribs ]; return pixelFormat; } - (void) reshape { NSRect sceneBounds; [[ self openGLContext] update]; sceneBounds = [ self bounds ]; glLoadIdentity(); glViewport( 0, 0, sceneBounds.size.width, sceneBounds.size.height ); glLoadIdentity(); glMatrixMode( GL_PROJECTION ); glLoadIdentity(); glOrtho( 0.0f, 400, 0.0f, 400, -1.0f, 1.0f ); glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); } - (void) drawFrame { float timePassedSinceLastFrame = [timer calculateFrameInterval]; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); switch(selectedMode) { case GAME_MODE: [gamePropertiesManager display:timePassedSinceLastFrame]; break; } glLoadIdentity(); [[self openGLContext] flushBuffer]; } - (void) setSelectedMode:(int)newSelectedMode { selectedMode = newSelectedMode; } - (void)keyDown:(NSEvent *)theEvent { } - (void)keyUp:(NSEvent *)theEvent { } - (void)flagsChanged:(NSEvent *)theEvent { } - (void)mouseDown:(NSEvent *)theEvent { NSPoint mouseLoc; mouseLoc = [theEvent locationInWindow]; [self checkClick:mouseLoc]; } - (void) checkClick:(NSPoint)mouseLoc { //[[ GameController theGameController ] checkClick:mouseLoc]; } - (void)mouseMoved:(NSEvent *)theEvent { NSPoint mouseLoc; mouseLoc = [theEvent locationInWindow]; // [[ GameController theGameController ] checkMouseOver:mouseLoc]; } - (void) dealloc { [timer release]; } @end --- NEW FILE: GamePropertiesManager.m --- #import "GamePropertiesManager.h" #import "TextureManager.h" #import "XMLManager.h" @implementation GamePropertiesManager - (id) init { self = [super init]; logoTexture = -1; gameResourceDirectoryPath = nil; return self; } - (void) load { loadPanel = [NSOpenPanel openPanel]; [loadPanel setTitle:@"Load Game"]; [loadPanel setPrompt:@"Load"]; [loadPanel beginSheetForDirectory:[[NSFileManager defaultManager] currentDirectoryPath] file:nil types:[NSArray arrayWithObjects:@"app",nil] modalForWindow:mainWindow modalDelegate:self didEndSelector:@selector(loadPanelDidEnd: returnCode: contextInfo:) contextInfo:loadPanel ]; } - (void)loadPanelDidEnd:(NSOpenPanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo { if(returnCode == NSAlertDefaultReturn) { gameResourceDirectoryPath = [[[[sheet filenames] objectAtIndex:0] stringByAppendingString:@"/Contents/Resources/"] retain]; NSLog(gameResourceDirectoryPath); NSString *gamePropertiesFilePath = [gameResourceDirectoryPath stringByAppendingString:@"GameProperties.xml"]; gameProperties = [[NSMutableDictionary alloc] initWithDictionary: [[XMLManager getInstance] loadDictionaryFromAbsoluteXMLFile:gamePropertiesFilePath]]; if(gameProperties != NULL) { [self loadGame]; } else { NSBeginAlertSheet( @"Invalid Game", // sheet message @"OK", // default button label @"Try Again", // alternate button label nil, // no third button nil, // window sheet is attached to self, // we'll be our own delegate @selector(notValidPanelDidEnd: returnCode: contextInfo:), // did-end selector NULL, // no need for did-dismiss selector NULL, // context info @"That is not a valid Inkubator Game", // additional text nil); // no parameters in message } } } - (void)notValidPanelDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo { if(returnCode == NSAlertAlternateReturn) { [self load]; } } - (void) loadGame { [textureResourceManager loadGameTextures:gameResourceDirectoryPath]; logoTexture = [[TextureManager getInstance]getGameTextureForName:[gameProperties objectForKey:@"iconTexture"]]; [sceneResourceManager loadScenes:gameResourceDirectoryPath]; [self populateFields]; [scenePropertiesManager loadScene:[sceneResourceManager selectedScene] fromGameResourceDirectoryPath:gameResourceDirectoryPath]; } - (void) populateFields { [gameNameTextField setStringValue:[gameProperties objectForKey:@"name"]]; [currentGameTextField setStringValue:[gameProperties objectForKey:@"name"]]; [textureResourceManager initializeTable]; [sceneResourceManager initializeTable]; } - (void) save { if(gameResourceDirectoryPath == nil) { return; } [[XMLManager getInstance] writeDictionary:gameProperties toXMLFile:[gameResourceDirectoryPath stringByAppendingString:@"GameProperties.xml"]]; } - (void) display:(float)timePassed { if(logoTexture == -1) { logoTexture = [[TextureManager getInstance]getTextureForName:@"inkubatorLogo"]; } glPushMatrix(); glColor3f(1.0,1.0,1.0); [[TextureManager getInstance] setTexture:logoTexture]; glTranslatef(200,200,0); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(-128.0f, -32.0f, 0.0f); glTexCoord2f(1, 0); glVertex3f(128.0f, -32.0f, 0.0f); glTexCoord2f(1, 1); glVertex3f(128.0f, 32.0f, 0.0f); glTexCoord2f(0, 1); glVertex3f(-128.0f, 32.0f, 0.0f); glEnd(); glPopMatrix(); } - (IBAction) gameNameTextFieldChanged:(id)sender { [gameProperties setObject:[sender stringValue] forKey:@"name"]; [self populateFields]; } - (void) dealloc { [gameResourceDirectoryPath release]; } @end --- NEW FILE: InkubatorEditor_Prefix.h --- // // Prefix header for all source files of the 'Inkubator Editor' target in the 'Inkubator Editor' project // #ifdef __OBJC__ #import <Cocoa/Cocoa.h> #endif typedef struct { float r,g,b,a; } Color; --- NEW FILE: Interface.h --- /* Controller */ #import <Cocoa/Cocoa.h> #import <Carbon/Carbon.h> #import "GLView.h" #import "Preferences.h" @interface Interface : NSResponder { IBOutlet NSWindow *glWindow; IBOutlet GLView *glView; NSTimer *renderTimer; Preferences *thePrefs; int selectedMode; NSString *selectedModeString; IBOutlet GamePropertiesManager *gamePropertiesManager; IBOutlet NSPopUpButton *editModePopUpButton; IBOutlet NSTabView *propertiesView; IBOutlet NSMenuItem *saveMenuItem; IBOutlet NSMenuItem *saveAsMenuItem; IBOutlet NSMenuItem *newMenuItem; IBOutlet NSMenuItem *loadMenuItem; } - (void) awakeFromNib; - (IBAction) editModeSelectionChanged:(id)sender; - (IBAction) load:(id)sender; - (IBAction) save:(id)sender; @end --- NEW FILE: Interface.m --- #import "Interface.h" #import "gameModes.h" #include <unistd.h> @interface Interface (InternalMethods) - (void) setupRenderTimer; - (void) updateGLView:(NSTimer *)timer; - (void) updateFrame; - (void) createFailed; @end @implementation Interface - (void) awakeFromNib { thePrefs = [[Preferences alloc ] init]; [NSApp setDelegate:self]; renderTimer = nil; if( glView != nil ) { [glWindow makeKeyAndOrderFront:self]; [glWindow makeFirstResponder:glView]; [glWindow setAcceptsMouseMovedEvents:YES]; [self setupRenderTimer]; } else [self createFailed]; selectedMode = GAME_MODE; selectedModeString = @"Game"; [editModePopUpButton selectItemAtIndex:selectedMode]; [propertiesView selectTabViewItemAtIndex:selectedMode]; [glView setSelectedMode:selectedMode]; } - (void) setupRenderTimer { NSTimeInterval timeInterval = 0.001; renderTimer = [ [ NSTimer scheduledTimerWithTimeInterval:timeInterval target:self selector:@selector( updateFrame ) userInfo:nil repeats:YES ] retain ]; [ [ NSRunLoop currentRunLoop ] addTimer:renderTimer forMode:NSEventTrackingRunLoopMode ]; [ [ NSRunLoop currentRunLoop ] addTimer:renderTimer forMode:NSModalPanelRunLoopMode ]; } - (void) updateFrame { [glView drawFrame]; } - (void)keyDown:(NSEvent *)theEvent { [glView keyDown:theEvent]; } - (void)keyUp:(NSEvent *)theEvent { unichar unicodeKey; unicodeKey = [ [ theEvent charactersIgnoringModifiers ] characterAtIndex:0 ]; if ([theEvent isARepeat]) { return; } [glView keyUp:theEvent]; } - (void)mouseDown:(NSEvent *)theEvent { /* NSPoint mouseLoc; theEvent = [glWindow nextEventMatchingMask: NSLeftMouseUpMask]; mouseLoc = [_glView convertPoint:[theEvent locationInWindow] fromView:nil];*/ // [[GameController theGameController] checkClick:mouseLoc]; } - (void)mouseMoved:(NSEvent *)theEvent { // NSPoint mouseLoc = [ NSEvent mouseLocation ]; //[[GameController theGameController] checkMouseOver:mouseLoc]; } - (void) createFailed { NSWindow *infoWindow; infoWindow = NSGetCriticalAlertPanel( @"Initialization failed", @"Failed to initialize OpenGL", @"OK", nil, nil ); [ NSApp runModalForWindow:infoWindow ]; [ infoWindow close ]; [ NSApp terminate:self ]; } - (void)applicationWillTerminate:(NSNotification *)notification { // [[ResourceVault theVault]dealloc]; if(renderTimer != nil && [renderTimer isValid]) [renderTimer invalidate]; } - (IBAction) editModeSelectionChanged:(id)sender { selectedMode = [editModePopUpButton indexOfSelectedItem]; selectedModeString = [editModePopUpButton titleOfSelectedItem]; [propertiesView selectTabViewItemAtIndex:selectedMode]; [glView setSelectedMode:selectedMode]; [saveMenuItem setTitle:[@"Save " stringByAppendingString:selectedModeString]]; [saveAsMenuItem setTitle:[[@"Save " stringByAppendingString:selectedModeString] stringByAppendingString:@" As..."]]; [newMenuItem setTitle:[[@"New " stringByAppendingString:selectedModeString] stringByAppendingString:@"..."]]; [loadMenuItem setTitle:[[@"Load " stringByAppendingString:selectedModeString] stringByAppendingString:@"..."]]; } - (IBAction) load:(id)sender { switch(selectedMode) { case GAME_MODE: { [gamePropertiesManager load]; } break; } } - (IBAction) save:(id)sender { switch(selectedMode) { case GAME_MODE: { [gamePropertiesManager save]; } break; } } - (void) dealloc { [thePrefs release]; } @end --- NEW FILE: PreferencePanel.h --- /* PreferencePanel */ #import <Cocoa/Cocoa.h> #import <Foundation/Foundation.h> #import "Interface.h" @interface PreferencePanel : NSPanel { } - (IBAction)show:(id)sender; - (IBAction)cancel:(id)sender; - (IBAction)defaults:(id)sender; - (IBAction)ok:(id)sender; @end --- NEW FILE: PreferencePanel.m --- #import "PreferencePanel.h" @implementation PreferencePanel - (IBAction)show:(id)sender { [NSApp runModalForWindow:self]; } - (IBAction)cancel:(id)sender { [NSApp stopModal]; [self orderOut:self]; } - (IBAction)defaults:(id)sender { } - (IBAction)ok:(id)sender { [NSApp stopModal]; [self orderOut:self]; } - (void) dealloc { } @end --- NEW FILE: Preferences.h --- #import <Foundation/Foundation.h> @interface Preferences : NSObject { } @end --- NEW FILE: Preferences.m --- #import "Preferences.h" @implementation Preferences - (id) init { NSDictionary *appDefaults = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects: [NSNumber numberWithInt:00], nil] forKeys: [NSArray arrayWithObjects: @"versionNumber", nil] ]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults registerDefaults:appDefaults]; float version = [[defaults objectForKey:@"versionNumber"]intValue]; if(version <= 000) { [defaults removeObjectForKey:@"versionNumber"]; [defaults setObject:[NSNumber numberWithInt:001] forKey:@"versionNumber"]; } else if(version <= 001) { [defaults removeObjectForKey:@"versionNumber"]; [defaults setObject:[NSNumber numberWithInt:001] forKey:@"versionNumber"]; } return self; } @end --- NEW FILE: PropertiesManager.h --- /* PropertiesManager */ #import <Cocoa/Cocoa.h> @interface PropertiesManager : NSResponder { IBOutlet NSWindow *mainWindow; NSOpenPanel *loadPanel; } - (void) load; - (void) save; - (void) display:(float)timePassed; @end --- NEW FILE: PropertiesManager.m --- #import "PropertiesManager.h" @implementation PropertiesManager - (void) display:(float)timePassed { } - (void) load { } - (void) save { } - (void) loadPanelFinished { } @end --- NEW FILE: ScenePropertiesManager.h --- /* ScenePropertiesManager */ #import <Cocoa/Cocoa.h> #import "PropertiesManager.h" @interface ScenePropertiesManager : PropertiesManager { NSString *scenePropertiesFilePath; NSMutableDictionary *sceneProperties; IBOutlet NSColorWell *backgroundColorWell; IBOutlet NSTextField *currentSceneTextField; Color backgroundColor; } - (void) loadScene:(NSString *)sceneName fromGameResourceDirectoryPath:(NSString *)gameResourceDirectoryPath; - (IBAction)selectBackgroundColorButtonPressed:(id)sender; - (void) changeColor:(id)sender; @end --- NEW FILE: ScenePropertiesManager.m --- #import "ScenePropertiesManager.h" #import "XMLManager.h" @implementation ScenePropertiesManager - (id) init { self = [super init]; sceneProperties = NULL; scenePropertiesFilePath = nil; return self; } - (void) awakeFromNib { backgroundColor.r = 0.0f; backgroundColor.g = 0.0f; backgroundColor.b = 0.0f; backgroundColor.a = 0.0f; NSColor *backgroundNSColor = [NSColor colorWithCalibratedRed:backgroundColor.r green:backgroundColor.g blue:backgroundColor.b alpha:backgroundColor.a]; [backgroundColorWell setColor:backgroundNSColor]; } - (void) loadScene:(NSString *)sceneName fromGameResourceDirectoryPath:(NSString *)gameResourceDirectoryPath { scenePropertiesFilePath = [[gameResourceDirectoryPath stringByAppendingString:sceneName] stringByAppendingString:@".scene"]; if(sceneProperties != NULL) { [sceneProperties release]; } sceneProperties = [[NSMutableDictionary alloc] initWithDictionary: [[XMLManager getInstance] loadDictionaryFromAbsoluteXMLFile:scenePropertiesFilePath]]; if(sceneProperties == NULL) { NSLog(@"Could not load scene"); return; } [currentSceneTextField setStringValue:sceneName]; NSDictionary *backgroundColorDictionary = [sceneProperties objectForKey:@"BackgroundColor"]; backgroundColor.r = [[backgroundColorDictionary objectForKey:@"red"] floatValue]; backgroundColor.g = [[backgroundColorDictionary objectForKey:@"green"] floatValue]; backgroundColor.b = [[backgroundColorDictionary objectForKey:@"blue"] floatValue]; backgroundColor.a = [[backgroundColorDictionary objectForKey:@"alpha"] floatValue]; NSColor *backgroundNSColor = [NSColor colorWithCalibratedRed:backgroundColor.r green:backgroundColor.g blue:backgroundColor.b alpha:backgroundColor.a]; [backgroundColorWell setColor:backgroundNSColor]; } - (IBAction)selectBackgroundColorButtonPressed:(id)sender { NSColorPanel *colorPanel = [NSColorPanel sharedColorPanel]; [colorPanel setTarget:self]; [colorPanel makeKeyAndOrderFront:self]; } - (void) changeColor:(id)sender { } - (void) display:(float)timePassed { /*if(logoTexture == -1) { logoTexture = [[TextureManager getInstance]getTextureForName:@"inkubatorLogo"]; } glPushMatrix(); glColor3f(1.0,1.0,1.0); [[TextureManager getInstance] setTexture:logoTexture]; glTranslatef(200,200,0); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(-128.0f, -32.0f, 0.0f); glTexCoord2f(1, 0); glVertex3f(128.0f, -32.0f, 0.0f); glTexCoord2f(1, 1); glVertex3f(128.0f, 32.0f, 0.0f); glTexCoord2f(0, 1); glVertex3f(-128.0f, 32.0f, 0.0f); glEnd(); glPopMatrix();*/ } @end --- NEW FILE: SceneResourceManager.h --- /* SceneResourceManager */ #import <Cocoa/Cocoa.h> @interface SceneResourceManager : NSObject { NSMutableArray *sceneNames; IBOutlet NSTableView *scenesTableView; } - (void) loadScenes:(NSString *)gameResourceDirectoryPath; - (void) initializeTable; - (NSString *) selectedScene; @end --- NEW FILE: SceneResourceManager.m --- #import "SceneResourceManager.h" #import "XMLManager.h" @implementation SceneResourceManager - (void) loadScenes:(NSString *)gameResourceDirectoryPath { if(sceneNames != NULL) { [sceneNames release]; } sceneNames = [[NSMutableArray alloc] initWithArray: [[XMLManager getInstance] loadArrayFromAbsoluteXMLFile: [gameResourceDirectoryPath stringByAppendingString:@"Scenes.xml"]]]; } - (void) initializeTable { [scenesTableView reloadData]; } - (int) numberOfRowsInTableView:(NSTableView *)textureTableView { return [sceneNames count]; } - (id) tableView:(NSTableView *)scenesTableView objectValueForTableColumn:(NSTableColumn *)scenesTableColumn row:(int)rowIndex { return [sceneNames objectAtIndex:rowIndex]; } - (NSString *) selectedScene { return [sceneNames objectAtIndex:[scenesTableView selectedRow]]; } - (void) dealloc { [sceneNames release]; } @end --- NEW FILE: TextureManager.h --- #import <Foundation/Foundation.h> #import <Cocoa/Cocoa.h> #import <OpenGL/OpenGL.h> #import <OpenGL/gl.h> #import <OpenGL/glu.h> #import <OpenGL/glext.h> #define MAX_NUMBER_OF_TEXTURES 100 @interface TextureManager : NSObject { GLuint texture[MAX_NUMBER_OF_TEXTURES]; NSMutableArray *textureNames; int numberOfTextures; NSMutableArray *gameTextures; int numberOfGameTextures; } + (TextureManager *) getInstance; - (void) loadEditorTextures; - (void) loadTextures; - (GLuint) loadTexture:(NSString *) textureName; - (void) setTexture:(int)textureNumber; - (int) getTextureForName:(NSString *)filePath; - (int) getGameTextureForName:(NSString *)name; - (void) loadGameTextures:(NSArray *)gameTexturesArray fromGameResourceDirectoryPath:(NSString *)gameResourceDirectoryPath; @end --- NEW FILE: TextureManager.m --- #import "TextureManager.h" #import "XMLManager.h" #import <QuickTime/QuickTime.h> #define quit_if(b, message) if (b) { \ NSLog(@"%s", message); \ return 0; \ } #define quit_oserr(err, message) quit_if(err != noErr, message) CGLContextObj CGL_MACRO_CONTEXT; @implementation TextureManager + (TextureManager *)getInstance { static TextureManager *instance = nil; if (instance == nil) { instance = [[TextureManager alloc]init]; } return instance; } -(id) init { return self; } - (void) loadEditorTextures { [self loadTextures]; } - (void) loadTextures; { if(textureNames != NULL) { [textureNames release]; } textureNames = [[NSMutableArray alloc] initWithArray:[[XMLManager getInstance] loadArrayFromResourceXMLFile:@"EditorTextures"]]; numberOfTextures = [textureNames count]; int i; for (i = 0; i < numberOfTextures; i ++) { texture[i] = [self loadTexture:[[NSBundle mainBundle] pathForResource:[textureNames objectAtIndex:i] ofType:@"png"]]; } } - (void) loadGameTextures:(NSArray *)gameTexturesArray fromGameResourceDirectoryPath:(NSString *)gameResourceDirectoryPath { if(gameTextures != NULL) { [gameTextures release]; } gameTextures = [gameTexturesArray retain]; numberOfGameTextures = [gameTextures count]; int i; for (i = 0; i < numberOfGameTextures; i ++) { texture[i + numberOfTextures] = [self loadTexture:[[gameResourceDirectoryPath stringByAppendingString:[gameTextures objectAtIndex:i]] stringByAppendingString:@".png"]]; } } - (GLuint) loadTexture:(NSString *)filePath { if (filePath == nil) { NSLog(@"Can't find image %@.png", filePath); return 0; } OSStatus err; ComponentResult cr; FSRef fsref; Boolean isdir; err = FSPathMakeRef((const UInt8*)[filePath fileSystemRepresentation], &fsref, &isdir); quit_oserr(err, "Can't make FSRef from path\n"); quit_if(isdir, "Path is a directory\n"); FSSpec fsspec; err = FSGetCatalogInfo(&fsref, kFSCatInfoNone, NULL, NULL, &fsspec, NULL); quit_oserr(err, "Can't convert FSRef to FSSpec\n"); GraphicsImportComponent gi; err = GetGraphicsImporterForFile(&fsspec, &gi); quit_oserr(err, "Can't get graphics import component for file\n"); Rect natbounds; cr = GraphicsImportGetNaturalBounds(gi, &natbounds); quit_oserr(cr, "Can't get bounds for image\n"); quit_if(natbounds.left != 0, "Natural bounds' left is not zero\n"); quit_if(natbounds.top != 0, "Natural bounds' top is not zero\n"); size_t buffersize = 4 * natbounds.bottom * natbounds.right; void* buf = malloc(buffersize); GWorldPtr gw; err = QTNewGWorldFromPtr(&gw, k32ARGBPixelFormat, &natbounds, NULL, NULL, 0, buf, 4 * natbounds.right); quit_oserr(err, "Can't create GWorld\n"); cr = GraphicsImportSetGWorld(gi, gw, NULL); quit_oserr(cr, "Can't set import component's GWorld\n"); natbounds.top = natbounds.bottom; natbounds.bottom = 0; cr = GraphicsImportSetBoundsRect(gi, &natbounds); quit_oserr(cr, "Can't flip image\n"); cr = GraphicsImportDraw(gi); quit_oserr(cr, "Can't draw image\n"); err = CloseComponent(gi); quit_oserr(err, "Can't close graphics import component\n"); GLuint textureID; glGenTextures(1, &textureID); glBindTexture(GL_TEXTURE_2D, textureID); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE_SGIS); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE_SGIS); gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, natbounds.right, natbounds.top, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, buf); free(buf); return textureID; } - (void) setTexture:(int)textureNumber { glBindTexture( GL_TEXTURE_2D, texture[textureNumber]); } - (int) getTextureForName:(NSString *)name { int match = -1; int i; for (i = 0; i < numberOfTextures; i ++) { if([[textureNames objectAtIndex:i] isEqualToString: name]) match = i; } return match; } - (int) getGameTextureForName:(NSString *)name { int match = -1; int i; for (i = 0; i < numberOfGameTextures; i ++) { if([[gameTextures objectAtIndex:i] isEqualToString: name]) match = i + numberOfTextures; } return match; } -(void) dealloc { [textureNames release]; } @end --- NEW FILE: TextureResourceManager.h --- // // TextureResourceManager.h // Inkubator // // Created by David Frampton on Sun Mar 07 2004. // Copyright (c) 2004 __MyCompanyName__. All rights reserved. // #import <Foundation/Foundation.h> @interface TextureResourceManager : NSObject { NSMutableArray *gameTextureNames; NSMutableArray *gameTextureImages; IBOutlet NSTableView *texturesTableView; } - (void) loadGameTextures:(NSString *)gameResourceDirectoryPath; - (void) initializeTable; @end --- NEW FILE: TextureResourceManager.m --- // // TextureResourceManager.m // Inkubator // // Created by David Frampton on Sun Mar 07 2004. // Copyright (c) 2004 __MyCompanyName__. All rights reserved. // #import "TextureResourceManager.h" #import "TextureManager.h" #import "XMLManager.h" @implementation TextureResourceManager - (void) loadGameTextures:(NSString *)gameResourceDirectoryPath { if(gameTextureNames != NULL) { [gameTextureNames release]; } gameTextureNames = [[NSMutableArray alloc] initWithArray: [[XMLManager getInstance] loadArrayFromAbsoluteXMLFile: [gameResourceDirectoryPath stringByAppendingString:@"Textures.xml"]]]; int numberOfGameTextures = [gameTextureNames count]; if(gameTextureImages != NULL) { [gameTextureImages release]; } gameTextureImages = [[NSMutableArray alloc] initWithCapacity:numberOfGameTextures]; int i; for (i = 0; i < numberOfGameTextures; i ++) { NSImage *gameTextureImage = [[NSImage alloc] initWithContentsOfFile:[[gameResourceDirectoryPath stringByAppendingString:[gameTextureNames objectAtIndex:i]] stringByAppendingString:@".png"]]; [gameTextureImages addObject:gameTextureImage]; [gameTextureImage release]; } [[TextureManager getInstance] loadGameTextures:gameTextureNames fromGameResourceDirectoryPath:gameResourceDirectoryPath]; } - (void) initializeTable { NSImageCell *imageCell = [[NSImageCell alloc]init]; [[[texturesTableView tableColumns] objectAtIndex:0] setDataCell:imageCell]; [imageCell release]; [texturesTableView reloadData]; } - (int) numberOfRowsInTableView:(NSTableView *)textureTableView { return [gameTextureNames count]; } - (id) tableView:(NSTableView *)textureTableView objectValueForTableColumn:(NSTableColumn *)textureTableColumn row:(int)rowIndex { if([[textureTableColumn identifier] isEqualToString:@"image"]) { return [gameTextureImages objectAtIndex:rowIndex]; } else { return [gameTextureNames objectAtIndex:rowIndex]; } } @end --- NEW FILE: main.m --- // // main.m // Inkubator Editor // // Created by David on Sun Feb 15 2004. // Copyright (c) 2004 __MyCompanyName__. All rights reserved. // #import <Cocoa/Cocoa.h> int main(int argc, const char *argv[]) { return NSApplicationMain(argc, argv); } |
From: David F. <re...@us...> - 2004-03-07 02:54:29
|
Update of /cvsroot/inkubator/TheInkubator/Editor/Images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4259/Editor/Images Log Message: Directory /cvsroot/inkubator/TheInkubator/Editor/Images added to the repository |
From: David F. <re...@us...> - 2004-03-07 02:54:28
|
Update of /cvsroot/inkubator/TheInkubator/Editor/Inkubator.pbproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4259/Editor/Inkubator.pbproj Log Message: Directory /cvsroot/inkubator/TheInkubator/Editor/Inkubator.pbproj added to the repository |
From: David F. <re...@us...> - 2004-03-07 02:52:17
|
Update of /cvsroot/inkubator/TheInkubator/Game/2DEngine.pbproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3796/Game/2DEngine.pbproj Added Files: davidframpton.pbxuser project.pbxproj Log Message: Initial Files Added --- NEW FILE: davidframpton.pbxuser --- // !$*UTF8*$! { 29B97313FDCFA39411CA2CEA = { activeBuildStyle = 4A9504CCFFE6A4B311CA0CBA; activeExecutable = 5BCF007E05FAB63100CA18E1; activeTarget = 29B97326FDCFA39411CA2CEA; addToTargets = ( 29B97326FDCFA39411CA2CEA, ); codeSenseManager = 5BCF009105FAB64A00CA18E1; executables = ( 5BCF007E05FAB63100CA18E1, ); perUserDictionary = { PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 387, 20, 72, 43, 43, 20, ); PBXFileTableDataSourceColumnsKey = ( PBXFileDataSource_FiletypeID, PBXFileDataSource_Filename_ColumnID, PBXFileDataSource_Built_ColumnID, PBXFileDataSource_ObjectSize_ColumnID, PBXFileDataSource_Errors_ColumnID, PBXFileDataSource_Warnings_ColumnID, PBXFileDataSource_Target_ColumnID, ); }; PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 331, 74, 20, 74, 43, 43, ); PBXFileTableDataSourceColumnsKey = ( PBXFileDataSource_FiletypeID, PBXFileDataSource_Filename_ColumnID, PBXTargetDataSource_PrimaryAttribute, PBXFileDataSource_Built_ColumnID, PBXFileDataSource_ObjectSize_ColumnID, PBXFileDataSource_Errors_ColumnID, PBXFileDataSource_Warnings_ColumnID, ); }; PBXPerProjectTemplateStateSaveDate = 100318589; PBXPrepackagedSmartGroups_v2 = ( { PBXTransientLocationAtTop = bottom; absolutePathToBundle = ""; activationKey = OldTargetSmartGroup; clz = PBXTargetSmartGroup; description = "Displays all targets of the project."; globalID = 1C37FABC04509CD000000102; name = Targets; preferences = { image = Targets; }; }, { PBXTransientLocationAtTop = bottom; absolutePathToBundle = ""; clz = PBXTargetSmartGroup2; description = "Displays all targets of the project as well as nested build phases."; globalID = 1C37FBAC04509CD000000102; name = Targets; preferences = { image = Targets; }; }, { PBXTransientLocationAtTop = bottom; absolutePathToBundle = ""; clz = PBXExecutablesSmartGroup; description = "Displays all executables of the project."; globalID = 1C37FAAC04509CD000000102; name = Executables; preferences = { image = Executable; }; }, { " PBXTransientLocationAtTop " = bottom; absolutePathToBundle = ""; clz = PBXErrorsWarningsSmartGroup; description = "Displays files with errors or warnings."; globalID = 1C08E77C0454961000C914BD; name = "Errors and Warnings"; preferences = { fnmatch = ""; image = WarningsErrors; recursive = 1; regex = ""; root = "<PROJECT>"; }; }, { PBXTransientLocationAtTop = bottom; absolutePathToBundle = ""; clz = PBXFilenameSmartGroup; description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter."; globalID = 1CC0EA4004350EF90044410B; name = "Implementation Files"; preferences = { canSave = 1; fnmatch = ""; image = SmartFolder; isLeaf = 0; recursive = 1; regex = "?*\\.[mcMC]"; root = "<PROJECT>"; }; }, { PBXTransientLocationAtTop = bottom; absolutePathToBundle = ""; clz = PBXFilenameSmartGroup; description = "This group displays Interface Builder NIB Files."; globalID = 1CC0EA4004350EF90041110B; name = "NIB Files"; preferences = { canSave = 1; fnmatch = "*.nib"; image = SmartFolder; isLeaf = 0; recursive = 1; regex = ""; root = "<PROJECT>"; }; }, { PBXTransientLocationAtTop = no; absolutePathToBundle = ""; clz = PBXFindSmartGroup; description = "Displays Find Results."; globalID = 1C37FABC05509CD000000102; name = "Find Results"; preferences = { image = spyglass; }; }, { PBXTransientLocationAtTop = no; absolutePathToBundle = ""; clz = PBXBookmarksSmartGroup; description = "Displays Project Bookmarks."; globalID = 1C37FABC05539CD112110102; name = Bookmarks; preferences = { image = Bookmarks; }; }, { PBXTransientLocationAtTop = bottom; absolutePathToBundle = ""; clz = XCSCMSmartGroup; description = "Displays files with interesting SCM status."; globalID = E2644B35053B69B200211256; name = SCM; preferences = { image = PBXRepository; isLeaf = 0; }; }, { PBXTransientLocationAtTop = bottom; absolutePathToBundle = ""; clz = PBXSymbolsSmartGroup; description = "Displays all symbols for the project."; globalID = 1C37FABC04509CD000100104; name = "Project Symbols"; preferences = { image = ProjectSymbols; isLeaf = 1; }; }, { PBXTransientLocationAtTop = bottom; absolutePathToBundle = ""; clz = PBXFilenameSmartGroup; description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter."; globalID = PBXTemplateMarker; name = "Simple Filter SmartGroup"; preferences = { canSave = 1; fnmatch = "*.nib"; image = SmartFolder; isLeaf = 0; recursive = 1; regex = ""; root = "<PROJECT>"; }; }, { PBXTransientLocationAtTop = bottom; absolutePathToBundle = ""; clz = PBXFilenameSmartGroup; description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter."; globalID = PBXTemplateMarker; name = "Simple Regular Expression SmartGroup"; preferences = { canSave = 1; fnmatch = ""; image = SmartFolder; isLeaf = 0; recursive = 1; regex = "?*\\.[mcMC]"; root = "<PROJECT>"; }; }, ); PBXWorkspaceContents = ( { PBXProjectWorkspaceModule_StateKey_Rev39 = { PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = { BoundsStr = "{{0, 0}, {633, 490}}"; Rows = ( 0, ); VisibleRectStr = "{{0, 0}, {633, 490}}"; }; PBXProjectWorkspaceModule_EditorOpen = false; PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = { PBXSplitModuleInNavigatorKey = { SplitCount = 1; }; }; PBXProjectWorkspaceModule_GeometryKey_Rev15 = { PBXProjectWorkspaceModule_SGTM_Geometry = { _collapsingFrameDimension = 0; _indexOfCollapsedView = 0; _percentageOfCollapsedView = 0; sizes = ( "{{0, 0}, {182, 507}}", "{{182, 0}, {648, 507}}", ); }; }; PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {648, 507}}"; PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 0}, {750, 480}}"; PBXProjectWorkspaceModule_OldSuperviewFrame = "{{182, 0}, {648, 507}}"; PBXProjectWorkspaceModule_SGTM = { PBXBottomSmartGroupGIDs = ( 1C37FBAC04509CD000000102, 1C37FAAC04509CD000000102, 1C08E77C0454961000C914BD, 1CC0EA4004350EF90044410B, 1CC0EA4004350EF90041110B, 1C37FABC05509CD000000102, 1C37FABC05539CD112110102, E2644B35053B69B200211256, 1C37FABC04509CD000100104, ); PBXSmartGroupTreeModuleColumnData = { PBXSmartGroupTreeModuleColumnWidthsKey = ( 165, ); PBXSmartGroupTreeModuleColumnsKey_v4 = ( MainColumn, ); }; PBXSmartGroupTreeModuleOutlineStateKey_v7 = { PBXSmartGroupTreeModuleOutlineStateExpansionKey = ( 29B97314FDCFA39411CA2CEA, 29B97317FDCFA39411CA2CEA, 5B13E87505FAB7D900EE20AC, 1C37FBAC04509CD000000102, ); PBXSmartGroupTreeModuleOutlineStateSelectionKey = ( ( 14, 13, ), ); PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 0}, {165, 489}}"; }; PBXTopSmartGroupGIDs = ( ); }; }; }, ); "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXBuildResultsModule" = { }; "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugCLIModule" = { }; "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXNavigatorGroup" = { PBXSplitModuleInNavigatorKey = { SplitCount = 1; }; }; "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = { PBXProjectWorkspaceModule_StateKey_Rev39 = { PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = { BoundsStr = "{{0, 0}, {633, 490}}"; Rows = ( 0, ); VisibleRectStr = "{{0, 0}, {633, 490}}"; }; PBXProjectWorkspaceModule_EditorOpen = false; PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = { PBXSplitModuleInNavigatorKey = { SplitCount = 1; }; }; PBXProjectWorkspaceModule_GeometryKey_Rev15 = { PBXProjectWorkspaceModule_SGTM_Geometry = { _collapsingFrameDimension = 0; _indexOfCollapsedView = 0; _percentageOfCollapsedView = 0; sizes = ( "{{0, 0}, {182, 507}}", "{{182, 0}, {648, 507}}", ); }; }; PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {648, 507}}"; PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 0}, {750, 480}}"; PBXProjectWorkspaceModule_OldSuperviewFrame = "{{182, 0}, {648, 507}}"; PBXProjectWorkspaceModule_SGTM = { PBXBottomSmartGroupGIDs = ( 1C37FBAC04509CD000000102, 1C37FAAC04509CD000000102, 1C08E77C0454961000C914BD, 1CC0EA4004350EF90044410B, 1CC0EA4004350EF90041110B, 1C37FABC05509CD000000102, 1C37FABC05539CD112110102, E2644B35053B69B200211256, 1C37FABC04509CD000100104, ); PBXSmartGroupTreeModuleColumnData = { PBXSmartGroupTreeModuleColumnWidthsKey = ( 165, ); PBXSmartGroupTreeModuleColumnsKey_v4 = ( MainColumn, ); }; PBXSmartGroupTreeModuleOutlineStateKey_v7 = { PBXSmartGroupTreeModuleOutlineStateExpansionKey = ( 29B97314FDCFA39411CA2CEA, 29B97317FDCFA39411CA2CEA, 5B13E87505FAB7D900EE20AC, 1C37FBAC04509CD000000102, ); PBXSmartGroupTreeModuleOutlineStateSelectionKey = ( ( 14, 13, ), ); PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 0}, {165, 489}}"; }; PBXTopSmartGroupGIDs = ( ); }; }; }; "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXRunSessionModule" = { LauncherConfigVersion = 3; Runner = { HorizontalSplitView = { _collapsingFrameDimension = 0; _indexOfCollapsedView = 0; _percentageOfCollapsedView = 0; isCollapsed = yes; sizes = ( "{{0, 0}, {365, 167}}", "{{0, 176}, {365, 267}}", ); }; VerticalSplitView = { _collapsingFrameDimension = 0; _indexOfCollapsedView = 0; _percentageOfCollapsedView = 0; isCollapsed = yes; sizes = ( "{{0, 0}, {405, 443}}", "{{414, 0}, {514, 443}}", ); }; }; }; PBXWorkspaceGeometries = ( { Frame = "{{0, 0}, {830, 507}}"; PBXProjectWorkspaceModule_GeometryKey_Rev15 = { PBXProjectWorkspaceModule_RunWindowVisible = true; }; RubberWindowFrame = "99 246 830 549 0 0 1280 938 "; }, ); "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXBuildResultsModule" = { Frame = "{{0, 0}, {781, 367}}"; PBXModuleWindowStatusBarHidden = YES; RubberWindowFrame = "126 160 781 388 0 0 1280 938 "; }; "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugCLIModule" = { Frame = "{{0, 0}, {400, 201}}"; PBXModuleWindowStatusBarHidden = YES; RubberWindowFrame = "50 910 400 222 0 0 1280 938 "; }; "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXNavigatorGroup" = { Frame = "{{0, 0}, {693, 464}}"; PBXModuleWindowStatusBarHidden = YES; RubberWindowFrame = "138 367 693 485 0 0 1280 938 "; }; "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = { Frame = "{{0, 0}, {830, 507}}"; PBXProjectWorkspaceModule_GeometryKey_Rev15 = { PBXProjectWorkspaceModule_RunWindowVisible = true; }; RubberWindowFrame = "99 246 830 549 0 0 1280 938 "; }; "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXRunSessionModule" = { Frame = "{{0, 0}, {745, 443}}"; PBXModuleWindowStatusBarHidden = YES; RubberWindowFrame = "220 300 745 464 0 0 1280 938 "; }; PBXWorkspaceStateSaveDate = 100318589; }; sourceControlManager = 5BCF009005FAB64A00CA18E1; userBuildSettings = { }; }; 29B97326FDCFA39411CA2CEA = { activeExec = 0; executables = ( 5BCF007E05FAB63100CA18E1, ); }; 5B13E87305FAB7D900EE20AC = { uiCtxt = { sepNavWindowFrame = "{{67, 375}, {750, 558}}"; }; }; 5BCF007E05FAB63100CA18E1 = { activeArgIndex = 2147483647; activeArgIndices = ( ); argumentStrings = ( ); configStateDict = { }; debuggerPlugin = GDBDebugging; dylibVariantSuffix = ""; enableDebugStr = 1; environmentEntries = ( ); isa = PBXExecutable; name = 2DEngine; shlibInfoDictList = ( ); sourceDirectories = ( ); }; 5BCF009005FAB64A00CA18E1 = { isa = PBXSourceControlManager; scmConfiguration = { }; scmType = scm.cvs; }; 5BCF009105FAB64A00CA18E1 = { indexTemplatePath = ""; isa = PBXCodeSenseManager; usesDefaults = 1; wantsCodeCompletion = 1; wantsCodeCompletionAutoPopup = 0; wantsCodeCompletionAutoSuggestions = 0; wantsCodeCompletionCaseSensitivity = 1; wantsCodeCompletionOnlyMatchingItems = 1; wantsCodeCompletionParametersIncluded = 1; wantsCodeCompletionPlaceholdersInserted = 1; wantsCodeCompletionTabCompletes = 1; wantsIndex = 1; }; } --- NEW FILE: project.pbxproj --- // !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 39; objects = { 080E96DCFE201CFB7F000001 = { fileRef = 29B97318FDCFA39411CA2CEA; isa = PBXBuildFile; settings = { }; }; 080E96DDFE201D6D7F000001 = { children = ( 63C87DCA05DEF944004F6871, 63C87DCB05DEF944004F6871, 639ED66905D0C20B004F6871, 639ED66A05D0C20B004F6871, 639ED66B05D0C20B004F6871, 639ED66C05D0C20B004F6871, 639ED67005D0C20B004F6871, 639ED67105D0C20B004F6871, 63C4734605D59C6F004F6871, 63C4734705D59C6F004F6871, 63C4734805D59C6F004F6871, 63C4734905D59C6F004F6871, 63C4734A05D59C6F004F6871, 63C4734B05D59C6F004F6871, 639ED66E05D0C20B004F6871, 639ED66F05D0C20B004F6871, 639ED66705D0C20B004F6871, 639ED66805D0C20B004F6871, 639ED66D05D0C20B004F6871, ); isa = PBXGroup; name = Classes; refType = 4; sourceTree = "<group>"; }; 089C165CFE840E0CC02AAC07 = { children = ( 089C165DFE840E0CC02AAC07, ); isa = PBXVariantGroup; name = InfoPlist.strings; refType = 4; sourceTree = "<group>"; }; 089C165DFE840E0CC02AAC07 = { fileEncoding = 10; isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; refType = 4; sourceTree = "<group>"; }; 089C165EFE840E0CC02AAC07 = { fileRef = 089C165CFE840E0CC02AAC07; isa = PBXBuildFile; settings = { }; }; //080 //081 //082 //083 //084 //100 //101 //102 //103 //104 1058C7A0FEA54F0111CA2CBB = { children = ( 1058C7A1FEA54F0111CA2CBB, ); isa = PBXGroup; name = "Linked Frameworks"; refType = 4; sourceTree = "<group>"; }; 1058C7A1FEA54F0111CA2CBB = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; refType = 0; sourceTree = "<absolute>"; }; 1058C7A2FEA54F0111CA2CBB = { children = ( 29B97325FDCFA39411CA2CEA, 29B97324FDCFA39411CA2CEA, ); isa = PBXGroup; name = "Other Frameworks"; refType = 4; sourceTree = "<group>"; }; 1058C7A3FEA54F0111CA2CBB = { fileRef = 1058C7A1FEA54F0111CA2CBB; isa = PBXBuildFile; settings = { }; }; //100 //101 //102 //103 //104 //170 //171 //172 //173 //174 17587328FF379C6511CA2CBB = { explicitFileType = wrapper.application; fallbackIsa = PBXFileReference; isa = PBXApplicationReference; path = 2DEngine.app; refType = 3; sourceTree = BUILT_PRODUCTS_DIR; }; //170 //171 //172 //173 //174 //190 //191 //192 //193 //194 19C28FACFE9D520D11CA2CBB = { children = ( 17587328FF379C6511CA2CBB, ); isa = PBXGroup; name = Products; refType = 4; sourceTree = "<group>"; }; //190 //191 //192 //193 //194 //290 //291 //292 //293 //294 29B97313FDCFA39411CA2CEA = { buildSettings = { }; buildStyles = ( 4A9504CCFFE6A4B311CA0CBA, 4A9504CDFFE6A4B311CA0CBA, ); hasScannedForEncodings = 1; isa = PBXProject; mainGroup = 29B97314FDCFA39411CA2CEA; projectDirPath = ""; targets = ( 29B97326FDCFA39411CA2CEA, ); }; 29B97314FDCFA39411CA2CEA = { children = ( 080E96DDFE201D6D7F000001, 29B97315FDCFA39411CA2CEA, 29B97317FDCFA39411CA2CEA, 29B97323FDCFA39411CA2CEA, 19C28FACFE9D520D11CA2CBB, ); isa = PBXGroup; name = 2DEngine; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97315FDCFA39411CA2CEA = { children = ( 32CA4F630368D1EE00C91783, 29B97316FDCFA39411CA2CEA, ); isa = PBXGroup; name = "Other Sources"; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97316FDCFA39411CA2CEA = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; refType = 4; sourceTree = "<group>"; }; 29B97317FDCFA39411CA2CEA = { children = ( 5B13E87105FAB7D900EE20AC, 5B13E87205FAB7D900EE20AC, 5B13E87505FAB7D900EE20AC, 29B97318FDCFA39411CA2CEA, 089C165CFE840E0CC02AAC07, ); isa = PBXGroup; name = Resources; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97318FDCFA39411CA2CEA = { children = ( 29B97319FDCFA39411CA2CEA, ); isa = PBXVariantGroup; name = MainMenu.nib; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97319FDCFA39411CA2CEA = { isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; refType = 4; sourceTree = "<group>"; }; 29B97323FDCFA39411CA2CEA = { children = ( 639EC95505D35951004F6871, 639EC96F05D35965004F6871, 639EC97105D35976004F6871, 1058C7A0FEA54F0111CA2CBB, 1058C7A2FEA54F0111CA2CBB, ); isa = PBXGroup; name = Frameworks; path = ""; refType = 4; sourceTree = "<group>"; }; 29B97324FDCFA39411CA2CEA = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; refType = 0; sourceTree = "<absolute>"; }; 29B97325FDCFA39411CA2CEA = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; refType = 0; sourceTree = "<absolute>"; }; 29B97326FDCFA39411CA2CEA = { buildPhases = ( 29B97327FDCFA39411CA2CEA, 29B97328FDCFA39411CA2CEA, 29B9732BFDCFA39411CA2CEA, 29B9732DFDCFA39411CA2CEA, ); buildSettings = { FRAMEWORK_SEARCH_PATHS = ""; HEADER_SEARCH_PATHS = ""; INSTALL_PATH = "$(HOME)/Applications"; LIBRARY_SEARCH_PATHS = ""; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ""; PRECOMPILE_PREFIX_HEADER = YES; PREFIX_HEADER = 2DEngine_Prefix.h; PRODUCT_NAME = 2DEngine; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; WRAPPER_EXTENSION = app; }; dependencies = ( ); isa = PBXApplicationTarget; name = 2DEngine; productInstallPath = "$(HOME)/Applications"; productName = 2DEngine; productReference = 17587328FF379C6511CA2CBB; productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> <plist version=\"1.0\"> <dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> <string>2DEngine</string> <key>CFBundleIconFile</key> <string></string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>0.1</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> <string>NSApplication</string> </dict> </plist> "; }; 29B97327FDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 32CA4F650368D2AA00C91783, 639ED67205D0C20B004F6871, 639ED67405D0C20B004F6871, 639ED67605D0C20B004F6871, 639ED67905D0C20B004F6871, 639ED67B05D0C20B004F6871, 63C4734C05D59C6F004F6871, 63C4734E05D59C6F004F6871, 63C4735005D59C6F004F6871, 63C87DCC05DEF944004F6871, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 29B97328FDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 080E96DCFE201CFB7F000001, 089C165EFE840E0CC02AAC07, 5B13E87805FAB7D900EE20AC, 5B13E87905FAB7D900EE20AC, 5B13E87A05FAB7D900EE20AC, 5B13E87C05FAB7D900EE20AC, 5B13E9B505FABCEB00EE20AC, ); isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 29B9732BFDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 29B9732CFDCFA39411CA2CEA, 639ED67305D0C20B004F6871, 639ED67505D0C20B004F6871, 639ED67705D0C20B004F6871, 639ED67805D0C20B004F6871, 639ED67A05D0C20B004F6871, 639ED67C05D0C20B004F6871, 63C4734D05D59C6F004F6871, 63C4734F05D59C6F004F6871, 63C4735105D59C6F004F6871, 63C87DCD05DEF944004F6871, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 29B9732CFDCFA39411CA2CEA = { fileRef = 29B97316FDCFA39411CA2CEA; isa = PBXBuildFile; settings = { ATTRIBUTES = ( ); }; }; 29B9732DFDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 1058C7A3FEA54F0111CA2CBB, 639EC95605D35951004F6871, 639EC97005D35965004F6871, 639EC97205D35976004F6871, ); isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; //290 //291 //292 //293 //294 //320 //321 //322 //323 //324 32CA4F630368D1EE00C91783 = { fileEncoding = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = 2DEngine_Prefix.h; refType = 4; sourceTree = "<group>"; }; 32CA4F650368D2AA00C91783 = { fileRef = 32CA4F630368D1EE00C91783; isa = PBXBuildFile; settings = { }; }; //320 //321 //322 //323 //324 //4A0 //4A1 //4A2 //4A3 //4A4 4A9504CCFFE6A4B311CA0CBA = { buildRules = ( ); buildSettings = { COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; OPTIMIZATION_CFLAGS = "-O0"; ZERO_LINK = YES; }; isa = PBXBuildStyle; name = Development; }; 4A9504CDFFE6A4B311CA0CBA = { buildRules = ( ); buildSettings = { COPY_PHASE_STRIP = YES; GCC_ENABLE_FIX_AND_CONTINUE = NO; ZERO_LINK = NO; }; isa = PBXBuildStyle; name = Deployment; }; //4A0 //4A1 //4A2 //4A3 //4A4 //5B0 //5B1 //5B2 //5B3 //5B4 5B13E87105FAB7D900EE20AC = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = GameProperties.xml; path = Resources/GameProperties.xml; refType = 4; sourceTree = "<group>"; }; 5B13E87205FAB7D900EE20AC = { children = ( 5B13E87305FAB7D900EE20AC, 5B13E87405FAB7D900EE20AC, ); isa = PBXGroup; name = Images; path = Resources/Images; refType = 4; sourceTree = "<group>"; }; 5B13E87305FAB7D900EE20AC = { isa = PBXFileReference; lastKnownFileType = image.png; path = Flower.png; refType = 4; sourceTree = "<group>"; }; 5B13E87405FAB7D900EE20AC = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Textures.xml; refType = 4; sourceTree = "<group>"; }; 5B13E87505FAB7D900EE20AC = { children = ( 5B13E87705FAB7D900EE20AC, 5B13E9B405FABCEB00EE20AC, ); isa = PBXGroup; name = Scenes; path = Resources/Scenes; refType = 4; sourceTree = "<group>"; }; 5B13E87705FAB7D900EE20AC = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Scenes.xml; refType = 4; sourceTree = "<group>"; }; 5B13E87805FAB7D900EE20AC = { fileRef = 5B13E87105FAB7D900EE20AC; isa = PBXBuildFile; settings = { }; }; 5B13E87905FAB7D900EE20AC = { fileRef = 5B13E87305FAB7D900EE20AC; isa = PBXBuildFile; settings = { }; }; 5B13E87A05FAB7D900EE20AC = { fileRef = 5B13E87405FAB7D900EE20AC; isa = PBXBuildFile; settings = { }; }; 5B13E87C05FAB7D900EE20AC = { fileRef = 5B13E87705FAB7D900EE20AC; isa = PBXBuildFile; settings = { }; }; 5B13E9B405FABCEB00EE20AC = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Intro1.scene; refType = 4; sourceTree = "<group>"; }; 5B13E9B505FABCEB00EE20AC = { fileRef = 5B13E9B405FABCEB00EE20AC; isa = PBXBuildFile; settings = { }; }; //5B0 //5B1 //5B2 //5B3 //5B4 //630 //631 //632 //633 //634 639EC95505D35951004F6871 = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; refType = 0; sourceTree = "<absolute>"; }; 639EC95605D35951004F6871 = { fileRef = 639EC95505D35951004F6871; isa = PBXBuildFile; settings = { }; }; 639EC96F05D35965004F6871 = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; refType = 0; sourceTree = "<absolute>"; }; 639EC97005D35965004F6871 = { fileRef = 639EC96F05D35965004F6871; isa = PBXBuildFile; settings = { }; }; 639EC97105D35976004F6871 = { fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; refType = 0; sourceTree = "<absolute>"; }; 639EC97205D35976004F6871 = { fileRef = 639EC97105D35976004F6871; isa = PBXBuildFile; settings = { }; }; 639ED66705D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GameController.h; refType = 4; sourceTree = "<group>"; }; 639ED66805D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GameController.m; refType = 4; sourceTree = "<group>"; }; 639ED66905D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GLView.h; refType = 4; sourceTree = "<group>"; }; 639ED66A05D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GLView.m; refType = 4; sourceTree = "<group>"; }; 639ED66B05D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Interface.h; refType = 4; sourceTree = "<group>"; }; 639ED66C05D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Interface.m; refType = 4; sourceTree = "<group>"; }; 639ED66D05D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; refType = 4; sourceTree = "<group>"; }; 639ED66E05D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureManager.h; refType = 4; sourceTree = "<group>"; }; 639ED66F05D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TextureManager.m; refType = 4; sourceTree = "<group>"; }; 639ED67005D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Timer.h; refType = 4; sourceTree = "<group>"; }; 639ED67105D0C20B004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Timer.m; refType = 4; sourceTree = "<group>"; }; 639ED67205D0C20B004F6871 = { fileRef = 639ED66705D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67305D0C20B004F6871 = { fileRef = 639ED66805D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67405D0C20B004F6871 = { fileRef = 639ED66905D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67505D0C20B004F6871 = { fileRef = 639ED66A05D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67605D0C20B004F6871 = { fileRef = 639ED66B05D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67705D0C20B004F6871 = { fileRef = 639ED66C05D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67805D0C20B004F6871 = { fileRef = 639ED66D05D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67905D0C20B004F6871 = { fileRef = 639ED66E05D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67A05D0C20B004F6871 = { fileRef = 639ED66F05D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67B05D0C20B004F6871 = { fileRef = 639ED67005D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 639ED67C05D0C20B004F6871 = { fileRef = 639ED67105D0C20B004F6871; isa = PBXBuildFile; settings = { }; }; 63C4734605D59C6F004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDictionary (DisplayModeAdditions).h"; refType = 4; sourceTree = "<group>"; }; 63C4734705D59C6F004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary (DisplayModeAdditions).m"; refType = 4; sourceTree = "<group>"; }; 63C4734805D59C6F004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PreferencePanel.h; refType = 4; sourceTree = "<group>"; }; 63C4734905D59C6F004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PreferencePanel.m; refType = 4; sourceTree = "<group>"; }; 63C4734A05D59C6F004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Preferences.h; refType = 4; sourceTree = "<group>"; }; 63C4734B05D59C6F004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Preferences.m; refType = 4; sourceTree = "<group>"; }; 63C4734C05D59C6F004F6871 = { fileRef = 63C4734605D59C6F004F6871; isa = PBXBuildFile; settings = { }; }; 63C4734D05D59C6F004F6871 = { fileRef = 63C4734705D59C6F004F6871; isa = PBXBuildFile; settings = { }; }; 63C4734E05D59C6F004F6871 = { fileRef = 63C4734805D59C6F004F6871; isa = PBXBuildFile; settings = { }; }; 63C4734F05D59C6F004F6871 = { fileRef = 63C4734905D59C6F004F6871; isa = PBXBuildFile; settings = { }; }; 63C4735005D59C6F004F6871 = { fileRef = 63C4734A05D59C6F004F6871; isa = PBXBuildFile; settings = { }; }; 63C4735105D59C6F004F6871 = { fileRef = 63C4734B05D59C6F004F6871; isa = PBXBuildFile; settings = { }; }; 63C87DCA05DEF944004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XMLManager.h; refType = 4; sourceTree = "<group>"; }; 63C87DCB05DEF944004F6871 = { fileEncoding = 30; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XMLManager.m; refType = 4; sourceTree = "<group>"; }; 63C87DCC05DEF944004F6871 = { fileRef = 63C87DCA05DEF944004F6871; isa = PBXBuildFile; settings = { }; }; 63C87DCD05DEF944004F6871 = { fileRef = 63C87DCB05DEF944004F6871; isa = PBXBuildFile; settings = { }; }; }; rootObject = 29B97313FDCFA39411CA2CEA; } |
From: David F. <re...@us...> - 2004-03-07 02:52:17
|
Update of /cvsroot/inkubator/TheInkubator/Game/English.lproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3796/Game/English.lproj Added Files: InfoPlist.strings Log Message: Initial Files Added --- NEW FILE: InfoPlist.strings --- þÿ |
From: David F. <re...@us...> - 2004-03-07 02:52:17
|
Update of /cvsroot/inkubator/TheInkubator/Game/English.lproj/MainMenu.nib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3796/Game/English.lproj/MainMenu.nib Added Files: classes.nib info.nib objects.nib Log Message: Initial Files Added --- NEW FILE: classes.nib --- { IBClasses = ( {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, { ACTIONS = {fullScreen = id; }; CLASS = Interface; LANGUAGE = ObjC; OUTLETS = {glWindow = NSWindow; }; SUPERCLASS = NSResponder; }, { ACTIONS = { cancel = id; defaults = id; graphicsSlider = id; musicSlider = id; ok = id; show = id; soundSlider = id; }; CLASS = PreferencePanel; LANGUAGE = ObjC; OUTLETS = { fullScreenStart = NSButton; graphicsSlider = NSSlider; musicSlider = NSSlider; resPopUp = NSPopUpButton; soundSlider = NSSlider; theController = Controller; }; SUPERCLASS = NSPanel; }, { CLASS = theView; LANGUAGE = ObjC; OUTLETS = {fpsText = NSTextField; theController = Controller; }; SUPERCLASS = NSOpenGLView; } ); IBVersion = 1; } --- NEW FILE: info.nib --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>IBDocumentLocation</key> <string>141 137 356 241 0 0 1024 746 </string> <key>IBEditorPositions</key> <dict> <key>29</key> <string>234 496 248 44 0 0 1024 746 </string> </dict> <key>IBFramework Version</key> <string>291.0</string> <key>IBLockedObjects</key> <array> <integer>21</integer> </array> <key>IBOpenObjects</key> <array> <integer>207</integer> <integer>29</integer> <integer>21</integer> </array> <key>IBSystem Version</key> <string>6L60</string> </dict> </plist> --- NEW FILE: objects.nib --- typedstreamè@NSIBObjectData NSMenuItemùNSMenu  About Game£ OtherViews Þ ¾ 800 x 600 £ 1024 x 768£ ñáÞñƹ´·´ñ* Select Alla NSMenuItem NSTextField23¢ NSMenuItem0|*Panel NSButton1 NSTextField22óNSTextField2»2½|NSMenuItem1ë NSPopUpButton NSButton2 NSButton4´MainMenuÞ PopUpListNSMutableSet terminate: * defaults: fullScreen <@i |
From: David F. <re...@us...> - 2004-03-07 02:52:17
|
Update of /cvsroot/inkubator/TheInkubator/Game/Resources/Images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3796/Game/Resources/Images Added Files: Flower.png Textures.xml Log Message: Initial Files Added --- NEW FILE: Flower.png --- PNG 9iCCPPhotoshop ICC profile øÜ3Ö÷í¯üRê tqÝX)I)B>==ÉâÐ ÿ<Äÿ8ð¯óXÈåð9<QD¨hʸ¼8Q»yl®Â£syÿ©ÿ0ìOZk(õ @ØöJPêA#h'@8 .Ëà:¸ î`ç`¼óa!2Dä!UH2Ì d¹A>P ECqB¹Ð¨* *¡Z¨ú:]®BÐ=h~ ÞÃL©°2¬ ÃØ öá5pçÀùðN¸®Áíðø:|ó@ QCâø!H,ÂG6 H9R´ ]H/rA¦w(¢£Q¶(OT JCm@£*QGQí¨Ô-Ô(jõ MF+¡ Ð6h/ô*t:].G7 ÛÐÐwÐãè7ÑÁXa<1áÌ:L1æ BÑ ¸PX-zÊ%Ê8CÕ¡zQ¨EÔo¨ýÔYÙe²¡²Y²U²gdGhMæEK¢ÐNÐhï(/qZÂY²cIËÁ%srrr¹B¹V¹;rïåéònòò»å;ä) ô2*\RV¤*Ú*²O(ÞWôÖ)VêSUVQöPNUÞ¯|QyZ ¦â¨ R¦rVeJ¢j¯ÊU-S=§ú.Kw¢'Ñ+è=ô5%5O5¡ZZ¿Ú¼ºzzz«ú# C#V£L£[cFSUÓW3W³Yó¾^¡¯µO«WkN[G;L{vö¤NN³ÎC]²®nnîm=C/QïÞM}XßB?^¿Jÿl`iÀ58`0°½Ôz)oiÝÒaC¡aa³á¨ÍÈÇ(ϨÃè ±¦qñnã^ãO&&I&õ&LeLWævþj¦oÆ2«2»mN6w7ßhÞiþrÁ2βËîZP,|-¶Yt[|´´²ä[¶XNYiZE[U[ 3¨F1ã5ÚÚÙz£õiëw666¿ØÚ&Ú6ÙN.×YÎY^¿|ÌNÝiWk7bO·¶?d?â æÀt¨sxâ¨áÈvlppÒsJp:æôÂÙÄïÜæ<çbã²Þå¼+âêáZèÚï&ãâVéöØ]Ý=νÙ}ÆÃÂcÇyO´§·çnÏa/e/W£×Ì «ëWôx¼¼+½øèûð}º|aß¾{|®ÔZÉ[Ùáü¼üöø=ò×ñOóÿ> øÃÛl·ÕlGmçnïßa¾cÿO ìÂkE&EåEYÅ×¾2ýªâ« ±;ûK,KîÂìâíÚí°ûh©tiNéØß=íeô²Â²×{£ö^-_V^³°O¸o¤Â§¢s¿æþ]û?TÆWÞ©r®jVªÞQ=w}`ð ãÁå¢÷¸îÖzÔ¶×i×ÆÎ8ü´>´¾÷kÆ× E ð <ÚÓhÕØؤÔTÒ7§E»ùë7--µ´Ö¢ãà¸ðø³o£¿:á}¢û$ãdËwZßU·QÚ Û¡öìöøÎðÎS+NuwÙvµ}oôýÓj§«ÎÈ)9K8vá\ιÙó©ç§/Ä]ëê~pqÕÅÛ==ý¼/]¹ì~ùb¯Sï¹+vWN_µ¹zêãZÇuËëí}}m?XüÐÖoÙß~ÃêFçMë]ËÎ:^¸åzëòm¯Û×לּ302tw8rxä.ûî佤{/ïgÜ°é!úaá#©Gå×ý¨÷cëåÈQ×Ѿ'AO±ÆÿþÓñü§ä§åªf§§Ü§n>[ýlüyêóù饮~¡ûâ»_éY53þÿrá×âWò¯¼^öº{Ööñä7ós oåß}Çx×û>ìýÄ|æìz»>yz¸¼°ð÷óûÉâ¯Ê çéä úâL kQsdCG§ã4GÔÜ7ÉL,*!æZDÔªöù5<Òs°Êýænû°]v¯o/;!*%<e3)_ÒÁ iiHp ¹BgÎÔñm»Î«:©t&õÙb S@ǹ3ÉÕc>Êå¼/ge;çªPLýyí?¿ß²µç}yÿmNÛ³0ÕeÄèÍY¹¶Ã é_ }à«b«)tÃ9_ÑSH¢êà° GjÚ; ÌyÿÈ;öº6à#úã_ cô×,7hºêÃæb!f×¢£§7wí-íQ^ïîe2¼s¬õ©\ÇQ¦>¤:S¢uÁtÉ{úùývi qbC#u0fÌ#§ns)² zÑD'å,p²/ßáæ!("rô\:ÏEÌô/ I6Ê*Rû_«Wè[¥¦V°L>óø±Ç6 ¡X7×]H±3vtªÔ¨a 3õXLcr¶w²VéË qDÏ°Îwv²ç½&^¯ù¸ç¯Àzv¶[·xEI{ËmFyÃã¬7çzöZ¦Zx)Ësû;õÁÁD"Ðö:\>öËßÇÇ[K¿Pð!Å@»)Dê)+Û9nsk¾áØh+ÑWíÂrÂÆ|óٹ羚¶KUWy"Ñêß(ÈGxHn "|]í9«Päì÷¶\@b[u¤RàÔ¤Ú·¸þ8.·a ú8R©HJ-ÿÿK<ðB«ª ¨MønfãXÙÞ93£Æ!ëRR4¶Ê¯ b kÄr$JR1 -[7E¢ÞáÚÙåÏJuM_yÄâ²50cAJúÏþU¼D}_¦qÎÖúµ`dÊLì²ø?l17¤Ý2lã½S]|ÃÒA<ÔV+¥¸Ê6vØÓçüvxÚyýåÂUÈ[e ¸¢-¡ñ½ßÝ_gç¤0'\g§1WR¢õö*ÛS1g®¿ÿÁklª¢Î8TäL¸Þ×貤8ªférû[ª¬<z kݨ20æ^)Çqºø8.{¥a ˲lE¶I&.`ª<EÞÿ(hHCÃ3ãÈÐ/{ªÜ¥ÛÓîwâe|ôT(ÐyÝåBÄÝ?ppHmÐÑàYöTe_K´Õà(°gU·[Õ+©ëò #ÀX<+`YúÁvâ÷¥©¼ØçÜ«æ {ÀÐë!Ñ õ´JjÄja°PªÑc^3TÕF³¦]4ØÏÆï\kÐXõÁòÉàt]´hHÎ+òBZÔ<¿ÛGûvåÞIì ±h´ÙËi@Äñsþq!ØM<A¾Ç}ȼYVzg÷ióê¯Ówþ¥Éß_Å`ÒUã#j\Oéô?$K²¥KÖBÒ×*¶éò9ß<vmf¨Øm!²ôX\NPÇa ÿ§waM<!E£#o2aä¨óÖóëáñd>ïÅÚÐ¥¹ájÑ´6]èÓRJ£,äV*A~£+ç?ÙÔ?Kû-íå ñO¬ dy¨WÍ÷þE5¬bPÙ cD2ßÖá*[0/ÑFYìÅ}÷Ç÷ê¦ÏG9lØiEæÿUöüYï«¢úZ®¶yyñÞ` øïóòDCRLJúÑþ»Ó&lÉhq¶èZ×üµú¨ qêýîÐ`-; Ã@pâD-¢78 PÅOðÿ¾äR´$_µÃ}³ä2;;;³m`ºf³ÒÀ ãèþÄ|@^ð ËÀ¡yãZ :aÎ~èwà;ìb¦1<,ÞÑî¯Î{{Ç4]£/!H2÷¹;ÆôxýyûÝÄÑW\ùXBñÊýusÒ[T"oàLqËIs.D]*ÿ«ÕÏ£H}+Mµ¶RfR§ôÝzó&ÉâÕù=ºþðú!û_͸ÏÊ= }«ö´,_Ãp:7£§ ciBìÏ¿ Û@÷dùkÙiv·$- ZõÀõø ~¿?À¥*!àÄ«ÝÔ½aÆN!§"Ç]8¬Y¦#×%&¦¡Õð&X¹1C ÅãMáÄè:t£Rjê×å²¾F1®9xÛÅD'Ãe×/c"þ;YÖªÞnlóðéîÝËM÷:ß$©¨ñÑg82:æ_iåEÖMFçR¹)2ê$Jб98Àª>5Çô|þñ=ò=×û¦bt Àߢ~DµüAqÝîÕ×Ýìv+ë'³ÌÁâN¾s³ªæÚµ»çÝþí½±Þzÿ!ÁÆ^¸o)3ÈB¦PRÞ$ü Àµë CÑyhpssóÿÿÁh¢ðhi¡õÜR"#4Ü{^p@V»ÚqØM¼°Ñoësò èÊ°Æ2Èvíè+#¢î£à»mÙ·yßäêÿdú4N7Iúr:c¿Eà Ⱥ²ÉýÔ¸à ö' À6~bì×É`~ùPrÆ17Úýëªd[³ÜNû5î¾ý5¨F¼ù~ɦ/D×O"Vf^7Y Ëm<½G ÍävÚïwÇÓ¨`v: *YXSÀj¢ySÛà¡z\D DÌ"²a ¨µ-Qªcâݳßï?¨_ LPQ±àÌ6$à A¶®ç÷ ?+:SRÖD¾"A,ÒWàÞP¯¢îÀ+·e¬V<Â/ËÊsDUG䫤òµX ÑLcv&\%ßSR\vµ~·éa·ßÓ´èôxJBg«ýe94=½ÍÝþ¯hxð` ]Øõ*¥þ0em;Â0´Ð1ÃEÄø¼øîÿ¿úþOÆ(ÁÄ "dØÖmñ°d˺ÓÓÓf¥:R8\-9Ø/¡ÔY Ø$A¬¢4ÊâI}FXaaùºÈ7ýgÛ>ÚV*Õ¨ fVK$ÌOUhßµ²k¶ÕQO5è//RÚBÒHQ%ÏÀTò`okÉÏ$(½Àßü5:àT¿ú×RHñ@cÇ q¹,TN£ÛäiuèÊÛaw9íÏ÷ë@íغy1Z·!l æ/ ª`¦_ïKðV2·°ùÝ"§Ç vÙbq×9²ªls:>W"òÇpjno{wjÂÀ;d½¨°%è5ën ¨=¸c®HI Àµä Qj: ¦IcâÎSxíu5)àtGÓ7ï=mâã)¨%æÈ@¼HyO½!Ô`pê#ö8Ïd]üÆ^¹xôý7ÒBN|OÔóí6~iM(ÿ9×ÑßYâÜÁö0Y´T56x*wgÙº#¥IÂ'ª"¦ÙÐR·ìdbÅÊ$iÉêôY mù«r/¤¤r¢¹º94ks|ß<]ÍÝ@Åß[Ð-JähÚOXN_ÇwÕ:àµÕýkð(NEªnRöÕx8£SV]áæ7ôRÏü¦¯°Õ?+úòù)i±JÛ?UöÞðeÚѾɳ#êÅ.Î]<H$ÅV?=À¾ ÒìVa(ìoÑJfïÿ4ÛÕ¥e6K*B Þ)^¨IÎw¢rwóq,ee6®½N5!!1ÅÚ¿ä v¢rÇ;°5N)~¬oöxmV %;U*ÌúáîÅv,Wí¨aUÁrØ^{¸6¹RÃE¡ ¨«{ÕbÁq GÝm;P½`0#oRû{5h¸Û×sKöoª¬j<¥e:N%NÑÍù÷ ÖA±¤áT¬E Úçð½!¦9Uå\êî Bù"Nôà®ÊÞÃ6Ñ{°ÿ²<¸GëvèæeTCzDëâG N)fä[h´¾%¶s7®ßÉTçغîâWù[C¿é' ? qN]ÑPöúp½ãz¼`Úva 8_=ûÿ¿gE ®× $ñz½öz¥§+ãpn! #]q¸ÈÒAeNâoÕÿ³Ìj±ÆÀõ¢^Ä«ùD½tXEÜ\ÍW©$\B*(%qj@Ûñ£p5O¾Ýiè#¨ñ>ãÍcTvTi;u;àÇ`çX72Ó@Zß(µiÇV;_È]7*¬îÍ2¬pÙñ´ßÆ4u6À7w§ëlRï 53ä¬ÏË+ø8Lîµ<¿0m-;Ã0¬ï Äÿÿ#4Á®Åîè¨vÛ¡6qØ óÌðò¡¼qåk¢»'Ô"aN$* Cgð¡w.>DG0j³RWãnïMdk2â^ìjÉØNøtxÒÓÀý[ß&¥?Lá¿y¯íiàtExqfnh6ªD¯µ&?QåDi?^<¯ÀGwæÝAâÐ (ÕØ&½4öÐSÿÿÛ|Ä¢(îP^¼%3³Ë¬V[iÉ°ÔQ©¬I~:¥rG0d{'0"a|Iqéµr2A¾O}ãÚ]Ôªn§¸AÙ±EµãHià0>lfÄ Å&·Ù±XVö¸X1,Bk;\aþ«ñ4+²lAùÊê;ÈÃ?ÖoÕfëÈ00§ÅòP¼îeð¹Ù7Ä8à¢dD¹ÿêäç³K=ËM¿é+N¨%Ú¾¡dN ,Ø=^MôEf÷Î2xûÅ|`Úra è"EzèúþÿE¸ ÛúPìV«e&üóÆ/khCÚQý¢G ܪlQvÄéÓ;J%ÕÊïàZ4ÁânØMèÜé¸cãDú§ ÕÕ.ôþla÷ 0Æît¹mz¡;âe@I°Bär Ýò@ZfAV@èÚÊJ,ã+ eÛ:»4\ÛvÝó¢.Àzi¹+Åüg¢ 6pDJZ5îÍS5îk|Lýmè®S§ôGY/Þ|˦LDl;#¡$Ý1I§4½ A[eVÀçE÷Bv!F=v3¶²ö ~åüj¶ÃâùFõ8ÞáùÚÅP&=âHCª´¾´ú|(Àn Sñ3µíÈz;¹>=,#>HGxd%PâÉH|>mË^m@~´(äæv¦^Eì.oU¢¹·K±åUͪÌnWû?¤êv)=Òa¶1r¢ÿØUkîðkÙA[(ßÆo1þÿgxôàQcBi©36xoÙnf&³³µçýN`²1èx²ùlMht±'S^º×¹¹Â]ÂC²ÙéT8*Ü£.5àwr¯±}Éß>.ȪX8ÀÚA( õ'JlUF²Þê7P\ð"7gÝså@êF6;bÔ¬£ÞwP9²+ÐwÀíA×ãsÎ+|mO[¯ö<cªÂª¢V)ò2¦J; R´?Wõ@«_×'C4ÈSª«Ý·(?EäTÊWPsJѹÑ;¾|¢á k>ÉÏ UV3ÓO[E¯%í!åáÿ8v"½Þ6/ñ ~¨^Ðk±jiÿQ2ÌcÜMøéókÙaa ´! ±ß±ÿÿiwncËÔÙá©ýAEÛ1NPàåäºÀ MKùÑ Å9ùH,vYCÎ}¾>ÓWMlÓr@©«VÜ'|Ú_Y{ &(¡ üzR hxôupG2pV1jR²e_`)ÔÅñ]¿ðÍø¢|Ì/\2÷}"üBR}Å6©µ·Õ¶oZÝfeÑB9<Üå æFð`f;K-aÞ?¤XÂKâ6ØÝü_ ) ÞÂSxÿCx?üÕÔ¼A#=@faÝ¥4ìâóLÁ¢òPÞ±Ø˶\ç{L73<À«ê&îªÖ©Hgl«çwçº0kø¦æÅ4ëMnê ýd0¾ë736êßNY¦UÅæSÉÆIA4é(Ì#²áé .µÛÌ°£tñ®R òÔÏLJº}«CÒõÒSÍ6ïñ~£ì(¡üm¦ÑÝõé&ÇÐv ãÍ®æ!ñ@ÔÓ¯ÒTÝUµlÌ _ )¬¨~aúq}ª ÕiªÎ¶ àº!øºÜÖôCÓº7'µÏ70r²|_Ù ôÃÞ(ÒÌW¹¼fk ¬dçü-\[e¶âJÝæÁÈã:WM¡8«Lô©`~H}7ëm6q8º×>`ô;dåjv)b¸ñZ_È'!KJHvÁDV¢g²Èj&>;eìt£¥ °)ݹr£Ð´$ qÿ÷Äö´åìà'Ñ<i#]ûA*F1ù°jt»ü¨DuÇâ^|¦è{gà# Sû¿E© çtÈNYÏì¤8?-§¥(alS«¸çÉB_ù»©ÊÌôjOÑßL´£ ^åcà_½¾\¯¡º>Ñ*óF¦Aàz¾¡öH{Äfùó'³6 p°\f'^XÓ*,_¦à Y°;Â~ƾ|õRi½éìVUºýd/ö¼'É8àÓûÇuíïC˹4ò³,[:Mw ÀÂ7ýÊÍTK*´m(õçíFèåb&dÏí%)ß0wì£W «Ø±w¦à)´¦~xÜ¡µëj_Y÷ô÷Ç×rѸêãá:¡Î¶é£g³4 ;.%; °ë¦¼ªóCcËDîÀam!!ø&gô¼âB?üô·½»4Â6hxNK»Êâ:F¯äÈ2T:^Pq&K0º@mu\No>oë[yìűµR"¤áÄ È$ÂÄZeqdzÚ·éN<çEaYÝÀìÎ4ÐÍø]·$â¦aÉ=ů3¿focê0?æêpÎÐÿb` L 1òå5¼÷ÿ5ñþ mÝYiÊ ÛlwfgLòf<×b ¤ñ©Ä Îu. ìÜva>º)\A[òTfëb±ÑÙ³m´EÅoµ6°ÖB§ñ§×+¦ò?*zí4+²Gz%Ì<hü&:Á3ô)Ñhéaª1ÖãÝé<']ô~hÜ»nKU^?æÞõ®F!¼ÔÖ>"Ü]\ CO.7g!THåâãÉnU Õµóë2[QóDÔLÄþá3°9Úý ëZah!Pl»ð³è¼ÿ¡7®\TÇÏóm=C`÷¬=ð7 RÃ1îOØõBj®pi+\,µú¬³ÏA¡ø²iÔÔèý¯å 4Ùà:ûmnñ@3ÞÊkùaQ*¡¯5EKÀ&°Í2ÛÈWnÁ¨¬z~Víy1ÛëJet%ãQNË(¨eìÃÍsVï§Ë¿ ~g¢¼$UYô¡lÖðKEe¶^©óV×XI®Ìð<ûö¢;=sê=¯¦@(Êúø©³ËAp)´(gðß»}ñÅ@ìϺӦ'°í2ÛopbnQEµºçcq>éÿm8|qªPy½ i_Àáî¬â þ=]Äôûzóë:$kpVq Äc±ÀÅø[¾Ëã=?Ç`¸@5°×´ bvMk$ÂcÈGXx«'Ï{Æ[v¡2ªIÓcÖ'Û*?hOq K[ÒT@?D~ âÈ, i¯nºsãvV9Ajèöö_ !$Bk]ÕøäÅÜ9<EåôI.GqçÞÃÉíÏîíC¸3; iSÁÂ9ÕÝõ硯å$4×1LUé Á_ jK^]rË?µõ¨°Ó0ÌJΫƥ¶ÚI þ ¢H×çrG òìS5ØãÆî±m«bÍêͨ÷½ú´°p/åÐöíªþõy@÷k7Åuá[jÂø GÌaqa¡³¶kÃÖXJ¢ÁäL³!\%´ª¦Ø®²í )©6 ¼µP/n ½4ÀJß6V¶Ó(°<{{á:ä.æ8Pg6âP%/ &%N)Z2ÇÑP"1ÁШÕl@GɧÅ! H¯úÂÉ)l}@Çl.¢RÔÒ\wkH'Þ#ØùÇ ²LÎöè0ßÁz=êg¥\T´!Ëâ# )ÔV)!7D¢ta·ç,auvl^lÖÚÁNéÙ3Ââ[VÙè2ÈmªÔeÒ¾ÐÞÿ QE¤¨=ü®¯Õë# |*,äÒäújPP ~ð5>vâ¤Å¯ ü óæ¬líK^ ?ctx7ÇG¼óEdàì¯ Â0$¨ô¡Þôäÿ H*-IMÖÝIÅà·²3ÓûìÝ+5Û¶×Ôuî*^Õ%}¨)2 ¦H>¨ëX#2H¦ì¹¨iÚ.«uUZͶ@¦l| Vd)cÛ©|¹Ãb3`boð=0§[Äï¤znt ²zÈ¢¡Ó½È|¼3ñ RóØM-cìñ7YØ' 7Í@bT!íç¶óKßM·JÞ[£Ql1ýYg3ý¤Ô*5ã{Nj@K ¼ÓãÔ{aÃÊd'W9 å÷ý¤ÒZìYóÈúkd¤8õ w/qͬçLÓf}ÉMi¾ MFañ9úóÓ ÉÁ×J7ÅY @ÙO ¯í98ÞÀÄ@©m.Ðþ¯ë÷5M÷íûOÒ`Q쬳 Æ'ºësÕãv¿_ux½«ÇRáiLn^ÝÙ¥4gÓqPq{ñ8^SÎ 2ù¯7âzÀIçòÀ)"Z´Oy-ÅU×A3¶Û,Há@å0ò f NÞ)Þ=ÐÈæ³p©4±½\så¯l˶m\Mqá×ó-ûGp%ß·ÂÝzTYÛØ G~|[?Ѧi0 øO öÖN\³ÂùCÞß4ufq3a2Ñ Ñ»À£y¨Ö;]hkmg¼!àóîuJ=lê}<5Ûc£àÏÈد?¿×_smMSÍ ¾òV+ô(P¤óÞÍ7-FZ¹z¹Xþå©Dp¾$ÆG-U®`ÚnâIEúd%/ýn}=&qJÁ.Ãm~@W-èËߥâv§óåymß³½w0ÙSÄ0RÈ:a¯ Á¡áàÉ÷Á« MK¸0\»MÌ^ ɺ¦é¾ÿ/ú¹¢°aqýfïî>Sw2ÉîÌWZjSfR½¼*ñ'¢upn>§<lõÑP¤éÇ×õ7±þÆ$¦_·à(©'ãÉ0)°C¤QVáͨqlvèô£â}P¨)¢Ýã&º(Â+øLQD`W¢ÀÖÃmô51}ëÜà(H¯`RaÇL"$Ì9Þ \Í\;ájç÷&¯ íOQæù @ÖÙì A² øCâû¿äUJ Ån Af Ä[{%²éî|#» â}ÍÔU{Ä ýM qûsk]èºN@ZB\u1Í-KlKsCÚppüÝW¹\äÄØÁ®µóôÚz*2<¯Nw4"çûYæúË7â("ñÅ<½yÉ. Î8Ò*EeöçBqÃÜ¿Í-ËÒÎƦWÃÉáþ8nmÛÅ¥êå[ñ§ã¡*ËmHC¯ïoms¯Ã³þ@Ö¹å Q)PQªÝÿ{qþcb¬c[Z `GRu aî¹V5¶D ï%Y:Â(p(ÅçqÕ3|ÚÑ ©×uäÉ¢ hLÓVJÝÕ( 9!]üÉ¡¿=Ó$®Õ ÔÈ'²ªµzÍN8VÓÖJà¥slÖ8É~xn¨% 9¥Us)|ȸª8¢hØBÎën<ìÓBâÇPH%5'»Aú |_ÅÙÁ ÓLç%ÐW ¹.?Á_÷:°0ÐkYBÒk9ÇÅeÌh'%+¿=®)8ØO.©£f&&éûyF7,Ì55As ô½ ~øã¥H·ÏQ³ò6z^ôº`2[ÍËüÞâ¼)·q6eU9 ¸Z ê¥pÇàÐ.Ö=Ýÿh|½QqIâÒÝ_7r;¸!çþ(#G¦Ü7¸:ÃA ³5:%þ¿½ÿ=<WÐdÆD!ydÓÎ å¶ß³ÖÈmö'GlGÿôÃýÈ%'CXÒnÀhU$Iíï¯(c&D 4A{ô¬¸90a]¾ç jÌ7L\ïÌÜ%Ìôúõ5É2àh¸üÅÔôë.¤áwÚp4»¹b\° >,b.*:(2[û0-ÂÏ| êÚa ¯ªýéýoÔÓ´u¨ ʦ:Ât&l²¯Ö:ÄS ö! ³8óµ²ç @©y#÷¤êþ ĬâñâÑ?5ELÿk÷sIB( ~pÁÖûÄWa¡¥B1Ó@U¨òÉTº3ý:÷ëZR¡/Ot¹ £Æª4÷_AºÊ´Fý©tÖ¸F|Örh,òÒz¤®¦ª[ßuv¥Ð®½!Uðº`yòÓ?WNëåïÍÒ;%ë±sÒÉY!1 «*íë²WÏÇr¸oª}¿Ùæ´¡Ú!é³7ïV¤¢ZêCÑÉá9ø¹Iû!)ÊÄü$Y#UkZ§2¾erqP±kìñ' üÿÿñDÄ|`fcfJî¦Í&;03è'ø7±X8¡I¤ÓI'għ &½ sQ V, JkåØpV NÒ@çùÛ^Á9·`7I4î¡ú¹Ø¡ÝÃ}#ù=ýMsd?æÿ¾¢æoÈ2ñ*O˵Aë+ܨåúX÷µA·#o(!ÄNJNu*¬o;Õ!~ðécuz룰7e¼akgv½%CB EÔyV²vzX¼×k0"* í )äãjÌ|c7Ìî$©,lþó¶)éÔÇoPðê¹êd' ¼¶X*)ÊLÊ+ìÕ÷w@3ÖæÖ4׺}3÷ìZÖÏ ¥ó*ÁÍ¡ANRÇÍS÷Ép¡êQCª£2£4H© ðsä;Î ;¬F[¶ðÖÙÑU"®¹<,笸SòùS! °uç&¡"Jßm:ÄÅÂíƬñåôîÛì;ÒÒj&ï{¡ÚI 3*ìÑÐÁ´ ÔGÑ%}:TØTµþÀÕù¬ a\×ÕÅ-)ºtz ^ ÷îÖ¡g(ºHÐ?Cqÿ4ß()]<̺Ì7Ìì÷ Q æ0"!ØÚÈñÖX+Ü_#ó¶nafï#Ë`Vwî@ßùdÏ´ñkq°äÉT'aU=¯Ãs¨·.]R-Hï¼êád+búèÆ1{[xßQhîlk±ùwcéd¨'Êà¥åq:»g§vÛ8·n-ÔFèUôÎà @ÕÙ¤6QØÒå`K»ï ½ÿ2wH¶ (^Õt!ˬì÷Ziþç{Ùt,+(8-H$>5¶y£´NCÅ äÇØD¥¨à,PÆ[Ô#¨Û:ØðÏ+GÄFÍCÑMouÛQß¹_ôñºÖývèÔJþõôùδ{ïÕ®ómóFR(Xp¥\Jöpëß}- Fð©®JÎÚ|ÊëWj?íÀ"B½Ë2{9Íñ"bRMÍ/vÆýE|ð/J"°kAÉС2>½Hèz-½QìÍÜkݪ» cuíñ/Øø|ùþ¶Ûe¸òF:SëÿSï}Ýu÷ï¶n=äÈÇAáí4ysîµ°SÈc'·§Ù«4aêu¬qã©9m6r&ÏZ Þ¢!X>$&LÕ(ËS°UAè9I3*IyÕ40c@àþ @Ö¤ Q4iÒVAÁµçðþ7ðnu'$Î]¶Bú§3ïç%P{®ÍÏ=(;I¶¢ùxì?.NLrNfw/NpDXÔ±5PîïAï¢Êt=âDdÙeæqPÛðMÂYô¤õHs§ÿ?IeÞ¶*½¯qCò Ø?øÚoØ vN9¾{ou7×Éàz¥9vßÅAèrW´@¢0§> VÃÇÕ&?Ô¬.&æ¸+&7iòÿ®ûúCÌ2êzÿ êlr(î<÷¿ç1ÕDm :ß»%Ý4´0oæýÄûsZ¼<lÁWCQ c+©±rôAS¿èÚÜËС#)"Þ¦>g¡¬À7}Lv¡§*g÷ZÞvÜîsóéZü¹ÆËtës`·5ºmöí.) ¢®ô·ÞÄÐaÔ½Òù1-üâ#cîA "bYMs°BL¨é@Y\U¿À`K̽î¨ËÙARQìùÒʵÂq¶B¾GH¸O>¹5Jôþ+ ys ç"%¶¬¯C¸öM?Ì)ª;xÏéÈ$Ø$í<ÝLlf¹×óîxz?ö¯¦\ÄÁÍ2ò®"4¿~Û©¥=Cuíý¥ÆOq?Úª}%¶#Iº½ºù@O6¥JÓIgöVP+ÓnñQûÕì£ñ0xWèŲxz¥þºô¹¸·jpJ½ÖÄ ÔùYUóªsÇAhüOD(èi¸Á(9 H$ ñjcvÖA3ÄÙÉó¬ô,â=¹ÍI ò rà =ØH¢K·@í5_`$)áÇDä¶Xá©L"õc[ÆjrX®ÖªfXÜPøUü£Ýß»Ãqz¦[´ÌJ@k#¯ððãùot¡ý#)KÞÃîÊï§|qç1Á¨mÌ1ÙØ·±ó³EM"I Ï ì+Õcáùà²þ»ÆT#òéf¶n(ÉáE±j¢'ù$ 7\(©VUbÀ,8*ûGÁ¤sN\¸YG 4àFk òP9²÷Æ&Æ´b6áÆ¿9µ¹ «âÔÈËÁTâûóÝ×G&À mÀ]·{æÉ,ï¿'-+Õzm¸D*b1My|Yp=½ b]ÒéܤzU5azeËI*ÉþVq8F°XM)B)áe¯mÕ§¶¤Ø²?îÉ\ÐÊdwêÑ[30÷` --- NEW FILE: Textures.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <string>Flower</string> </array> </plist> |
From: David F. <re...@us...> - 2004-03-07 02:52:16
|
Update of /cvsroot/inkubator/TheInkubator/Game/Resources/Scenes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3796/Game/Resources/Scenes Added Files: Intro1.scene Scenes.xml Log Message: Initial Files Added --- NEW FILE: Intro1.scene --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>BackgroundColor</key> <dict> <key>alpha</key> <integer>0</integer> <key>blue</key> <integer>0</integer> <key>green</key> <integer>0</integer> <key>red</key> <integer>0</integer> </dict> <key>Plinths</key> <array> <dict> <key>initialPositionX</key> <integer>200</integer> <key>initialPositionY</key> <integer>200</integer> <key>texture</key> <string>Flower</string> </dict> </array> </dict> </plist> --- NEW FILE: Scenes.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <string>intro1</string> </array> </plist> |
From: David F. <re...@us...> - 2004-03-07 02:52:16
|
Update of /cvsroot/inkubator/TheInkubator/Game/Resources In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3796/Game/Resources Added Files: GameProperties.xml Log Message: Initial Files Added --- NEW FILE: GameProperties.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>iconTexture</key> <string>Flower</string> <key>name</key> <string>gfdhsjkl</string> </dict> </plist> |
From: David F. <re...@us...> - 2004-03-07 02:52:16
|
Update of /cvsroot/inkubator/TheInkubator/Game/English.lproj/MainMenu~.nib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3796/Game/English.lproj/MainMenu~.nib Added Files: classes.nib info.nib objects.nib Log Message: Initial Files Added --- NEW FILE: classes.nib --- { IBClasses = ( {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, { ACTIONS = {fullScreen = id; }; CLASS = Interface; LANGUAGE = ObjC; OUTLETS = {glWindow = NSWindow; }; SUPERCLASS = NSResponder; }, { ACTIONS = { cancel = id; defaults = id; graphicsSlider = id; musicSlider = id; ok = id; show = id; soundSlider = id; }; CLASS = PreferencePanel; LANGUAGE = ObjC; OUTLETS = { fullScreenStart = NSButton; graphicsSlider = NSSlider; musicSlider = NSSlider; resPopUp = NSPopUpButton; soundSlider = NSSlider; theController = Controller; }; SUPERCLASS = NSPanel; }, { CLASS = theView; LANGUAGE = ObjC; OUTLETS = {fpsText = NSTextField; theController = Controller; }; SUPERCLASS = NSOpenGLView; } ); IBVersion = 1; } --- NEW FILE: info.nib --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>IBDocumentLocation</key> <string>141 137 356 241 0 0 1024 746 </string> <key>IBEditorPositions</key> <dict> <key>29</key> <string>234 496 248 44 0 0 1024 746 </string> </dict> <key>IBFramework Version</key> <string>291.0</string> <key>IBLockedObjects</key> <array> <integer>21</integer> </array> <key>IBOpenObjects</key> <array> <integer>207</integer> <integer>29</integer> <integer>21</integer> </array> <key>IBSystem Version</key> <string>6L60</string> </dict> </plist> --- NEW FILE: objects.nib --- typedstreamè@NSIBObjectData NSMenuItemùNSMenu  About Game£ OtherViews Þ ¾ 800 x 600 £ 1024 x 768£ ñáÞñƹ´·´ñ* Select Alla NSMenuItem NSTextField23¢ NSMenuItem0|*Panel NSButton1 NSTextField22óNSTextField2»2½|NSMenuItem1ë NSPopUpButton NSButton2 NSButton4´MainMenuÞ PopUpListNSMutableSet terminate: * defaults: fullScreen <@i |
From: David F. <re...@us...> - 2004-03-07 02:52:16
|
Update of /cvsroot/inkubator/TheInkubator/Game In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3796/Game Added Files: Interface.m Log Message: Initial Files Added --- NEW FILE: Interface.m --- #import "Interface.h" #import "GameController.h" #include <unistd.h> @interface Interface (InternalMethods) - (void) setupRenderTimer; - (void) updateGLView:(NSTimer *)timer; - (void) updateFrame; - (void) createFailed; @end @implementation Interface - (void) awakeFromNib { _thePrefs = [[Preferences alloc ] init]; _originalScreenHeight = CGDisplayPixelsHigh(kCGDirectMainDisplay); [NSApp setDelegate:self]; _renderTimer = nil; _glView = [[GLView alloc] initWithFrame:[glWindow frame]fullscreen:FALSE]; if( _glView != nil ) { [glWindow setContentView:_glView]; [glWindow makeKeyAndOrderFront:self]; [glWindow makeFirstResponder:_glView]; [glWindow setAcceptsMouseMovedEvents:YES]; [self setupRenderTimer]; } else [self createFailed]; if([[NSUserDefaults standardUserDefaults] boolForKey:@"startFullScreen"]) { [self fullScreen:self]; } [[GameController theGameController] initializeInterface:self]; } - (void) setupRenderTimer { NSTimeInterval timeInterval = 0.001; _renderTimer = [ [ NSTimer scheduledTimerWithTimeInterval:timeInterval target:self selector:@selector( updateFrame ) userInfo:nil repeats:YES ] retain ]; [ [ NSRunLoop currentRunLoop ] addTimer:_renderTimer forMode:NSEventTrackingRunLoopMode ]; [ [ NSRunLoop currentRunLoop ] addTimer:_renderTimer forMode:NSModalPanelRunLoopMode ]; } - (void) updateFrame { while ([_glView isFullScreen]) { while ((_event = [[NSApplication sharedApplication] nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantPast] inMode:NSEventTrackingRunLoopMode dequeue:YES]) != nil) { [self handleEvents]; } [_glView drawFrame]; } [_glView drawFrame]; } - (void)handleEvents { if ([_event type] == NSKeyDown) { [self keyDown:_event]; } else if ([_event type] == NSKeyUp) { [self keyUp:_event]; } else if ([_event type] == NSLeftMouseDown) { [self mouseDown:_event]; } else if ([_event type] == NSMouseMoved) { [self mouseMoved:_event]; } } - (void)keyDown:(NSEvent *)theEvent { // Handle events that only apply to full screen unichar unicodeKey; unicodeKey = [ [ theEvent charactersIgnoringModifiers ] characterAtIndex:0 ]; if(([theEvent modifierFlags] == NSCommandKeyMask) && ( unicodeKey == 'f' || unicodeKey == 'q' || unicodeKey == 'e' ) || unicodeKey == 27 ) { switch(unicodeKey) { case 'f': [self fullScreen:self]; break; case 'q': if(_renderTimer != nil && [_renderTimer isValid] ) [_renderTimer invalidate]; if([_glView isFullScreen]) { [self fullScreen:self]; } [[NSApplication sharedApplication] terminate:self]; break; case 27: if([_glView isFullScreen]) { [self fullScreen:self]; } break; } } // Give the rest to the view to handle else [_glView keyDown:theEvent]; } - (void) quit { if(_renderTimer != nil && [_renderTimer isValid]) [_renderTimer invalidate]; if([_glView isFullScreen]) { [self fullScreen:self]; } [[NSApplication sharedApplication] terminate:self]; } - (void)keyUp:(NSEvent *)theEvent { unichar unicodeKey; unicodeKey = [ [ theEvent charactersIgnoringModifiers ] characterAtIndex:0 ]; if ([theEvent isARepeat]) { return; } [_glView keyUp:theEvent]; } - (void)mouseDown:(NSEvent *)theEvent { NSPoint mouseLoc; if(![_glView isFullScreen]) { theEvent = [glWindow nextEventMatchingMask: NSLeftMouseUpMask]; mouseLoc = [_glView convertPoint:[theEvent locationInWindow] fromView:nil]; } else { mouseLoc = [NSEvent mouseLocation]; float screenWidth; float screenHeight; screenWidth = CGDisplayPixelsWide(kCGDirectMainDisplay); screenHeight = CGDisplayPixelsHigh(kCGDirectMainDisplay); float viewHeight = screenWidth * 0.625; float viewBottom = (screenHeight - viewHeight) * 0.5; if(viewHeight >= screenHeight) { viewHeight = screenHeight; } float widthFactor = 768 / screenWidth; float heightFactor = 480 / viewHeight; mouseLoc.x *= widthFactor; float mouseY = mouseLoc.y; mouseY -= _originalScreenHeight - screenHeight; mouseY = (mouseY - viewBottom) * heightFactor; mouseLoc.y = mouseY; } [self checkClick:mouseLoc]; } - (void) checkClick:(NSPoint)mouseLoc { [[GameController theGameController] checkClick:mouseLoc]; } - (void)mouseMoved:(NSEvent *)theEvent { NSPoint mouseLoc = [ NSEvent mouseLocation ]; float screenWidth; float screenHeight; screenWidth = CGDisplayPixelsWide(kCGDirectMainDisplay); screenHeight = CGDisplayPixelsHigh(kCGDirectMainDisplay); float viewHeight = screenWidth * 0.625; float viewBottom = (screenHeight - viewHeight) * 0.5; if(viewHeight >= screenHeight) { viewHeight = screenHeight; } float widthFactor = 768 / screenWidth; float heightFactor = 480 / viewHeight; mouseLoc.x *= widthFactor; float mouseY = mouseLoc.y; mouseY -= _originalScreenHeight - screenHeight; mouseY = (mouseY - viewBottom) * heightFactor; mouseLoc.y = mouseY; [[GameController theGameController] checkMouseOver:mouseLoc]; } - (IBAction)fullScreen:(id)sender { [glWindow setContentView:nil ]; if([_glView isFullScreen]) { [_glView setFullScreen:FALSE inFrame:[glWindow frame]]; [glWindow setContentView:_glView]; [glWindow makeFirstResponder:_glView]; ShowMenuBar(); } else { NSDictionary *resType = [[NSUserDefaults standardUserDefaults] objectForKey:@"resType"]; long width = [[resType objectForKey:@"width"]longValue]; long height = [[resType objectForKey:@"height"]longValue]; [_glView setFullScreen:TRUE inFrame:NSMakeRect( 0, 0, width, height )]; HideMenuBar(); } } - (void) createFailed { NSWindow *infoWindow; infoWindow = NSGetCriticalAlertPanel( @"Initialization failed", @"Failed to initialize OpenGL", @"OK", nil, nil ); [ NSApp runModalForWindow:infoWindow ]; [ infoWindow close ]; [ NSApp terminate:self ]; } - (void)applicationWillTerminate:(NSNotification *)notification { // [[ResourceVault theVault]dealloc]; if(_renderTimer != nil && [_renderTimer isValid]) [_renderTimer invalidate]; if([_glView isFullScreen]) { [self fullScreen:self]; } [_glView release]; [glWindow release]; } - (void) dealloc { [_thePrefs release]; } @end |
From: David F. <re...@us...> - 2004-03-07 02:52:15
|
Update of /cvsroot/inkubator/TheInkubator/Editor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3796/Editor Added Files: Timer.h Timer.m XMLManager.h XMLManager.m Log Message: Initial Files Added --- NEW FILE: Timer.h --- #import <Foundation/Foundation.h> @interface Timer : NSObject { double frameInterval; NSTimeInterval elapsed; NSTimeInterval lastFrame; unsigned int frameCount; float FPS; } - (double) calculateFrameInterval; - (float) FPS; @end --- NEW FILE: Timer.m --- #import "Timer.h" #import <OpenGL/OpenGL.h> #import <OpenGL/gl.h> #import <OpenGL/glu.h> @implementation Timer - (id) init { lastFrame = +[NSDate timeIntervalSinceReferenceDate]; return self; } - (double) calculateFrameInterval { NSTimeInterval thisFrame = +[NSDate timeIntervalSinceReferenceDate]; frameInterval = (thisFrame - lastFrame); elapsed += frameInterval; ++frameCount; lastFrame = thisFrame; if (elapsed > 1.0) { FPS = frameCount / elapsed; frameCount = 0; elapsed = 0; } if (frameInterval > 0.25) frameInterval = 0.25; return frameInterval; } - (float) FPS { return FPS; } @end --- NEW FILE: XMLManager.h --- #import <Foundation/Foundation.h> @interface XMLManager : NSObject { } + (XMLManager *) getInstance; - (NSDictionary *) loadDictionaryFromResourceXMLFile:(NSString *)fileName; - (NSDictionary *) loadDictionaryFromAbsoluteXMLFile:(NSString *)fileName; - (NSDictionary *) loadDictionaryFromData:(NSData *)data; - (NSArray *) loadArrayFromResourceXMLFile:(NSString *)fileName; - (NSArray *) loadArrayFromAbsoluteXMLFile:(NSString *)fileName; - (NSArray *) loadArrayFromData:(NSData *)data; - (void) writeDictionary:(NSDictionary *)plist toXMLFile:(NSString *)fileName; - (void) writeArray:(NSArray *)plist toXMLFile:(NSString *)fileName; @end --- NEW FILE: XMLManager.m --- #import "XMLManager.h" @implementation XMLManager + (XMLManager *) getInstance { static XMLManager *instance = nil; if (instance == nil) { instance = [[XMLManager alloc]init]; } return instance; } - (NSDictionary *) loadDictionaryFromResourceXMLFile:(NSString *)fileName { NSData *plistData; plistData = [NSData dataWithContentsOfFile: [[NSBundle mainBundle] pathForResource:fileName ofType:@"xml"]]; if(plistData == NULL) { return NULL; } return [self loadDictionaryFromData:(NSData *)plistData]; } - (NSDictionary *) loadDictionaryFromAbsoluteXMLFile:(NSString *)fileName { NSData *plistData; plistData = [NSData dataWithContentsOfFile:fileName]; if(plistData == NULL) { return NULL; } return [self loadDictionaryFromData:(NSData *)plistData]; } - (NSDictionary *) loadDictionaryFromData:(NSData *)data { NSString *error = [[NSString alloc] initWithFormat:@"Error reading xml file"]; NSPropertyListFormat format; NSDictionary *plist; plist = [NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&error]; if(!plist) { NSLog(error); [error release]; return NULL; } return plist; } - (NSArray *) loadArrayFromResourceXMLFile:(NSString *)fileName { NSData *plistData; plistData = [NSData dataWithContentsOfFile: [[NSBundle mainBundle] pathForResource:fileName ofType:@"xml"]]; if(plistData == NULL) { return NULL; } return [self loadArrayFromData:(NSData *)plistData]; } - (NSArray *) loadArrayFromAbsoluteXMLFile:(NSString *)fileName { NSData *plistData; plistData = [NSData dataWithContentsOfFile:fileName]; if(plistData == NULL) { return NULL; } return [self loadArrayFromData:(NSData *)plistData]; } - (NSArray *) loadArrayFromData:(NSData *)data { NSString *error = [[NSString alloc] initWithFormat:@"Error reading xml file"]; NSPropertyListFormat format; NSArray *plist; plist = [NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&error]; if(!plist) { NSLog(error); [error release]; return NULL; } return plist; } - (void) writeDictionary:(NSDictionary *)plist toXMLFile:(NSString *)fileName { NSData *xmlData; NSString *error = [[NSString alloc] initWithString:@"error writing to xml file"]; xmlData = [NSPropertyListSerialization dataFromPropertyList:plist format:NSPropertyListXMLFormat_v1_0 errorDescription:&error]; if(xmlData) { NSLog(@"No error creating XML data to"); if([xmlData writeToFile:fileName atomically:YES]) { NSLog(@"xmlData successfully written to:"); NSLog(fileName); } else { NSLog(@"xmlData unsuccessfully written to:"); NSLog(fileName); } } else { NSLog(error); [error release]; } } - (void) writeArray:(NSArray *)plist toXMLFile:(NSString *)fileName { NSData *xmlData; NSString *error = [[NSString alloc] initWithString:@"error writing to xml file"]; xmlData = [NSPropertyListSerialization dataFromPropertyList:plist format:NSPropertyListXMLFormat_v1_0 errorDescription:&error]; if(xmlData) { NSLog(@"No error creating XML data."); [xmlData writeToFile:fileName atomically:YES]; } else { NSLog(error); [error release]; } } @end |
From: David F. <re...@us...> - 2004-03-07 02:47:36
|
Update of /cvsroot/inkubator/TheInkubator/Game/English.lproj/MainMenu.nib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3072/Game/English.lproj/MainMenu.nib Log Message: Directory /cvsroot/inkubator/TheInkubator/Game/English.lproj/MainMenu.nib added to the repository |
From: David F. <re...@us...> - 2004-03-07 02:47:34
|
Update of /cvsroot/inkubator/TheInkubator/Game/English.lproj/MainMenu~.nib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3072/Game/English.lproj/MainMenu~.nib Log Message: Directory /cvsroot/inkubator/TheInkubator/Game/English.lproj/MainMenu~.nib added to the repository |
From: David F. <re...@us...> - 2004-03-07 02:47:33
|
Update of /cvsroot/inkubator/TheInkubator/Game/Resources/Images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3072/Game/Resources/Images Log Message: Directory /cvsroot/inkubator/TheInkubator/Game/Resources/Images added to the repository |
From: David F. <re...@us...> - 2004-03-07 02:47:33
|
Update of /cvsroot/inkubator/TheInkubator/Game/Resources/Scenes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3072/Game/Resources/Scenes Log Message: Directory /cvsroot/inkubator/TheInkubator/Game/Resources/Scenes added to the repository |