Merge branch 'iss1405_multi_resolution' of https://github.com/minggo/cocos2d-x into minggo_res

This commit is contained in:
James Chen 2012-08-09 17:19:20 +08:00
commit 6e2cace72d
12 changed files with 46 additions and 371 deletions

View File

@ -1,12 +1,8 @@
#ifndef __CC_APPLICATION_PROTOCOL_H__
#define __CC_APPLICATION_PROTOCOL_H__
#include "ccTypes.h"
NS_CC_BEGIN
class CCRect;
/**
* @addtogroup platform
* @{

View File

@ -41,7 +41,6 @@ public:
virtual bool isOpenGLReady();
virtual bool isIpad();
virtual bool setContentScaleFactor(float contentScaleFactor);
virtual CCSize getFrameSize();
virtual bool enableRetina();
// keep compatible

View File

@ -44,74 +44,6 @@ USING_NS_CC;
static void static_addValueToCCDict(id key, id value, CCDictionary* pDict);
static void static_addItemToCCArray(id item, CCArray* pArray);
static NSFileManager *__localFileManager= [[NSFileManager alloc] init];
static NSString* removeSuffixFromPath(NSString *suffix, NSString *path)
{
// quick return
if( ! suffix || [suffix length] == 0 )
{
return path;
}
NSString *name = [path lastPathComponent];
// check if path already has the suffix.
if( [name rangeOfString:suffix].location != NSNotFound ) {
CCLOG("cocos2d: Filename(%s) contains %s suffix. Removing it. See cocos2d issue #1040", [path UTF8String], [suffix UTF8String]);
NSString *newLastname = [name stringByReplacingOccurrencesOfString:suffix withString:@""];
NSString *pathWithoutLastname = [path stringByDeletingLastPathComponent];
return [pathWithoutLastname stringByAppendingPathComponent:newLastname];
}
return path;
}
static NSString* getPathForSuffix(NSString *path, NSString *suffix)
{
// quick return
if( ! suffix || [suffix length] == 0 )
{
return path;
}
NSString *pathWithoutExtension = [path stringByDeletingPathExtension];
NSString *name = [pathWithoutExtension lastPathComponent];
// check if path already has the suffix.
if( [name rangeOfString:suffix].location != NSNotFound ) {
CCLOG("cocos2d: WARNING Filename(%s) already has the suffix %s. Using it.", [name UTF8String], [suffix UTF8String]);
return path;
}
NSString *extension = [path pathExtension];
if( [extension isEqualToString:@"ccz"] || [extension isEqualToString:@"gz"] )
{
// All ccz / gz files should be in the format filename.xxx.ccz
// so we need to pull off the .xxx part of the extension as well
extension = [NSString stringWithFormat:@"%@.%@", [pathWithoutExtension pathExtension], extension];
pathWithoutExtension = [pathWithoutExtension stringByDeletingPathExtension];
}
NSString *newName = [pathWithoutExtension stringByAppendingString:suffix];
newName = [newName stringByAppendingPathExtension:extension];
if( [__localFileManager fileExistsAtPath:newName] )
return newName;
CCLOG("cocos2d: CCFileUtils: Warning file not found: %s", [[newName lastPathComponent] UTF8String] );
return nil;
}
static void static_addItemToCCArray(id item, CCArray *pArray)
{
// add string value into array
@ -241,32 +173,6 @@ void CCFileUtils::setResourceDirectory(const char *pszDirectoryName)
m_obDirectory = pszDirectoryName;
}
bool fileExistsAtPath(const char *cpath, const char *csuffix)
{
NSString *fullpath = nil;
NSString *relPath = [NSString stringWithUTF8String:cpath];
NSString *suffix = [NSString stringWithUTF8String:csuffix];
// only if it is not an absolute path
if( ! [relPath isAbsolutePath] ) {
// pathForResource also searches in .lproj directories. issue #1230
NSString *file = [relPath lastPathComponent];
NSString *imageDirectory = [relPath stringByDeletingLastPathComponent];
fullpath = [[NSBundle mainBundle] pathForResource:file
ofType:nil
inDirectory:imageDirectory];
}
if (fullpath == nil)
fullpath = relPath;
NSString *path = getPathForSuffix(fullpath, suffix);
return ( path != nil );
}
const char* CCFileUtils::fullPathFromRelativePath(const char *pszRelativePath)
{
CCAssert(pszRelativePath != NULL, "CCFileUtils: Invalid path");

View File

@ -31,9 +31,6 @@ THE SOFTWARE.
NS_CC_BEGIN;
class CCRect;
class CCApplication;
class CC_DLL CCApplication : public CCApplicationProtocol
{
public:
@ -69,6 +66,7 @@ public:
virtual ccLanguageType getCurrentLanguage();
virtual bool isIpad();
virtual bool isIos();
protected:
static CCApplication * sm_pSharedApplication;

View File

@ -86,6 +86,11 @@ bool CCApplication::isIpad()
return isIPad;
}
bool CCApplication::isIos()
{
return false;
}
/////////////////////////////////////////////////////////////////////////////////////////////////
// static member function
//////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -39,12 +39,9 @@ public:
CCEGLView();
virtual ~CCEGLView();
CCSize getSize();
bool isOpenGLReady();
bool canSetContentScaleFactor();
bool isIpad();
void setContentScaleFactor(float contentScaleFactor);
virtual CCSize getFrameSize();
virtual bool setContentScaleFactor(float contentScaleFactor);
void end();
void swapBuffers();

View File

@ -32,18 +32,14 @@ namespace cocos2d {
CCEGLView::CCEGLView()
{
m_obScreenSize.width = m_obDesignResolutionSize.width = [[EAGLView sharedEGLView] getWidth];
m_obScreenSize.height = m_obDesignResolutionSize.height = [[EAGLView sharedEGLView] getHeight];
}
CCEGLView::~CCEGLView()
{
}
cocos2d::CCSize CCEGLView::getSize()
{
cocos2d::CCSize size([[EAGLView sharedEGLView] getWidth], [[EAGLView sharedEGLView] getHeight]);
return size;
}
bool CCEGLView::isIpad()
{
return false;
@ -53,19 +49,10 @@ bool CCEGLView::isOpenGLReady()
{
return [EAGLView sharedEGLView] != NULL;
}
bool CCEGLView::canSetContentScaleFactor()
{
return false;
// return [[EAGLView sharedEGLView] respondsToSelector:@selector(setContentScaleFactor:)]
// && [[NSScreen mainScreen] scale] != 1.0;
}
void CCEGLView::setContentScaleFactor(float contentScaleFactor)
bool CCEGLView::setContentScaleFactor(float contentScaleFactor)
{
// NSView * view = [EAGLView sharedEGLView];
// view.contentScaleFactor = contentScaleFactor;
// [view setNeedsLayout];
return false;
}
void CCEGLView::end()
@ -82,12 +69,6 @@ void CCEGLView::swapBuffers()
{
[[EAGLView sharedEGLView] swapBuffers];
}
CCSize CCEGLView::getFrameSize()
{
assert(false);
return CCSizeMake(0, 0);
}
void CCEGLView::setIMEKeyboardState(bool bOpen)
{

View File

@ -44,9 +44,6 @@ USING_NS_CC;
static void static_addValueToCCDict(id key, id value, CCDictionary* pDict);
static void static_addItemToCCArray(id item, CCArray* pArray);
static NSString *__suffixiPhoneRetinaDisplay =@"-hd";
static NSString *__suffixiPad =@"-ipad";
static NSString *__suffixiPadRetinaDisplay =@"-ipadhd";
static NSFileManager *__localFileManager= [[NSFileManager alloc] init];
static bool isIPad()
@ -54,71 +51,6 @@ static bool isIPad()
return CCApplication::sharedApplication().isIpad();
}
static NSString* removeSuffixFromPath(NSString *suffix, NSString *path)
{
// quick return
if( ! suffix || [suffix length] == 0 )
{
return path;
}
NSString *name = [path lastPathComponent];
// check if path already has the suffix.
if( [name rangeOfString:suffix].location != NSNotFound ) {
CCLOG("cocos2d: Filename(%s) contains %s suffix. Removing it. See cocos2d issue #1040", [path UTF8String], [suffix UTF8String]);
NSString *newLastname = [name stringByReplacingOccurrencesOfString:suffix withString:@""];
NSString *pathWithoutLastname = [path stringByDeletingLastPathComponent];
return [pathWithoutLastname stringByAppendingPathComponent:newLastname];
}
return path;
}
static NSString* getPathForSuffix(NSString *path, NSString *suffix)
{
// quick return
if( ! suffix || [suffix length] == 0 )
{
return path;
}
NSString *pathWithoutExtension = [path stringByDeletingPathExtension];
NSString *name = [pathWithoutExtension lastPathComponent];
// check if path already has the suffix.
if( [name rangeOfString:suffix].location != NSNotFound ) {
CCLOG("cocos2d: WARNING Filename(%s) already has the suffix %s. Using it.", [name UTF8String], [suffix UTF8String]);
return path;
}
NSString *extension = [path pathExtension];
if( [extension isEqualToString:@"ccz"] || [extension isEqualToString:@"gz"] )
{
// All ccz / gz files should be in the format filename.xxx.ccz
// so we need to pull off the .xxx part of the extension as well
extension = [NSString stringWithFormat:@"%@.%@", [pathWithoutExtension pathExtension], extension];
pathWithoutExtension = [pathWithoutExtension stringByDeletingPathExtension];
}
NSString *newName = [pathWithoutExtension stringByAppendingString:suffix];
newName = [newName stringByAppendingPathExtension:extension];
if( [__localFileManager fileExistsAtPath:newName] )
return newName;
CCLOG("cocos2d: CCFileUtils: Warning file not found: %s", [[newName lastPathComponent] UTF8String] );
return nil;
}
static void static_addItemToCCArray(id item, CCArray *pArray)
{
// add string value into array
@ -217,7 +149,6 @@ static void static_addValueToCCDict(id key, id value, CCDictionary* pDict)
NS_CC_BEGIN
bool fileExistsAtPath(const char *cpath, const char *csuffix);
CCDictionary* ccFileUtils_dictionaryWithContentsOfFileThreadSafe(const char *pFileName);
CCArray* ccFileUtils_arrayWithContentsOfFileThreadSafe(const char* pFileName);
@ -247,169 +178,47 @@ void CCFileUtils::purgeCachedEntries()
}
void CCFileUtils::setResourcePath(const char *pszResourcePath)
void CCFileUtils::setResourceDirectory(const char *pszDirectoryName)
{
assert(0);
}
std::string& CCFileUtils::removeSuffixFromFile(std::string& cpath )
{
NSString *ret = nil;
NSString *path = [NSString stringWithUTF8String:cpath.c_str()];
if( isIPad() )
{
if( CC_CONTENT_SCALE_FACTOR() == 2 )
{
ret = removeSuffixFromPath(__suffixiPadRetinaDisplay, path);
}
else
{
ret = removeSuffixFromPath(__suffixiPad, path);
}
}
else
{
if( CC_CONTENT_SCALE_FACTOR() == 2 )
{
ret = removeSuffixFromPath(__suffixiPhoneRetinaDisplay, [NSString stringWithUTF8String:cpath.c_str()]);
}
else
{
ret = path;
}
}
cpath = [ret UTF8String];
return cpath;
}
void CCFileUtils::setiPhoneRetinaDisplaySuffix(const char *suffix)
{
[__suffixiPhoneRetinaDisplay release];
__suffixiPhoneRetinaDisplay = [[NSString stringWithUTF8String:suffix] retain];
}
void CCFileUtils::setiPadSuffix(const char *suffix)
{
[__suffixiPad release];
__suffixiPad = [[NSString stringWithUTF8String:suffix] retain];
}
void CCFileUtils::setiPadRetinaDisplaySuffix(const char *suffix)
{
[__suffixiPadRetinaDisplay release];
__suffixiPadRetinaDisplay = [[NSString stringWithUTF8String:suffix] retain];
}
bool fileExistsAtPath(const char *cpath, const char *csuffix)
{
NSString *fullpath = nil;
NSString *relPath = [NSString stringWithUTF8String:cpath];
NSString *suffix = [NSString stringWithUTF8String:csuffix];
// only if it is not an absolute path
if( ! [relPath isAbsolutePath] ) {
// pathForResource also searches in .lproj directories. issue #1230
NSString *file = [relPath lastPathComponent];
NSString *imageDirectory = [relPath stringByDeletingLastPathComponent];
fullpath = [[NSBundle mainBundle] pathForResource:file
ofType:nil
inDirectory:imageDirectory];
}
if (fullpath == nil)
fullpath = relPath;
NSString *path = getPathForSuffix(fullpath, suffix);
return ( path != nil );
}
bool CCFileUtils::iPhoneRetinaDisplayFileExistsAtPath(const char *cpath)
{
return fileExistsAtPath(cpath, [__suffixiPhoneRetinaDisplay UTF8String]);
}
bool CCFileUtils::iPadFileExistsAtPath(const char *cpath)
{
return fileExistsAtPath(cpath, [__suffixiPad UTF8String]);
}
bool CCFileUtils::iPadRetinaDisplayFileExistsAtPath(const char *cpath)
{
return fileExistsAtPath(cpath, [__suffixiPadRetinaDisplay UTF8String]);
m_obDirectory = pszDirectoryName;
}
const char* CCFileUtils::fullPathFromRelativePath(const char *pszRelativePath)
{
ccResolutionType ignore;
return fullPathFromRelativePath(pszRelativePath, &ignore);
}
const char* CCFileUtils::fullPathFromRelativePath(const char *pszRelativePath, ccResolutionType *pResolutionType)
{
CCAssert(pszRelativePath != NULL, "CCFileUtils: Invalid path");
NSString *fullpath = nil;
NSString *relPath = [NSString stringWithUTF8String:pszRelativePath];
// only if it is not an absolute path
if( ! [relPath isAbsolutePath] ) {
// pathForResource also searches in .lproj directories. issue #1230
NSString *file = [relPath lastPathComponent];
NSString *imageDirectory = [relPath stringByDeletingLastPathComponent];
NSMutableString *imageDirectory = [NSMutableString stringWithUTF8String:m_obDirectory.c_str()];
NSMutableString *imageDirectoryWithDirectory = imageDirectory;
[imageDirectoryWithDirectory appendString:[relPath stringByDeletingLastPathComponent]];
// search path from directory set by setResourceDirectory
fullpath = [[NSBundle mainBundle] pathForResource:file
ofType:nil
inDirectory:imageDirectory];
ofType:nil
inDirectory:imageDirectoryWithDirectory];
if (fullpath == nil)
{
// search from root directory
fullpath = [[NSBundle mainBundle] pathForResource:file
ofType:nil
inDirectory:imageDirectory];
}
}
if (fullpath == nil)
{
fullpath = relPath;
}
NSString *ret = nil;
// iPad?
if( isIPad() )
{
// Retina Display ?
if( CC_CONTENT_SCALE_FACTOR() == 2 ) {
ret = getPathForSuffix(fullpath, __suffixiPadRetinaDisplay);
*pResolutionType = kCCResolutioniPadRetinaDisplay;
}
else
{
ret = getPathForSuffix(fullpath, __suffixiPad);
*pResolutionType = kCCResolutioniPad;
}
}
// iPhone ?
else
{
// Retina Display ?
if( CC_CONTENT_SCALE_FACTOR() == 2 ) {
ret = getPathForSuffix(fullpath, __suffixiPhoneRetinaDisplay);
*pResolutionType = kCCResolutioniPhoneRetinaDisplay;
}
}
// If it is iPhone Non RetinaDisplay, or if the previous "getPath" failed, then use iPhone images.
if( ret == nil )
{
*pResolutionType = kCCResolutioniPhone;
ret = fullpath;
}
return [ret UTF8String];
return [fullpath UTF8String];
}
const char *CCFileUtils::fullPathFromRelativeFile(const char *pszFilename, const char *pszRelativeFile)

View File

@ -268,7 +268,7 @@ static bool _initWithFile(const char* path, tImageInfo *pImageinfo)
{
CGImageRef CGImage;
NSImage *jpg;
NSImage *png;
//NSImage *png;
bool ret;
// convert jpg to png before loading the texture
@ -281,7 +281,7 @@ static bool _initWithFile(const char* path, tImageInfo *pImageinfo)
ret = _initWithImage(CGImage, pImageinfo, 1.0, 1.0);
[png release];
//[png release];
[jpg release];
return ret;

View File

@ -7,6 +7,8 @@
objects = {
/* Begin PBXBuildFile section */
15E102C815D389F1001D70A3 /* iphonehd in Resources */ = {isa = PBXBuildFile; fileRef = 15E102C715D389F1001D70A3 /* iphonehd */; };
15E102CA15D389F7001D70A3 /* iphone in Resources */ = {isa = PBXBuildFile; fileRef = 15E102C915D389F7001D70A3 /* iphone */; };
41BC70AD15BF7CCE006A0A6C /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 41BC70AC15BF7CCE006A0A6C /* Icon.icns */; };
41BC70B715BF7E14006A0A6C /* libcocos2dx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 41CD6C5C15BF74E5005E6F29 /* libcocos2dx.a */; };
41CD6C6515BF7574005E6F29 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 41CD6C6315BF7574005E6F29 /* AppController.mm */; };
@ -15,12 +17,6 @@
41CD6C6F15BF7673005E6F29 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 41CD6C6A15BF7673005E6F29 /* MainMenu.xib */; };
41CD6C7515BF76FB005E6F29 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41CD6C7115BF76FB005E6F29 /* AppDelegate.cpp */; };
41CD6C7615BF76FB005E6F29 /* HelloWorldScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41CD6C7315BF76FB005E6F29 /* HelloWorldScene.cpp */; };
41CD6C7D15BF7708005E6F29 /* CloseNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 41CD6C7715BF7708005E6F29 /* CloseNormal.png */; };
41CD6C7E15BF7708005E6F29 /* CloseSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 41CD6C7815BF7708005E6F29 /* CloseSelected.png */; };
41CD6C7F15BF7708005E6F29 /* fps_images-hd.png in Resources */ = {isa = PBXBuildFile; fileRef = 41CD6C7915BF7708005E6F29 /* fps_images-hd.png */; };
41CD6C8015BF7708005E6F29 /* fps_images-ipadhd.png in Resources */ = {isa = PBXBuildFile; fileRef = 41CD6C7A15BF7708005E6F29 /* fps_images-ipadhd.png */; };
41CD6C8115BF7708005E6F29 /* fps_images.png in Resources */ = {isa = PBXBuildFile; fileRef = 41CD6C7B15BF7708005E6F29 /* fps_images.png */; };
41CD6C8215BF7708005E6F29 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 41CD6C7C15BF7708005E6F29 /* HelloWorld.png */; };
41CD6C8F15BF7793005E6F29 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 41CD6C8715BF7793005E6F29 /* AppKit.framework */; };
41CD6C9015BF7793005E6F29 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 41CD6C8815BF7793005E6F29 /* AudioToolbox.framework */; };
41CD6C9115BF7793005E6F29 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 41CD6C8915BF7793005E6F29 /* Cocoa.framework */; };
@ -51,6 +47,8 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
15E102C715D389F1001D70A3 /* iphonehd */ = {isa = PBXFileReference; lastKnownFileType = folder; name = iphonehd; path = ../Resources/iphonehd; sourceTree = "<group>"; };
15E102C915D389F7001D70A3 /* iphone */ = {isa = PBXFileReference; lastKnownFileType = folder; name = iphone; path = ../Resources/iphone; sourceTree = "<group>"; };
41BC70AC15BF7CCE006A0A6C /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Icon.icns; sourceTree = "<group>"; };
41CD6C5115BF748C005E6F29 /* HelloCpp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloCpp.app; sourceTree = BUILT_PRODUCTS_DIR; };
41CD6C5415BF74E5005E6F29 /* cocos2dx.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = cocos2dx.xcodeproj; path = ../../../cocos2dx/proj.mac/cocos2dx.xcodeproj; sourceTree = "<group>"; };
@ -65,12 +63,6 @@
41CD6C7215BF76FB005E6F29 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ../Classes/AppDelegate.h; sourceTree = "<group>"; };
41CD6C7315BF76FB005E6F29 /* HelloWorldScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HelloWorldScene.cpp; path = ../Classes/HelloWorldScene.cpp; sourceTree = "<group>"; };
41CD6C7415BF76FB005E6F29 /* HelloWorldScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HelloWorldScene.h; path = ../Classes/HelloWorldScene.h; sourceTree = "<group>"; };
41CD6C7715BF7708005E6F29 /* CloseNormal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = CloseNormal.png; path = ../Resources/CloseNormal.png; sourceTree = "<group>"; };
41CD6C7815BF7708005E6F29 /* CloseSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = CloseSelected.png; path = ../Resources/CloseSelected.png; sourceTree = "<group>"; };
41CD6C7915BF7708005E6F29 /* fps_images-hd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "fps_images-hd.png"; path = "../Resources/fps_images-hd.png"; sourceTree = "<group>"; };
41CD6C7A15BF7708005E6F29 /* fps_images-ipadhd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "fps_images-ipadhd.png"; path = "../Resources/fps_images-ipadhd.png"; sourceTree = "<group>"; };
41CD6C7B15BF7708005E6F29 /* fps_images.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = fps_images.png; path = ../Resources/fps_images.png; sourceTree = "<group>"; };
41CD6C7C15BF7708005E6F29 /* HelloWorld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = HelloWorld.png; path = ../Resources/HelloWorld.png; sourceTree = "<group>"; };
41CD6C8715BF7793005E6F29 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
41CD6C8815BF7793005E6F29 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
41CD6C8915BF7793005E6F29 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
@ -170,12 +162,8 @@
41CD6C6115BF7556005E6F29 /* Resources */ = {
isa = PBXGroup;
children = (
41CD6C7715BF7708005E6F29 /* CloseNormal.png */,
41CD6C7815BF7708005E6F29 /* CloseSelected.png */,
41CD6C7915BF7708005E6F29 /* fps_images-hd.png */,
41CD6C7A15BF7708005E6F29 /* fps_images-ipadhd.png */,
41CD6C7B15BF7708005E6F29 /* fps_images.png */,
41CD6C7C15BF7708005E6F29 /* HelloWorld.png */,
15E102C915D389F7001D70A3 /* iphone */,
15E102C715D389F1001D70A3 /* iphonehd */,
);
name = Resources;
sourceTree = "<group>";
@ -267,13 +255,9 @@
files = (
41CD6C6E15BF7673005E6F29 /* InfoPlist.strings in Resources */,
41CD6C6F15BF7673005E6F29 /* MainMenu.xib in Resources */,
41CD6C7D15BF7708005E6F29 /* CloseNormal.png in Resources */,
41CD6C7E15BF7708005E6F29 /* CloseSelected.png in Resources */,
41CD6C7F15BF7708005E6F29 /* fps_images-hd.png in Resources */,
41CD6C8015BF7708005E6F29 /* fps_images-ipadhd.png in Resources */,
41CD6C8115BF7708005E6F29 /* fps_images.png in Resources */,
41CD6C8215BF7708005E6F29 /* HelloWorld.png in Resources */,
41BC70AD15BF7CCE006A0A6C /* Icon.icns in Resources */,
15E102C815D389F1001D70A3 /* iphonehd in Resources */,
15E102CA15D389F7001D70A3 /* iphone in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -1 +1 @@
50af410e677a3b1b7d5fd6f2725dfd200284bc78
df160f753d51ed74299d3410c03f775116c9ba27

View File

@ -1 +1 @@
30057061474e27b1b05c7ad738c37006a78bcba0
4214e37cf41f79b4ba43909eca16154e604fb99b