From 5c3baedf83f01f363eadc63809cf2325609f776b Mon Sep 17 00:00:00 2001 From: "techdragon.nguyen@gmail.com" Date: Sun, 5 Feb 2012 11:16:43 +0000 Subject: [PATCH] moved Wagic Version macros into a new header file so that iOS can use it. updated iOS port to use wagic versioning macros. --- JGE/src/iOS/wagicAppDelegate.m | 19 ++++++----- .../UI/WagicDownloadProgressViewController.h | 2 ++ .../UI/WagicDownloadProgressViewController.m | 25 ++++++++++++--- projects/mtg/include/GameApp.h | 18 +---------- projects/mtg/include/Wagic_Version.h | 32 +++++++++++++++++++ projects/mtg/wagic.xcodeproj/project.pbxproj | 2 ++ 6 files changed, 69 insertions(+), 29 deletions(-) create mode 100644 projects/mtg/include/Wagic_Version.h diff --git a/JGE/src/iOS/wagicAppDelegate.m b/JGE/src/iOS/wagicAppDelegate.m index c27dd861b..2cb206b62 100755 --- a/JGE/src/iOS/wagicAppDelegate.m +++ b/JGE/src/iOS/wagicAppDelegate.m @@ -3,6 +3,7 @@ #import "EAGLViewController.h" #import "ASIHTTPRequest.h" #import "ZipArchive.h" +#include "Wagic_Version.h" #include @@ -17,9 +18,9 @@ { NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter]; - [dnc postNotificationName: @"initializeGame" object: self]; [dnc removeObserver: self name: @"coreComplete" object: nil]; [dnc removeObserver: self name: @"iosConfigComplete" object: nil]; + [dnc postNotificationName: @"initializeGame" object: self]; } @@ -129,9 +130,10 @@ NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES); NSString *docsPath = [paths objectAtIndex: 0]; NSArray *docsPathContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath: docsPath error:nil]; - NSCompoundPredicate *compoundPredicate = [[NSCompoundPredicate alloc] initWithType:NSAndPredicateType subpredicates: [NSArray arrayWithObjects: [NSPredicate predicateWithFormat:@"self ENDSWITH '.zip'"], [NSPredicate predicateWithFormat:@"NOT (self BEGINSWITH 'core_')"], nil]]; + NSString *versionPredicate = [NSString stringWithFormat: @"(self BEGINSWITH '%@')", [NSString stringWithCString: WAGIC_CORE_VERSION_STRING encoding:NSUTF8StringEncoding]]; + NSCompoundPredicate *compoundPredicate = [[NSCompoundPredicate alloc] initWithType:NSAndPredicateType subpredicates: [NSArray arrayWithObjects: [NSPredicate predicateWithFormat:@"self ENDSWITH '.zip'"], [NSPredicate predicateWithFormat: [NSString stringWithFormat: @" NOT ( %@ ) ", versionPredicate]], nil]]; - NSArray *coreFiles = [docsPathContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self BEGINSWITH 'core_0171'"]]; + NSArray *coreFiles = [docsPathContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat: versionPredicate]]; NSArray *resourceZipFiles = [docsPathContents filteredArrayUsingPredicate: compoundPredicate]; NSString *userPath = [NSString stringWithFormat: @"%@/User", docsPath]; @@ -179,7 +181,9 @@ NSString *resPath = [NSString stringWithFormat: @"%@/Res", docsPath]; NSArray *resDirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath: resPath error:nil]; - NSArray *coreFiles = [resDirContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self BEGINSWITH 'core_'"]]; + NSString *versionPredicate = [NSString stringWithFormat: @"(self BEGINSWITH '%@')", [NSString stringWithCString: WAGIC_CORE_VERSION_STRING encoding:NSUTF8StringEncoding]]; + + NSArray *coreFiles = [resDirContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat: versionPredicate]]; if ([coreFiles count] >= 2) { @@ -245,8 +249,6 @@ [glViewController release]; glViewController = [[EAGLViewController alloc] init]; - if (wagicDownloadController != nil) - [wagicDownloadController release]; [self.window addSubview:self.glViewController.view]; @@ -257,6 +259,7 @@ [dnc addObserver: glViewController selector:@selector(resumeGame) name: UIApplicationDidBecomeActiveNotification object: nil]; [dnc addObserver: glViewController selector:@selector(resumeGame) name:UIApplicationWillEnterForegroundNotification object: nil]; [dnc addObserver: glViewController selector:@selector(destroyGame) name:UIApplicationWillTerminateNotification object: nil]; + } @@ -267,11 +270,11 @@ [dnc removeObserver: glViewController name: UIApplicationDidEnterBackgroundNotification object: nil]; [dnc removeObserver: glViewController name: UIApplicationWillTerminateNotification object: nil]; [dnc removeObserver: glViewController name: UIApplicationWillResignActiveNotification object: nil]; - [window release]; - [glViewController release]; [hostReach release]; [wifiReach release]; [internetReach release]; + [wagicDownloadController release]; + [glViewController release]; [super dealloc]; } diff --git a/projects/mtg/iOS/UI/WagicDownloadProgressViewController.h b/projects/mtg/iOS/UI/WagicDownloadProgressViewController.h index 5ff6a63f8..121f6f753 100644 --- a/projects/mtg/iOS/UI/WagicDownloadProgressViewController.h +++ b/projects/mtg/iOS/UI/WagicDownloadProgressViewController.h @@ -17,5 +17,7 @@ @property (nonatomic, retain) UITextView *downloadMessageStatus; @property (nonatomic, retain) UIProgressView *downloadProgressView; +@property (nonatomic, retain) NSString *kDownloadFileName; +@property (nonatomic, retain) NSString *kDownloadIosUpdateFileName; @end diff --git a/projects/mtg/iOS/UI/WagicDownloadProgressViewController.m b/projects/mtg/iOS/UI/WagicDownloadProgressViewController.m index a3ab373e3..3248ea69f 100644 --- a/projects/mtg/iOS/UI/WagicDownloadProgressViewController.m +++ b/projects/mtg/iOS/UI/WagicDownloadProgressViewController.m @@ -10,17 +10,18 @@ #import "wagicAppDelegate.h" #import "ASIHTTPRequest.h" #import "QuartzCore/QuartzCore.h" +#include "Wagic_Version.h" @implementation WagicDownloadProgressViewController @synthesize downloadProgressView; @synthesize downloadMessageStatus; +@synthesize kDownloadIosUpdateFileName; +@synthesize kDownloadFileName; + +#define WAGIC_IOS_RESOURCE_NAME WAGIC_CORE_VERSION_STRING "_iOS.zip" static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/"; -static NSString *kDownloadFileName = @"core_0171.zip"; -static NSString *kDownloadIosUpdateFileName = @"core_0171_iOS.zip"; - - - (void) handleFailedDownload: (NSNotification *) sender { @@ -102,6 +103,9 @@ static NSString *kDownloadIosUpdateFileName = @"core_0171_iOS.zip"; NSURL *url = nil; NSString *downloadFilename = nil; // determine which file to download + kDownloadFileName = [NSString stringWithCString: WAGIC_RESOURCE_NAME encoding:NSUTF8StringEncoding]; + kDownloadIosUpdateFileName = [NSString stringWithCString: WAGIC_IOS_RESOURCE_NAME encoding:NSUTF8StringEncoding]; + if ([downloadType isEqualToString: @"core"]) { downloadFilename = kDownloadFileName; @@ -154,6 +158,19 @@ static NSString *kDownloadIosUpdateFileName = @"core_0171_iOS.zip"; [pool drain], pool = nil; } +- (void) dealloc +{ + [kDownloadFileName release], kDownloadFileName = nil; + [kDownloadIosUpdateFileName release], kDownloadIosUpdateFileName = nil; + if (downloadProgressView) + [downloadProgressView release], downloadProgressView = nil; + if (downloadMessageStatus) + [downloadMessageStatus release], downloadMessageStatus = nil; + + [super dealloc]; + +} + - (id) init { NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter]; diff --git a/projects/mtg/include/GameApp.h b/projects/mtg/include/GameApp.h index 52a38f859..b0bc158ef 100644 --- a/projects/mtg/include/GameApp.h +++ b/projects/mtg/include/GameApp.h @@ -26,23 +26,7 @@ #endif //NETWORK_SUPPORT #include "GameObserver.h" -/* Wagic versions */ -#define WAGIC_VERSION_MAJOR 0 -#define WAGIC_VERSION_MEDIUM 18 -#define WAGIC_VERSION_MINOR 0 - -#define VERSION_DOT(a, b, c) a ##.## b ##.## c -#define VERSION_WITHOUT_DOT(a, b, c) a ## b ## c -#define VERSION_GAME(a, b, c) VERSION_DOT(a, b, c) -#define VERSION_FILE(a, b, c) VERSION_WITHOUT_DOT(a, b, c) -#define VERSION_TOSTRING(a) #a -#define VERSION_STRINGIFY(a) VERSION_TOSTRING(a) - -#define WAGIC_VERSION VERSION_GAME(WAGIC_VERSION_MAJOR, WAGIC_VERSION_MEDIUM, WAGIC_VERSION_MINOR) -#define WAGIC_RESOURCE_VERSION VERSION_FILE(WAGIC_VERSION_MAJOR, WAGIC_VERSION_MEDIUM, WAGIC_VERSION_MINOR) -#define WAGIC_VERSION_STRING VERSION_STRINGIFY(WAGIC_VERSION) -#define WAGIC_RESOURCE_NAME "core_" VERSION_STRINGIFY(WAGIC_RESOURCE_VERSION) ".zip" - +#include "Wagic_Version.h" class Rules; class MTGAllCards; class TransitionBase; diff --git a/projects/mtg/include/Wagic_Version.h b/projects/mtg/include/Wagic_Version.h new file mode 100644 index 000000000..8807ec87b --- /dev/null +++ b/projects/mtg/include/Wagic_Version.h @@ -0,0 +1,32 @@ +// +// Wagic_Version.h +// wagic +// +// Created by Michael Nguyen on 2/5/12. +// Copyright (c) 2012 __MyCompanyName__. All rights reserved. +// + +#ifndef wagic_Wagic_Version_h +#define wagic_Wagic_Version_h + + +/* Wagic versions */ +#define WAGIC_VERSION_MAJOR 0 +#define WAGIC_VERSION_MEDIUM 18 +#define WAGIC_VERSION_MINOR 0 + +#define VERSION_DOT(a, b, c) a ##.## b ##.## c +#define VERSION_WITHOUT_DOT(a, b, c) a ## b ## c +#define VERSION_GAME(a, b, c) VERSION_DOT(a, b, c) +#define VERSION_FILE(a, b, c) VERSION_WITHOUT_DOT(a, b, c) +#define VERSION_TOSTRING(a) #a +#define VERSION_STRINGIFY(a) VERSION_TOSTRING(a) + +#define WAGIC_VERSION VERSION_GAME(WAGIC_VERSION_MAJOR, WAGIC_VERSION_MEDIUM, WAGIC_VERSION_MINOR) +#define WAGIC_RESOURCE_VERSION VERSION_FILE(WAGIC_VERSION_MAJOR, WAGIC_VERSION_MEDIUM, WAGIC_VERSION_MINOR) +#define WAGIC_VERSION_STRING VERSION_STRINGIFY(WAGIC_VERSION) +#define WAGIC_CORE_VERSION_STRING "core_" VERSION_STRINGIFY(WAGIC_RESOURCE_VERSION) +#define WAGIC_RESOURCE_NAME WAGIC_CORE_VERSION_STRING ".zip" + + +#endif diff --git a/projects/mtg/wagic.xcodeproj/project.pbxproj b/projects/mtg/wagic.xcodeproj/project.pbxproj index 171340a87..79fb01f8a 100755 --- a/projects/mtg/wagic.xcodeproj/project.pbxproj +++ b/projects/mtg/wagic.xcodeproj/project.pbxproj @@ -570,6 +570,7 @@ 12272FC614CD68FB00192DC7 /* InteractiveButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InteractiveButton.h; sourceTree = ""; }; 12272FC714CD6A3900192DC7 /* InteractiveButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InteractiveButton.cpp; sourceTree = ""; }; 1235D03C14DE396D00B02B42 /* JSfx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JSfx.cpp; path = android/JSfx.cpp; sourceTree = ""; }; + 1235D03E14DE859D00B02B42 /* Wagic_Version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Wagic_Version.h; sourceTree = ""; }; 12769483144127380088F6D3 /* AIPlayerBaka.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AIPlayerBaka.cpp; sourceTree = ""; }; 12769484144127380088F6D3 /* AIPlayerBakaB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AIPlayerBakaB.cpp; sourceTree = ""; }; 12769485144127380088F6D3 /* TestSuiteAI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestSuiteAI.cpp; sourceTree = ""; }; @@ -1665,6 +1666,7 @@ CEA376EA1291C60500B9016A /* WFont.h */, CEA376EB1291C60500B9016A /* WGui.h */, CEA376EC1291C60500B9016A /* WResourceManager.h */, + 1235D03E14DE859D00B02B42 /* Wagic_Version.h */, ); path = include; sourceTree = "";