Use the launcher in osx packaged builds. Leopard support. Fix some wording. Remove old osx launcher project.
This commit is contained in:
@@ -29,7 +29,7 @@
|
|||||||
{
|
{
|
||||||
NSString *gamePath = [[NSUserDefaults standardUserDefaults] stringForKey:@"gamepath"];
|
NSString *gamePath = [[NSUserDefaults standardUserDefaults] stringForKey:@"gamepath"];
|
||||||
|
|
||||||
game = [[GameInstall alloc] initWithURL:[NSURL URLWithString:gamePath]];
|
game = [[GameInstall alloc] initWithPath:gamePath];
|
||||||
[[JSBridge sharedInstance] setController:self];
|
[[JSBridge sharedInstance] setController:self];
|
||||||
downloads = [[NSMutableDictionary alloc] init];
|
downloads = [[NSMutableDictionary alloc] init];
|
||||||
hasMono = [self hasSupportedMono];
|
hasMono = [self hasSupportedMono];
|
||||||
@@ -138,7 +138,8 @@
|
|||||||
id aMod = [allMods objectForKey:key];
|
id aMod = [allMods objectForKey:key];
|
||||||
if ([aMod standalone])
|
if ([aMod standalone])
|
||||||
{
|
{
|
||||||
id child = [SidebarEntry entryWithMod:aMod allMods:allMods baseURL:[[game gameURL] URLByAppendingPathComponent:@"mods"]];
|
id path = [[game gamePath] stringByAppendingPathComponent:@"mods"];
|
||||||
|
id child = [SidebarEntry entryWithMod:aMod allMods:allMods baseURL:[NSURL URLWithString:path]];
|
||||||
[rootItem addChild:child];
|
[rootItem addChild:child];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -176,7 +177,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark Sidebar Datasource and Delegate
|
#pragma mark Sidebar Datasource and Delegate
|
||||||
- (int)outlineView:(NSOutlineView *)anOutlineView numberOfChildrenOfItem:(id)item
|
- (NSInteger)outlineView:(NSOutlineView *)anOutlineView numberOfChildrenOfItem:(id)item
|
||||||
{
|
{
|
||||||
// Can be called before awakeFromNib; return nothing
|
// Can be called before awakeFromNib; return nothing
|
||||||
if (sidebarItems == nil)
|
if (sidebarItems == nil)
|
||||||
@@ -195,7 +196,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (id)outlineView:(NSOutlineView *)outlineView
|
- (id)outlineView:(NSOutlineView *)outlineView
|
||||||
child:(int)index
|
child:(NSInteger)index
|
||||||
ofItem:(id)item
|
ofItem:(id)item
|
||||||
{
|
{
|
||||||
if (item == nil)
|
if (item == nil)
|
||||||
@@ -271,10 +272,10 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn
|
|||||||
|
|
||||||
NSString *format = count == 1 ? @"1 download is" : [NSString stringWithFormat:@"%d downloads are",count];
|
NSString *format = count == 1 ? @"1 download is" : [NSString stringWithFormat:@"%d downloads are",count];
|
||||||
NSAlert *alert = [NSAlert alertWithMessageText:@"Are you sure you want to quit?"
|
NSAlert *alert = [NSAlert alertWithMessageText:@"Are you sure you want to quit?"
|
||||||
defaultButton:@"Cancel"
|
defaultButton:@"Wait"
|
||||||
alternateButton:@"Quit"
|
alternateButton:@"Quit"
|
||||||
otherButton:nil
|
otherButton:nil
|
||||||
informativeTextWithFormat:@"%@ in progress and will be cancelled.", format];
|
informativeTextWithFormat:@"%@ in progress and will be cancelled if you quit.", format];
|
||||||
|
|
||||||
[alert beginSheetModalForWindow:window modalDelegate:self didEndSelector:@selector(quitAlertEnded:code:context:) contextInfo:NULL];
|
[alert beginSheetModalForWindow:window modalDelegate:self didEndSelector:@selector(quitAlertEnded:code:context:) contextInfo:NULL];
|
||||||
return NSTerminateLater;
|
return NSTerminateLater;
|
||||||
|
|||||||
@@ -11,13 +11,13 @@
|
|||||||
@class Mod;
|
@class Mod;
|
||||||
@class Controller;
|
@class Controller;
|
||||||
@interface GameInstall : NSObject {
|
@interface GameInstall : NSObject {
|
||||||
NSURL *gameURL;
|
NSString *gamePath;
|
||||||
Controller *controller;
|
Controller *controller;
|
||||||
NSMutableDictionary *downloadTasks;
|
NSMutableDictionary *downloadTasks;
|
||||||
}
|
}
|
||||||
@property(readonly) NSURL *gameURL;
|
@property(readonly) NSString *gamePath;
|
||||||
|
|
||||||
-(id)initWithURL:(NSURL *)path;
|
-(id)initWithPath:(NSString *)path;
|
||||||
-(void)launchMod:(NSString *)mod;
|
-(void)launchMod:(NSString *)mod;
|
||||||
- (NSString *)runUtilityQuery:(NSString *)arg;
|
- (NSString *)runUtilityQuery:(NSString *)arg;
|
||||||
- (NSArray *)installedMods;
|
- (NSArray *)installedMods;
|
||||||
|
|||||||
@@ -11,14 +11,14 @@
|
|||||||
#import "Mod.h"
|
#import "Mod.h"
|
||||||
|
|
||||||
@implementation GameInstall
|
@implementation GameInstall
|
||||||
@synthesize gameURL;
|
@synthesize gamePath;
|
||||||
|
|
||||||
-(id)initWithURL:(NSURL *)url
|
-(id)initWithPath:(NSString *)path
|
||||||
{
|
{
|
||||||
self = [super init];
|
self = [super init];
|
||||||
if (self != nil)
|
if (self != nil)
|
||||||
{
|
{
|
||||||
gameURL = [url retain];
|
gamePath = [path retain];
|
||||||
downloadTasks = [[NSMutableDictionary alloc] init];
|
downloadTasks = [[NSMutableDictionary alloc] init];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
- (void)dealloc
|
- (void)dealloc
|
||||||
{
|
{
|
||||||
[gameURL release]; gameURL = nil;
|
[gamePath release]; gamePath = nil;
|
||||||
[downloadTasks release]; downloadTasks = nil;
|
[downloadTasks release]; downloadTasks = nil;
|
||||||
[super dealloc];
|
[super dealloc];
|
||||||
}
|
}
|
||||||
@@ -70,8 +70,8 @@
|
|||||||
// Commit prev mod
|
// Commit prev mod
|
||||||
if (current != nil)
|
if (current != nil)
|
||||||
{
|
{
|
||||||
id url = [gameURL URLByAppendingPathComponent:[NSString stringWithFormat:@"mods/%@",current]];
|
id path = [gamePath stringByAppendingPathComponent:[NSString stringWithFormat:@"mods/%@",current]];
|
||||||
[ret setObject:[Mod modWithId:current fields:fields baseURL:url] forKey:current];
|
[ret setObject:[Mod modWithId:current fields:fields baseURL:[NSURL URLWithString:path]] forKey:current];
|
||||||
}
|
}
|
||||||
NSLog(@"Parsing mod %@",value);
|
NSLog(@"Parsing mod %@",value);
|
||||||
current = value;
|
current = value;
|
||||||
@@ -84,8 +84,8 @@
|
|||||||
}
|
}
|
||||||
if (current != nil)
|
if (current != nil)
|
||||||
{
|
{
|
||||||
id url = [gameURL URLByAppendingPathComponent:[NSString stringWithFormat:@"mods/%@",current]];
|
id path = [gamePath stringByAppendingPathComponent:[NSString stringWithFormat:@"mods/%@",current]];
|
||||||
[ret setObject:[Mod modWithId:current fields:fields baseURL:url] forKey:current];
|
[ret setObject:[Mod modWithId:current fields:fields baseURL:[NSURL URLWithString:path]] forKey:current];
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
// First argument is the directory to run in
|
// First argument is the directory to run in
|
||||||
// Second...Nth arguments are passed to OpenRA.Game.exe
|
// Second...Nth arguments are passed to OpenRA.Game.exe
|
||||||
// Launcher wrapper sets mono --debug, gl renderer and support dir.
|
// Launcher wrapper sets mono --debug, gl renderer and support dir.
|
||||||
NSArray *args = [NSArray arrayWithObjects:[gameURL absoluteString],
|
NSArray *args = [NSArray arrayWithObjects:gamePath,
|
||||||
[NSString stringWithFormat:@"Game.Mods=%@",mod],
|
[NSString stringWithFormat:@"Game.Mods=%@",mod],
|
||||||
nil];
|
nil];
|
||||||
|
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
[taskArgs addObject:arg];
|
[taskArgs addObject:arg];
|
||||||
|
|
||||||
NSTask *task = [[NSTask alloc] init];
|
NSTask *task = [[NSTask alloc] init];
|
||||||
[task setCurrentDirectoryPath:[gameURL absoluteString]];
|
[task setCurrentDirectoryPath:gamePath];
|
||||||
[task setLaunchPath:@"/Library/Frameworks/Mono.framework/Commands/mono"];
|
[task setLaunchPath:@"/Library/Frameworks/Mono.framework/Commands/mono"];
|
||||||
[task setArguments:taskArgs];
|
[task setArguments:taskArgs];
|
||||||
[task setStandardOutput:outPipe];
|
[task setStandardOutput:outPipe];
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
NSMutableArray *taskArgs = [NSMutableArray arrayWithObject:@"OpenRA.Utility.exe"];
|
NSMutableArray *taskArgs = [NSMutableArray arrayWithObject:@"OpenRA.Utility.exe"];
|
||||||
[taskArgs addObject:arg];
|
[taskArgs addObject:arg];
|
||||||
|
|
||||||
[task setCurrentDirectoryPath:[gameURL absoluteString]];
|
[task setCurrentDirectoryPath:gamePath];
|
||||||
[task setLaunchPath:@"/Library/Frameworks/Mono.framework/Commands/mono"];
|
[task setLaunchPath:@"/Library/Frameworks/Mono.framework/Commands/mono"];
|
||||||
[task setArguments:taskArgs];
|
[task setArguments:taskArgs];
|
||||||
[task setStandardOutput:pipe];
|
[task setStandardOutput:pipe];
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
NSString *version;
|
NSString *version;
|
||||||
NSString *author;
|
NSString *author;
|
||||||
NSString *requires;
|
NSString *requires;
|
||||||
|
NSString *description;
|
||||||
BOOL standalone;
|
BOOL standalone;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
# as published by the Free Software Foundation. For more information,
|
# as published by the Free Software Foundation. For more information,
|
||||||
# see LICENSE.
|
# see LICENSE.
|
||||||
|
|
||||||
|
export DYLD_LIBRARY_PATH="$1:$DYLD_LIBRARY_PATH"
|
||||||
echo "Launching OpenRA from $1"
|
echo "Launching OpenRA from $1"
|
||||||
cd $1
|
cd $1
|
||||||
mono --debug OpenRA.Game.exe SupportDir=~/Library/"Application Support"/OpenRA ${@:2}
|
mono --debug OpenRA.Game.exe SupportDir=~/Library/"Application Support"/OpenRA ${@:2}
|
||||||
@@ -21,6 +21,7 @@
|
|||||||
DA9292C81291DF2D00EDB02E /* OpenRA.app in Resources */ = {isa = PBXBuildFile; fileRef = DA9292C71291DF2D00EDB02E /* OpenRA.app */; };
|
DA9292C81291DF2D00EDB02E /* OpenRA.app in Resources */ = {isa = PBXBuildFile; fileRef = DA9292C71291DF2D00EDB02E /* OpenRA.app */; };
|
||||||
DA9295A712921DF900EDB02E /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA9295A612921DF900EDB02E /* WebKit.framework */; };
|
DA9295A712921DF900EDB02E /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA9295A612921DF900EDB02E /* WebKit.framework */; };
|
||||||
DA9296901292328200EDB02E /* SidebarEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = DA92968F1292328200EDB02E /* SidebarEntry.m */; };
|
DA9296901292328200EDB02E /* SidebarEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = DA92968F1292328200EDB02E /* SidebarEntry.m */; };
|
||||||
|
DAB887F5129E5D6C00C99407 /* SDL in Resources */ = {isa = PBXBuildFile; fileRef = DAB887EE129E5D6100C99407 /* SDL */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
@@ -50,6 +51,7 @@
|
|||||||
DA9295A612921DF900EDB02E /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
|
DA9295A612921DF900EDB02E /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
|
||||||
DA92968E1292328200EDB02E /* SidebarEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SidebarEntry.h; sourceTree = "<group>"; };
|
DA92968E1292328200EDB02E /* SidebarEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SidebarEntry.h; sourceTree = "<group>"; };
|
||||||
DA92968F1292328200EDB02E /* SidebarEntry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SidebarEntry.m; sourceTree = "<group>"; };
|
DA92968F1292328200EDB02E /* SidebarEntry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SidebarEntry.m; sourceTree = "<group>"; };
|
||||||
|
DAB887EE129E5D6100C99407 /* SDL */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = SDL; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -136,6 +138,7 @@
|
|||||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
DAB887EE129E5D6100C99407 /* SDL */,
|
||||||
DA9292C71291DF2D00EDB02E /* OpenRA.app */,
|
DA9292C71291DF2D00EDB02E /* OpenRA.app */,
|
||||||
DA81FBDB12910E4900C48F2F /* OpenRA.icns */,
|
DA81FBDB12910E4900C48F2F /* OpenRA.icns */,
|
||||||
8D1107310486CEB800E47090 /* OpenRA-Info.plist */,
|
8D1107310486CEB800E47090 /* OpenRA-Info.plist */,
|
||||||
@@ -180,6 +183,9 @@
|
|||||||
/* Begin PBXProject section */
|
/* Begin PBXProject section */
|
||||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
|
attributes = {
|
||||||
|
ORGANIZATIONNAME = OpenRA;
|
||||||
|
};
|
||||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "OpenRA" */;
|
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "OpenRA" */;
|
||||||
compatibilityVersion = "Xcode 3.1";
|
compatibilityVersion = "Xcode 3.1";
|
||||||
developmentRegion = English;
|
developmentRegion = English;
|
||||||
@@ -204,6 +210,7 @@
|
|||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
DAB887F5129E5D6C00C99407 /* SDL in Resources */,
|
||||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
|
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
|
||||||
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
|
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
|
||||||
DA81FBDC12910E4900C48F2F /* OpenRA.icns in Resources */,
|
DA81FBDC12910E4900C48F2F /* OpenRA.icns in Resources */,
|
||||||
@@ -264,6 +271,10 @@
|
|||||||
GCC_PREFIX_HEADER = OpenRA_Prefix.pch;
|
GCC_PREFIX_HEADER = OpenRA_Prefix.pch;
|
||||||
INFOPLIST_FILE = "OpenRA-Info.plist";
|
INFOPLIST_FILE = "OpenRA-Info.plist";
|
||||||
INSTALL_PATH = "$(HOME)/Applications";
|
INSTALL_PATH = "$(HOME)/Applications";
|
||||||
|
LIBRARY_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"\"$(SRCROOT)\"",
|
||||||
|
);
|
||||||
PRODUCT_NAME = OpenRA;
|
PRODUCT_NAME = OpenRA;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
@@ -278,6 +289,10 @@
|
|||||||
GCC_PREFIX_HEADER = OpenRA_Prefix.pch;
|
GCC_PREFIX_HEADER = OpenRA_Prefix.pch;
|
||||||
INFOPLIST_FILE = "OpenRA-Info.plist";
|
INFOPLIST_FILE = "OpenRA-Info.plist";
|
||||||
INSTALL_PATH = "$(HOME)/Applications";
|
INSTALL_PATH = "$(HOME)/Applications";
|
||||||
|
LIBRARY_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"\"$(SRCROOT)\"",
|
||||||
|
);
|
||||||
PRODUCT_NAME = OpenRA;
|
PRODUCT_NAME = OpenRA;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
@@ -292,7 +307,7 @@
|
|||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
PREBINDING = NO;
|
PREBINDING = NO;
|
||||||
SDKROOT = macosx10.6;
|
SDKROOT = macosx10.5;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
@@ -303,8 +318,9 @@
|
|||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
ONLY_ACTIVE_ARCH = NO;
|
||||||
PREBINDING = NO;
|
PREBINDING = NO;
|
||||||
SDKROOT = macosx10.6;
|
SDKROOT = macosx10.5;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|||||||
BIN
OpenRA.Launcher.Mac/SDL
Executable file
BIN
OpenRA.Launcher.Mac/SDL
Executable file
Binary file not shown.
@@ -35,10 +35,8 @@
|
|||||||
// Temporary hack until mods define an icon
|
// Temporary hack until mods define an icon
|
||||||
NSString* imageName = [[NSBundle mainBundle] pathForResource:@"OpenRA" ofType:@"icns"];
|
NSString* imageName = [[NSBundle mainBundle] pathForResource:@"OpenRA" ofType:@"icns"];
|
||||||
id icon = [[[NSImage alloc] initWithContentsOfFile:imageName] autorelease];
|
id icon = [[[NSImage alloc] initWithContentsOfFile:imageName] autorelease];
|
||||||
id url = [[baseURL URLByAppendingPathComponent:[baseMod mod]]
|
id path = [[[baseURL absoluteString] stringByAppendingPathComponent:[baseMod mod]] stringByAppendingPathComponent:@"mod.html"];
|
||||||
URLByAppendingPathComponent:@"mod.html"];
|
id ret = [SidebarEntry entryWithTitle:[baseMod title] url:[NSURL URLWithString:path] icon:icon];
|
||||||
|
|
||||||
id ret = [SidebarEntry entryWithTitle:[baseMod title] url:url icon:icon];
|
|
||||||
|
|
||||||
for (id key in allMods)
|
for (id key in allMods)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,26 +4,28 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>English</string>
|
<string>English</string>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>OpenRA Launcher</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>${EXECUTABLE_NAME}</string>
|
<string>OpenRA</string>
|
||||||
<key>CFBundleIconFile</key>
|
<key>CFBundleIconFile</key>
|
||||||
<string>OpenRA.icns</string>
|
<string>OpenRA.icns</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
|
<string>org.open-ra.launcher</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
<string>${PRODUCT_NAME}</string>
|
<string>OpenRA Launcher</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>1.0</string>
|
<string>1.0</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>10.5</string>
|
||||||
<key>NSMainNibFile</key>
|
<key>NSMainNibFile</key>
|
||||||
<string>MainMenu</string>
|
<string>MainMenu</string>
|
||||||
<key>NSPrincipalClass</key>
|
<key>NSPrincipalClass</key>
|
||||||
BIN
OpenRA.Launcher.Mac/build/Release/OpenRA.app/Contents/MacOS/OpenRA
Executable file
BIN
OpenRA.Launcher.Mac/build/Release/OpenRA.app/Contents/MacOS/OpenRA
Executable file
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
APPL????
|
||||||
Binary file not shown.
BIN
OpenRA.Launcher.Mac/build/Release/OpenRA.app/Contents/Resources/English.lproj/MainMenu.nib
generated
Normal file
BIN
OpenRA.Launcher.Mac/build/Release/OpenRA.app/Contents/Resources/English.lproj/MainMenu.nib
generated
Normal file
Binary file not shown.
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
|
||||||
|
# This file is part of OpenRA, which is free software. It is made
|
||||||
|
# available to you under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation. For more information,
|
||||||
|
# see LICENSE.
|
||||||
|
|
||||||
|
export DYLD_LIBRARY_PATH="$1:$DYLD_LIBRARY_PATH"
|
||||||
|
echo "Launching OpenRA from $1"
|
||||||
|
cd $1
|
||||||
|
mono --debug OpenRA.Game.exe SupportDir=~/Library/"Application Support"/OpenRA ${@:2}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
../../../OpenRA.icns
|
||||||
BIN
OpenRA.Launcher.Mac/build/Release/OpenRA.app/Contents/Resources/SDL
Executable file
BIN
OpenRA.Launcher.Mac/build/Release/OpenRA.app/Contents/Resources/SDL
Executable file
Binary file not shown.
@@ -107,7 +107,7 @@
|
|||||||
|
|
||||||
function download()
|
function download()
|
||||||
{
|
{
|
||||||
document.getElementById("download-status").value = "Initializing..."
|
document.getElementById("download-status").value = "Connecting..."
|
||||||
window.external.startDownload("cnc-packages");
|
window.external.startDownload("cnc-packages");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,7 +232,7 @@
|
|||||||
<input type="button" class="button" onclick="download();" value="Download" />
|
<input type="button" class="button" onclick="download();" value="Download" />
|
||||||
</div>
|
</div>
|
||||||
<div id="download-downloading" style="display:none">
|
<div id="download-downloading" style="display:none">
|
||||||
<input type="button" class="button" id="download-status" value="Initializing..." />
|
<input type="button" class="button" id="download-status" value="Connecting..." />
|
||||||
<input type="button" class="button" onclick="cancel();" value="Cancel" />
|
<input type="button" class="button" onclick="cancel();" value="Cancel" />
|
||||||
</div>
|
</div>
|
||||||
<div id="download-error" style="display:none">
|
<div id="download-error" style="display:none">
|
||||||
|
|||||||
@@ -1,105 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# OpenRA Packaging script for osx
|
|
||||||
# Packages all the dependencies required to run the game.
|
|
||||||
# This script assumes that it is being run on osx >= 10.5
|
|
||||||
# and that all the required dependencies are installed
|
|
||||||
# and the dependant dlls exist in the system GAC.
|
|
||||||
|
|
||||||
# A list of the binaries that we want to be able to run
|
|
||||||
DEPS_LOCAL="OpenRA.Game.exe OpenRA.Gl.dll OpenRA.FileFormats.dll"
|
|
||||||
PWD=`pwd`
|
|
||||||
PACKAGING_PATH="$PWD/osxbuild"
|
|
||||||
BINARY_PATH="$PACKAGING_PATH/deps"
|
|
||||||
LIB_PATH="$BINARY_PATH/lib"
|
|
||||||
MONO_VERSION="2.6.7"
|
|
||||||
SYSTEM_MONO="/Library/Frameworks/Mono.framework/Versions/"${MONO_VERSION}
|
|
||||||
|
|
||||||
# dylibs referred to by dlls in the gac; won't show up to otool
|
|
||||||
GAC_DYLIBS="$SYSTEM_MONO/lib/libMonoPosixHelper.dylib $SYSTEM_MONO/lib/libgdiplus.dylib "
|
|
||||||
|
|
||||||
####################################################################################
|
|
||||||
|
|
||||||
function patch_mono {
|
|
||||||
echo "Patching binary: "$1
|
|
||||||
LIBS=$( otool -L $1 | grep /Library/Frameworks/Mono.framework/ | awk {'print $1'} )
|
|
||||||
for i in $LIBS; do
|
|
||||||
install_name_tool -change $i @executable_path/lib/`basename $i` $1
|
|
||||||
done
|
|
||||||
|
|
||||||
# If it still matches then we also need to change the id
|
|
||||||
LIBS2=$( otool -L $1 | grep /Library/Frameworks/Mono.framework/ | awk {'print $1'} )
|
|
||||||
for i in $LIBS2; do
|
|
||||||
install_name_tool -id @executable_path/lib/`basename $i` $1
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in $LIBS; do
|
|
||||||
FILE=`basename $i`
|
|
||||||
if [ ! -e $LIB_PATH/$FILE ]; then
|
|
||||||
cp $i $LIB_PATH
|
|
||||||
patch_mono $LIB_PATH/$FILE
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Setup environment for mkbundle
|
|
||||||
# Force 32-bit build and set the pkg-config path for mono.pc
|
|
||||||
export AS="as -arch i386"
|
|
||||||
export CC="gcc -arch i386 -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"
|
|
||||||
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/
|
|
||||||
export PATH=/sw/bin:/sw/sbin:$PATH
|
|
||||||
|
|
||||||
|
|
||||||
# Create the directory tree and copy in our existing files
|
|
||||||
mkdir -p "$LIB_PATH"
|
|
||||||
cp "$SYSTEM_MONO/bin/mono" "$BINARY_PATH"
|
|
||||||
patch_mono "$BINARY_PATH/mono"
|
|
||||||
|
|
||||||
# Copy the gac dylibs=
|
|
||||||
for i in $GAC_DYLIBS; do
|
|
||||||
cp $i $LIB_PATH
|
|
||||||
patch_mono $LIB_PATH/`basename $i`
|
|
||||||
done
|
|
||||||
|
|
||||||
# Find the dlls that are used by the game; copy them into the app bundle and patch/package any dependencies
|
|
||||||
echo "Searching for dlls... (this will take a while)"
|
|
||||||
|
|
||||||
# This is a huge hack, but it works
|
|
||||||
DLLS=`mkbundle --deps -c -o "$PACKAGING_PATH/bogus" $DEPS_LOCAL | grep "embedding: "`
|
|
||||||
rm "$PACKAGING_PATH/bogus"
|
|
||||||
for i in $DLLS; do
|
|
||||||
if [ "$i" != "embedding:" ]; then
|
|
||||||
cp $i $LIB_PATH
|
|
||||||
if [ -e "$i.config" ]; then
|
|
||||||
CONFIG=$LIB_PATH/"`basename $i`.config"
|
|
||||||
|
|
||||||
echo "Patching config: $CONFIG"
|
|
||||||
# Remove any references to the hardcoded mono framework; the game will look in the right location anyway
|
|
||||||
sed "s/\/Library\/Frameworks\/Mono.framework\/Versions\/${MONO_VERSION}\///" "$i.config" > "${CONFIG}_1"
|
|
||||||
sed "s/\/Library\/Frameworks\/Cg.framework/lib/" "${CONFIG}_1" > "${CONFIG}_2"
|
|
||||||
sed "s/\/Library\/Frameworks\/SDL.framework/lib/" "${CONFIG}_2" > $CONFIG
|
|
||||||
rm "${CONFIG}_1" "${CONFIG}_2"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Remove the files that we want to run that we accidentally copied over
|
|
||||||
for i in $DEPS_LOCAL; do
|
|
||||||
rm "$LIB_PATH/$i"
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
# Copy external frameworks
|
|
||||||
echo "Copying Cg..."
|
|
||||||
cp -X /Library/Frameworks/Cg.framework/Cg $LIB_PATH
|
|
||||||
chmod 755 $LIB_PATH/Cg
|
|
||||||
|
|
||||||
echo "Copying SDL..."
|
|
||||||
cp -X /Library/Frameworks/SDL.framework/SDL $LIB_PATH
|
|
||||||
chmod 755 $LIB_PATH/SDL
|
|
||||||
|
|
||||||
cd "$BINARY_PATH"
|
|
||||||
zip osx-deps-v2 -r -9 *
|
|
||||||
mv osx-deps-v2.zip "$PACKAGING_PATH"
|
|
||||||
rm -rf "$BINARY_PATH"
|
|
||||||
|
|
||||||
echo "All Done!"
|
|
||||||
@@ -14,13 +14,10 @@ fi
|
|||||||
|
|
||||||
# Copy the template to build the game package
|
# Copy the template to build the game package
|
||||||
# Assumes it is layed out with the correct directory structure
|
# Assumes it is layed out with the correct directory structure
|
||||||
cp -rv template.app OpenRA.app
|
cp -rv ../../OpenRA.Launcher.Mac/build/Release/OpenRA.app OpenRA.app
|
||||||
cp -rv $2/* "OpenRA.app/Contents/Resources/" || exit 3
|
cp -rv $2/* "OpenRA.app/Contents/Resources/" || exit 3
|
||||||
|
|
||||||
# Remove the tao dlls (they are shipped in the deps package)
|
# Icon isn't used, and editor doesn't work
|
||||||
rm OpenRA.app/Contents/Resources/Tao.*
|
|
||||||
|
|
||||||
# Icon isn't used, and editor doesn't work under mono 2.8
|
|
||||||
rm OpenRA.app/Contents/Resources/OpenRA.ico
|
rm OpenRA.app/Contents/Resources/OpenRA.ico
|
||||||
rm OpenRA.app/Contents/Resources/OpenRA.Editor.exe
|
rm OpenRA.app/Contents/Resources/OpenRA.Editor.exe
|
||||||
|
|
||||||
|
|||||||
@@ -1,58 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
|
|
||||||
* This file is part of OpenRA.
|
|
||||||
*
|
|
||||||
* OpenRA is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* OpenRA is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
|
||||||
|
|
||||||
@class Settings;
|
|
||||||
@interface Controller : NSObject {
|
|
||||||
|
|
||||||
// Main Window
|
|
||||||
IBOutlet NSWindow *mainWindow;
|
|
||||||
Settings *settings;
|
|
||||||
IBOutlet id modsList;
|
|
||||||
NSArray *mods;
|
|
||||||
|
|
||||||
// Package Downloader
|
|
||||||
NSString *localDownloadPath;
|
|
||||||
NSString *packageDirectory;
|
|
||||||
NSURLDownload *currentDownload;
|
|
||||||
long long expectedData;
|
|
||||||
long long downloadedData;
|
|
||||||
BOOL downloading;
|
|
||||||
|
|
||||||
// Download Sheet
|
|
||||||
IBOutlet NSWindow *downloadSheet;
|
|
||||||
IBOutlet id infoText;
|
|
||||||
IBOutlet id downloadButton;
|
|
||||||
IBOutlet id cancelButton;
|
|
||||||
|
|
||||||
IBOutlet id downloadBar;
|
|
||||||
IBOutlet id statusText;
|
|
||||||
IBOutlet id abortButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
-(IBAction)showDownloadSheet:(id)sender;
|
|
||||||
- (IBAction)dismissDownloadSheet:(id)sender;
|
|
||||||
|
|
||||||
|
|
||||||
-(IBAction)launchApp:(id)sender;
|
|
||||||
- (IBAction)startDownload:(id)sender;
|
|
||||||
- (IBAction)stopDownload:(id)sender;
|
|
||||||
- (void)extractPackages;
|
|
||||||
|
|
||||||
@end
|
|
||||||
@@ -1,226 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
|
|
||||||
* This file is part of OpenRA.
|
|
||||||
*
|
|
||||||
* OpenRA is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* OpenRA is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#import "Controller.h"
|
|
||||||
#import "Settings.h"
|
|
||||||
|
|
||||||
@implementation Controller
|
|
||||||
|
|
||||||
- (void)awakeFromNib
|
|
||||||
{
|
|
||||||
NSURL *settingsFile = [NSURL fileURLWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"launcher.ini"]];
|
|
||||||
settings = [[Settings alloc] init];
|
|
||||||
[settings loadSettingsFile:settingsFile];
|
|
||||||
|
|
||||||
mods = [[NSArray arrayWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"mods.plist"]] retain];
|
|
||||||
[modsList selectRow:1 byExtendingSelection:NO];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark Main window
|
|
||||||
-(IBAction)launchApp:(id)sender
|
|
||||||
{
|
|
||||||
NSString *modString = [[mods objectAtIndex:[modsList selectedRow]] objectForKey:@"Mods"];
|
|
||||||
[settings setValue:modString forSetting:@"InitialMods"];
|
|
||||||
[settings save];
|
|
||||||
|
|
||||||
// Neither NSTask or NSWorkspace do what we want on pre-10.6 (we want *both* Info.plist and argument support)
|
|
||||||
// so use the LaunchServices api directly
|
|
||||||
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"OpenRA.app/Contents/MacOS/OpenRA"];
|
|
||||||
NSArray *args = [NSArray arrayWithObjects:@"settings=../../../launcher.ini",nil];
|
|
||||||
|
|
||||||
FSRef appRef;
|
|
||||||
CFURLGetFSRef((CFURLRef)[NSURL URLWithString:path], &appRef);
|
|
||||||
|
|
||||||
// Set the launch parameters
|
|
||||||
LSApplicationParameters params;
|
|
||||||
params.version = 0;
|
|
||||||
params.flags = kLSLaunchDefaults;
|
|
||||||
params.application = &appRef;
|
|
||||||
params.asyncLaunchRefCon = NULL;
|
|
||||||
params.environment = NULL; // CFDictionaryRef of environment variables; could be useful
|
|
||||||
params.argv = (CFArrayRef)args;
|
|
||||||
params.initialEvent = NULL;
|
|
||||||
|
|
||||||
ProcessSerialNumber psn;
|
|
||||||
OSStatus err = LSOpenApplication(¶ms, &psn);
|
|
||||||
|
|
||||||
// Bring the game window to the front
|
|
||||||
if (err == noErr)
|
|
||||||
SetFrontProcess(&psn);
|
|
||||||
|
|
||||||
// Close the launcher
|
|
||||||
[NSApp terminate: nil];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
|
|
||||||
{
|
|
||||||
return [mods count];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (id)tableView:(NSTableView *)table
|
|
||||||
objectValueForTableColumn:(NSTableColumn *)column
|
|
||||||
row:(NSInteger)row
|
|
||||||
{
|
|
||||||
if (row >= [mods count])
|
|
||||||
return @"";
|
|
||||||
|
|
||||||
if ([[column identifier] isEqualToString:@"name"])
|
|
||||||
{
|
|
||||||
return [[mods objectAtIndex:row] objectForKey:@"Name"];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ([[column identifier] isEqualToString:@"status"])
|
|
||||||
{
|
|
||||||
// Todo: get mod status
|
|
||||||
return @"Todo";//[[mods objectAtIndex:row] objectForKey:@"Name"];
|
|
||||||
}
|
|
||||||
|
|
||||||
return @"";
|
|
||||||
}
|
|
||||||
|
|
||||||
- (BOOL)tableView:(NSTableView *)aTableView
|
|
||||||
shouldEditTableColumn:(NSTableColumn *)aTableColumn
|
|
||||||
row:(NSInteger)rowIndex
|
|
||||||
{
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark Downloads sheet
|
|
||||||
-(IBAction)showDownloadSheet:(id)sender
|
|
||||||
{
|
|
||||||
[NSApp beginSheet:downloadSheet modalForWindow:mainWindow
|
|
||||||
modalDelegate:self didEndSelector:NULL contextInfo:nil];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)dismissDownloadSheet:(id)sender
|
|
||||||
{
|
|
||||||
[NSApp endSheet:downloadSheet];
|
|
||||||
[downloadSheet orderOut:self];
|
|
||||||
[downloadSheet performClose:self];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)startDownload:(id)sender
|
|
||||||
{
|
|
||||||
// Change the sheet items
|
|
||||||
[downloadBar setHidden:NO];
|
|
||||||
[abortButton setHidden:NO];
|
|
||||||
[statusText setHidden:NO];
|
|
||||||
[infoText setHidden:YES];
|
|
||||||
[downloadButton setHidden:YES];
|
|
||||||
[cancelButton setHidden:YES];
|
|
||||||
|
|
||||||
// Create a request
|
|
||||||
NSURL *remoteURL = [NSURL URLWithString:@"http://open-ra.org/packages/ra-packages.zip"];
|
|
||||||
localDownloadPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"ra-packages.zip"];
|
|
||||||
packageDirectory = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"mods/ra/packages/"];
|
|
||||||
|
|
||||||
NSLog(@"Downloading to %@",localDownloadPath);
|
|
||||||
NSURLRequest *theRequest=[NSURLRequest requestWithURL:remoteURL
|
|
||||||
cachePolicy:NSURLRequestUseProtocolCachePolicy
|
|
||||||
timeoutInterval:60.0];
|
|
||||||
|
|
||||||
// Create a download object
|
|
||||||
currentDownload = [[NSURLDownload alloc] initWithRequest:theRequest delegate:self];
|
|
||||||
|
|
||||||
if (currentDownload)
|
|
||||||
{
|
|
||||||
downloading = YES;
|
|
||||||
[currentDownload setDestination:localDownloadPath allowOverwrite:YES];
|
|
||||||
[statusText setStringValue:@"Connecting..."];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
[statusText setStringValue:@"Cannot connect to server"];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)stopDownload:(id)sender
|
|
||||||
{
|
|
||||||
// Stop the download
|
|
||||||
if (downloading)
|
|
||||||
[currentDownload cancel];
|
|
||||||
|
|
||||||
// Update the sheet status
|
|
||||||
[downloadBar setHidden:YES];
|
|
||||||
[abortButton setHidden:YES];
|
|
||||||
[statusText setHidden:YES];
|
|
||||||
[infoText setHidden:NO];
|
|
||||||
[downloadButton setHidden:NO];
|
|
||||||
[cancelButton setHidden:NO];
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark === Download Delegate Methods ===
|
|
||||||
|
|
||||||
- (void)download:(NSURLDownload *)download didFailWithError:(NSError *)error
|
|
||||||
{
|
|
||||||
[download release]; downloading = NO;
|
|
||||||
[statusText setStringValue:@"Error downloading file"];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)downloadDidFinish:(NSURLDownload *)download
|
|
||||||
{
|
|
||||||
[download release]; downloading = NO;
|
|
||||||
[self extractPackages];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)extractPackages
|
|
||||||
{
|
|
||||||
[abortButton setEnabled:NO];
|
|
||||||
[downloadBar setDoubleValue:0];
|
|
||||||
[downloadBar setMaxValue:1];
|
|
||||||
[downloadBar setIndeterminate:YES];
|
|
||||||
[statusText setStringValue:@"Extracting..."];
|
|
||||||
|
|
||||||
// TODO: Extract and copy files
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)download:(NSURLDownload *)download didReceiveResponse:(NSURLResponse *)response
|
|
||||||
{
|
|
||||||
expectedData = [response expectedContentLength];
|
|
||||||
if (expectedData > 0.0)
|
|
||||||
{
|
|
||||||
downloadedData = 0;
|
|
||||||
[downloadBar setIndeterminate:NO];
|
|
||||||
[downloadBar setMaxValue:expectedData];
|
|
||||||
[downloadBar setDoubleValue:downloadedData];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)download:(NSURLDownload *)download didReceiveDataOfLength:(NSUInteger)length
|
|
||||||
{
|
|
||||||
downloadedData += length;
|
|
||||||
if (downloadedData >= expectedData)
|
|
||||||
{
|
|
||||||
[downloadBar setIndeterminate:YES];
|
|
||||||
[statusText setStringValue:@"Downloading..."];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[downloadBar setDoubleValue:downloadedData];
|
|
||||||
[statusText setStringValue:[NSString stringWithFormat:@"Downloading %.1f of %f",downloadedData,expectedData]];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void) dealloc
|
|
||||||
{
|
|
||||||
[mods release];
|
|
||||||
[settings release];
|
|
||||||
[super dealloc];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@end
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
/* Localized versions of Info.plist keys */
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,8 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Application-launcher for OpenRA.
|
|
||||||
# Executes the game binary inside the ../Resources directory with the correct working directory
|
|
||||||
# Based on the file generated by the mono mkbundle utility
|
|
||||||
|
|
||||||
APP_PATH=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+3] != "") { if (patharr[idx] != "/") {printf("%s/", patharr[idx]); idx++ }} }'`
|
|
||||||
cd "$APP_PATH/Contents/Resources"
|
|
||||||
./OpenRA $@
|
|
||||||
@@ -1,326 +0,0 @@
|
|||||||
// !$*UTF8*$!
|
|
||||||
{
|
|
||||||
archiveVersion = 1;
|
|
||||||
classes = {
|
|
||||||
};
|
|
||||||
objectVersion = 45;
|
|
||||||
objects = {
|
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
|
||||||
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };
|
|
||||||
8990E7AF1151C0F20089C198 /* Controller.m in Sources */ = {isa = PBXBuildFile; fileRef = 8990E7AE1151C0F20089C198 /* Controller.m */; };
|
|
||||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
|
||||||
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
|
||||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
|
||||||
DA1241101151F194002EFE2B /* OpenRA.icns in Resources */ = {isa = PBXBuildFile; fileRef = DA12410F1151F194002EFE2B /* OpenRA.icns */; };
|
|
||||||
DA28A92A117878EC00342835 /* mods.plist in Resources */ = {isa = PBXBuildFile; fileRef = DA28A929117878EC00342835 /* mods.plist */; };
|
|
||||||
DAAB5C7911536D6500DCCB80 /* Settings.m in Sources */ = {isa = PBXBuildFile; fileRef = DAAB5C7811536D6500DCCB80 /* Settings.m */; };
|
|
||||||
DAFD657B11520799001F4C97 /* launcher.ini in Resources */ = {isa = PBXBuildFile; fileRef = DAFD657A11520799001F4C97 /* launcher.ini */; };
|
|
||||||
/* End PBXBuildFile section */
|
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
|
||||||
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
|
||||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
|
||||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
|
|
||||||
1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
|
||||||
256AC3F00F4B6AF500CF3369 /* OpenRA_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenRA_Prefix.pch; sourceTree = "<group>"; };
|
|
||||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
|
||||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
|
||||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
|
||||||
8990E7AD1151C0F20089C198 /* Controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Controller.h; sourceTree = "<group>"; };
|
|
||||||
8990E7AE1151C0F20089C198 /* Controller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Controller.m; sourceTree = "<group>"; };
|
|
||||||
8D1107310486CEB800E47090 /* OpenRA-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "OpenRA-Info.plist"; sourceTree = "<group>"; };
|
|
||||||
8D1107320486CEB800E47090 /* OpenRA.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenRA.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
DA12410F1151F194002EFE2B /* OpenRA.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = OpenRA.icns; sourceTree = "<group>"; };
|
|
||||||
DA28A929117878EC00342835 /* mods.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = mods.plist; sourceTree = "<group>"; };
|
|
||||||
DAAB5C7711536D6500DCCB80 /* Settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Settings.h; sourceTree = "<group>"; };
|
|
||||||
DAAB5C7811536D6500DCCB80 /* Settings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Settings.m; sourceTree = "<group>"; };
|
|
||||||
DAFD657A11520799001F4C97 /* launcher.ini */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = launcher.ini; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
|
||||||
8D11072E0486CEB800E47090 /* Frameworks */ = {
|
|
||||||
isa = PBXFrameworksBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXFrameworksBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
|
||||||
080E96DDFE201D6D7F000001 /* Classes */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
8990E7AD1151C0F20089C198 /* Controller.h */,
|
|
||||||
8990E7AE1151C0F20089C198 /* Controller.m */,
|
|
||||||
DAAB5C7711536D6500DCCB80 /* Settings.h */,
|
|
||||||
DAAB5C7811536D6500DCCB80 /* Settings.m */,
|
|
||||||
);
|
|
||||||
name = Classes;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
|
|
||||||
);
|
|
||||||
name = "Linked Frameworks";
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
|
|
||||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
|
|
||||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
|
|
||||||
);
|
|
||||||
name = "Other Frameworks";
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
8D1107320486CEB800E47090 /* OpenRA.app */,
|
|
||||||
);
|
|
||||||
name = Products;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
29B97314FDCFA39411CA2CEA /* OpenRA */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
080E96DDFE201D6D7F000001 /* Classes */,
|
|
||||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
|
||||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
|
||||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
|
||||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
|
||||||
);
|
|
||||||
name = OpenRA;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
256AC3F00F4B6AF500CF3369 /* OpenRA_Prefix.pch */,
|
|
||||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
|
||||||
);
|
|
||||||
name = "Other Sources";
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
DAFD657A11520799001F4C97 /* launcher.ini */,
|
|
||||||
8D1107310486CEB800E47090 /* OpenRA-Info.plist */,
|
|
||||||
DA12410F1151F194002EFE2B /* OpenRA.icns */,
|
|
||||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
|
||||||
1DDD58140DA1D0A300B32029 /* MainMenu.xib */,
|
|
||||||
DA28A929117878EC00342835 /* mods.plist */,
|
|
||||||
);
|
|
||||||
name = Resources;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
|
||||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
|
||||||
);
|
|
||||||
name = Frameworks;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
/* End PBXGroup section */
|
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
|
||||||
8D1107260486CEB800E47090 /* OpenRA */ = {
|
|
||||||
isa = PBXNativeTarget;
|
|
||||||
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "OpenRA" */;
|
|
||||||
buildPhases = (
|
|
||||||
8D1107290486CEB800E47090 /* Resources */,
|
|
||||||
8D11072C0486CEB800E47090 /* Sources */,
|
|
||||||
8D11072E0486CEB800E47090 /* Frameworks */,
|
|
||||||
DAFD652E1151FEA7001F4C97 /* Package Game */,
|
|
||||||
);
|
|
||||||
buildRules = (
|
|
||||||
);
|
|
||||||
dependencies = (
|
|
||||||
);
|
|
||||||
name = OpenRA;
|
|
||||||
productInstallPath = "$(HOME)/Applications";
|
|
||||||
productName = OpenRA;
|
|
||||||
productReference = 8D1107320486CEB800E47090 /* OpenRA.app */;
|
|
||||||
productType = "com.apple.product-type.application";
|
|
||||||
};
|
|
||||||
/* End PBXNativeTarget section */
|
|
||||||
|
|
||||||
/* Begin PBXProject section */
|
|
||||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
|
||||||
isa = PBXProject;
|
|
||||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "OpenRA" */;
|
|
||||||
compatibilityVersion = "Xcode 3.1";
|
|
||||||
developmentRegion = English;
|
|
||||||
hasScannedForEncodings = 1;
|
|
||||||
knownRegions = (
|
|
||||||
English,
|
|
||||||
Japanese,
|
|
||||||
French,
|
|
||||||
German,
|
|
||||||
);
|
|
||||||
mainGroup = 29B97314FDCFA39411CA2CEA /* OpenRA */;
|
|
||||||
projectDirPath = "";
|
|
||||||
projectRoot = "";
|
|
||||||
targets = (
|
|
||||||
8D1107260486CEB800E47090 /* OpenRA */,
|
|
||||||
);
|
|
||||||
};
|
|
||||||
/* End PBXProject section */
|
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */
|
|
||||||
8D1107290486CEB800E47090 /* Resources */ = {
|
|
||||||
isa = PBXResourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
|
|
||||||
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
|
|
||||||
DA1241101151F194002EFE2B /* OpenRA.icns in Resources */,
|
|
||||||
DAFD657B11520799001F4C97 /* launcher.ini in Resources */,
|
|
||||||
DA28A92A117878EC00342835 /* mods.plist in Resources */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXResourcesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
|
||||||
DAFD652E1151FEA7001F4C97 /* Package Game */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "Package Game";
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/bash;
|
|
||||||
shellScript = "#./package.sh\ncp -r build/game/OpenRA.app ${TARGET_BUILD_DIR}/OpenRA.app/Contents/Resources/";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
/* End PBXShellScriptBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
|
||||||
8D11072C0486CEB800E47090 /* Sources */ = {
|
|
||||||
isa = PBXSourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
8D11072D0486CEB800E47090 /* main.m in Sources */,
|
|
||||||
8990E7AF1151C0F20089C198 /* Controller.m in Sources */,
|
|
||||||
DAAB5C7911536D6500DCCB80 /* Settings.m in Sources */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXSourcesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXVariantGroup section */
|
|
||||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
|
|
||||||
isa = PBXVariantGroup;
|
|
||||||
children = (
|
|
||||||
089C165DFE840E0CC02AAC07 /* English */,
|
|
||||||
);
|
|
||||||
name = InfoPlist.strings;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {
|
|
||||||
isa = PBXVariantGroup;
|
|
||||||
children = (
|
|
||||||
1DDD58150DA1D0A300B32029 /* English */,
|
|
||||||
);
|
|
||||||
name = MainMenu.xib;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
/* End PBXVariantGroup section */
|
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
|
||||||
C01FCF4B08A954540054247B /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
||||||
COPY_PHASE_STRIP = NO;
|
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
|
||||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
|
||||||
GCC_MODEL_TUNING = G5;
|
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
|
||||||
GCC_PREFIX_HEADER = OpenRA_Prefix.pch;
|
|
||||||
INFOPLIST_FILE = "OpenRA-Info.plist";
|
|
||||||
INSTALL_PATH = "$(HOME)/Applications";
|
|
||||||
PRODUCT_NAME = OpenRA;
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
C01FCF4C08A954540054247B /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
||||||
GCC_MODEL_TUNING = G5;
|
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
|
||||||
GCC_PREFIX_HEADER = OpenRA_Prefix.pch;
|
|
||||||
INFOPLIST_FILE = "OpenRA-Info.plist";
|
|
||||||
INSTALL_PATH = "$(HOME)/Applications";
|
|
||||||
PRODUCT_NAME = OpenRA;
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
C01FCF4F08A954540054247B /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
|
||||||
PREBINDING = NO;
|
|
||||||
SDKROOT = macosx10.5;
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
C01FCF5008A954540054247B /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
||||||
PREBINDING = NO;
|
|
||||||
SDKROOT = macosx10.5;
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
/* End XCBuildConfiguration section */
|
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
|
||||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "OpenRA" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
C01FCF4B08A954540054247B /* Debug */,
|
|
||||||
C01FCF4C08A954540054247B /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "OpenRA" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
C01FCF4F08A954540054247B /* Debug */,
|
|
||||||
C01FCF5008A954540054247B /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
/* End XCConfigurationList section */
|
|
||||||
};
|
|
||||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
|
|
||||||
* This file is part of OpenRA.
|
|
||||||
*
|
|
||||||
* OpenRA is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* OpenRA is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __OBJC__
|
|
||||||
#import <Cocoa/Cocoa.h>
|
|
||||||
#endif
|
|
||||||
Binary file not shown.
@@ -1,33 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
|
|
||||||
* This file is part of OpenRA.
|
|
||||||
*
|
|
||||||
* OpenRA is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* OpenRA is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
|
||||||
|
|
||||||
|
|
||||||
@interface Settings : NSObject {
|
|
||||||
NSMutableDictionary *settings;
|
|
||||||
NSURL *filePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
- (NSString *)valueForSetting:(NSString *)key;
|
|
||||||
- (void)setValue:(NSString *)value forSetting:(NSString *)key;
|
|
||||||
- (void)loadSettingsFile:(NSURL *)filePath;
|
|
||||||
- (void)save;
|
|
||||||
- (void)saveToFile:(NSURL *)filePath;
|
|
||||||
@end
|
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
|
|
||||||
* This file is part of OpenRA.
|
|
||||||
*
|
|
||||||
* OpenRA is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* OpenRA is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#import "Settings.h"
|
|
||||||
|
|
||||||
|
|
||||||
@implementation Settings
|
|
||||||
|
|
||||||
- (id)init
|
|
||||||
{
|
|
||||||
self = [super init];
|
|
||||||
if (self != nil)
|
|
||||||
{
|
|
||||||
settings = [[NSMutableDictionary alloc] init];
|
|
||||||
filePath = nil;
|
|
||||||
}
|
|
||||||
return self;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSString *)valueForSetting:(NSString *)key
|
|
||||||
{
|
|
||||||
return [settings valueForKey:key];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)setValue:(NSString *)value forSetting:(NSString *)key
|
|
||||||
{
|
|
||||||
[settings setValue:value forKey:key];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)loadSettingsFile:(NSURL *)file
|
|
||||||
{
|
|
||||||
[filePath autorelease];
|
|
||||||
filePath = file;
|
|
||||||
[filePath retain];
|
|
||||||
|
|
||||||
NSError *error;
|
|
||||||
NSString *data = [NSString stringWithContentsOfURL:filePath encoding:NSUTF8StringEncoding error:&error];
|
|
||||||
NSArray *lines = [data componentsSeparatedByString:@"\n"];
|
|
||||||
|
|
||||||
for (id line in lines)
|
|
||||||
{
|
|
||||||
NSArray *cmp = [line componentsSeparatedByString:@"="];
|
|
||||||
if ([cmp count] != 2)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
NSString *key = [[cmp objectAtIndex:0] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
|
||||||
NSString *value = [[cmp objectAtIndex:1] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
|
||||||
|
|
||||||
[settings setObject:value forKey:key];
|
|
||||||
}
|
|
||||||
NSLog(@"Loaded settings: %@",settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)save
|
|
||||||
{
|
|
||||||
[self saveToFile:filePath];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)saveToFile:(NSURL *)file
|
|
||||||
{
|
|
||||||
NSMutableString *data = [NSMutableString stringWithString:@"[Settings]\n"];
|
|
||||||
for (id key in settings)
|
|
||||||
{
|
|
||||||
[data appendFormat:@"%@=%@\n",key, [settings valueForKey:key]];
|
|
||||||
}
|
|
||||||
NSError *error;
|
|
||||||
[data writeToURL:file atomically:YES encoding:NSUTF8StringEncoding error:&error];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void) dealloc
|
|
||||||
{
|
|
||||||
[settings release]; settings = nil;
|
|
||||||
[super dealloc];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@end
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
[Settings]
|
|
||||||
NetworkHost=localhost
|
|
||||||
NetworkPort=1234
|
|
||||||
Width=1024
|
|
||||||
Height=768
|
|
||||||
InitialMods=ra
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
|
|
||||||
* This file is part of OpenRA.
|
|
||||||
*
|
|
||||||
* OpenRA is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* OpenRA is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
return NSApplicationMain(argc, (const char **) argv);
|
|
||||||
}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>Name</key>
|
|
||||||
<string>Command & Conquer</string>
|
|
||||||
<key>Mods</key>
|
|
||||||
<string>cnc</string>
|
|
||||||
<key>RequiredFiles</key>
|
|
||||||
<dict>
|
|
||||||
<key>mods/ra/packages/conquer.mix</key>
|
|
||||||
<string>http://open-ra.org/packages/cnc-packages.zip</string>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>Name</key>
|
|
||||||
<string>Red Alert</string>
|
|
||||||
<key>Mods</key>
|
|
||||||
<string>ra</string>
|
|
||||||
<key>RequiredFiles</key>
|
|
||||||
<dict>
|
|
||||||
<key>mods/ra/packages/main.mix</key>
|
|
||||||
<string>http://open-ra.org/packages/ra-packages.zip</string>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>Name</key>
|
|
||||||
<string>Red Alert with The Aftermath</string>
|
|
||||||
<key>Mods</key>
|
|
||||||
<string>ra,aftermath</string>
|
|
||||||
<key>RequiredFiles</key>
|
|
||||||
<dict>
|
|
||||||
<key>mods/ra/packages/main.mix</key>
|
|
||||||
<string>http://open-ra.org/packages/ra-packages.zip</string>
|
|
||||||
<key>mods/aftermath/packages/expand2.mix</key>
|
|
||||||
<string>http://open-ra.org/packages/aftermath-packages.zip</string>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
</plist>
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# OpenRA Packaging script for osx
|
|
||||||
# Creates a .app bundle for OpenRA game, and a command line app for OpenRa server
|
|
||||||
# All dependencies are packaged inside the game bundle
|
|
||||||
|
|
||||||
# ASSUMPTIONS:
|
|
||||||
# - Mono version is 2.6.3
|
|
||||||
# - pkg-config is installed via Fink
|
|
||||||
# - Fink is installed in /sw
|
|
||||||
|
|
||||||
# Recursively modify and copy the mono files depended on by OpenRA into the app bundle
|
|
||||||
function patch_mono {
|
|
||||||
echo "Patching: "$1
|
|
||||||
LIBS=$( otool -L $1 | grep /Library/Frameworks/Mono.framework/ | awk {'print $1'} )
|
|
||||||
for i in $LIBS; do
|
|
||||||
if [ "`basename $i`" == "`basename $1`" ]; then
|
|
||||||
install_name_tool -id @executable_path/../${i:9} $1
|
|
||||||
else
|
|
||||||
install_name_tool -change $i @executable_path/../${i:9} $1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
for i in $LIBS; do
|
|
||||||
if [ ! -e OpenRA.app/Contents/${i:9} ]; then
|
|
||||||
mkdir -p OpenRA.app/Contents/`dirname ${i:9}`
|
|
||||||
cp $i OpenRA.app/Contents/`dirname ${i:9}`
|
|
||||||
patch_mono OpenRA.app/Contents/${i:9}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function copy_mods {
|
|
||||||
for m in $MODS; do
|
|
||||||
mkdir -p ${BUILD_DIR}"OpenRA.app/Contents/Resources/mods/$m"
|
|
||||||
|
|
||||||
#for f in $( find mods/$m \! -name "*.mdb" \! -name "packages"); do
|
|
||||||
#for f in `$MODS_INCLUDE_FILES`; do
|
|
||||||
cp -R "mods/$m/" ${BUILD_DIR}"OpenRA.app/Contents/Resources/mods/$m/"
|
|
||||||
#done
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Setup environment for mkbundle
|
|
||||||
# Force 32-bit build and set the pkg-config path for mono.pc
|
|
||||||
export AS="as -arch i386"
|
|
||||||
export CC="gcc -arch i386 -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"
|
|
||||||
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/
|
|
||||||
export PATH=/sw/bin:/sw/sbin:$PATH
|
|
||||||
|
|
||||||
# List of game files to copy into the app bundle
|
|
||||||
GAME_FILES="shaders maps FreeSans.ttf FreeSansBold.ttf titles.ttf"
|
|
||||||
|
|
||||||
# List of mods to include
|
|
||||||
MODS="ra cnc aftermath ra-ng"
|
|
||||||
|
|
||||||
# Files/directories to include
|
|
||||||
MODS_INCLUDE_FILES="find mods/$m ! -name \"*.mdb\" ! -name \"packages\""
|
|
||||||
|
|
||||||
# dylibs referred to by dlls in the gac; won't show up to otool
|
|
||||||
GAC_DYLIBS="/Library/Frameworks/Mono.framework/Versions/2.6.3/lib/libMonoPosixHelper.dylib /Library/Frameworks/Mono.framework/Versions/2.6.3/lib/libgdiplus.dylib "
|
|
||||||
|
|
||||||
# Binaries to compile into our executable
|
|
||||||
DEPS="OpenRA.Game.exe OpenRA.Gl.dll OpenRA.FileFormats.dll thirdparty/Tao/Tao.Cg.dll thirdparty/Tao/Tao.Cg.dll.config thirdparty/Tao/Tao.OpenGl.dll thirdparty/Tao/Tao.OpenGl.dll.config thirdparty/Tao/Tao.OpenAl.dll thirdparty/Tao/Tao.OpenAl.dll.config thirdparty/Tao/Tao.FreeType.dll thirdparty/Tao/Tao.FreeType.dll.config thirdparty/Tao/Tao.Sdl.dll thirdparty/Tao/Tao.Sdl.dll.config "
|
|
||||||
DEPS_LOCAL="OpenRA.Game.exe OpenRA.Gl.dll OpenRA.FileFormats.dll Tao.Cg.dll Tao.OpenGl.dll Tao.OpenAl.dll Tao.FreeType.dll Tao.Sdl.dll"
|
|
||||||
|
|
||||||
# Create clean build dir
|
|
||||||
BUILD_DIR=`pwd`/build/game/
|
|
||||||
|
|
||||||
rm -rf $BUILD_DIR
|
|
||||||
mkdir $BUILD_DIR
|
|
||||||
|
|
||||||
# Copy deps into build dir
|
|
||||||
cp -r OpenRA.app $BUILD_DIR
|
|
||||||
cd ../../../
|
|
||||||
cp $DEPS $BUILD_DIR
|
|
||||||
cd $BUILD_DIR
|
|
||||||
|
|
||||||
# Package the game binary
|
|
||||||
mkbundle --deps --static -z -o OpenRA $DEPS_LOCAL
|
|
||||||
rm $DEPS_LOCAL
|
|
||||||
rm *.config
|
|
||||||
mv OpenRA OpenRA.app/Contents/Resources/
|
|
||||||
|
|
||||||
# Copy game files into our game bundle template
|
|
||||||
cd ../../../../../
|
|
||||||
cp -R $GAME_FILES ${BUILD_DIR}OpenRA.app/Contents/Resources/
|
|
||||||
copy_mods
|
|
||||||
cd $BUILD_DIR
|
|
||||||
|
|
||||||
# Copy frameworks into our game bundle template
|
|
||||||
patch_mono OpenRA.app/Contents/Resources/OpenRA
|
|
||||||
|
|
||||||
# The dylibs referenced by dll.configs in the gac don't show up to otool: patch them manually
|
|
||||||
perl -pi -e 's/\/Library\/Frameworks/..\/Frameworks\/.\/.\/./g' OpenRA.app/Contents/Resources/OpenRA
|
|
||||||
|
|
||||||
# Copy the gac dylibs into the app bundle
|
|
||||||
for i in $GAC_DYLIBS; do
|
|
||||||
mkdir -p OpenRA.app/Contents/`dirname ${i:9}`
|
|
||||||
cp $i OpenRA.app/Contents/`dirname ${i:9}`
|
|
||||||
patch_mono OpenRA.app/Contents/${i:9}
|
|
||||||
done
|
|
||||||
|
|
||||||
cp -R /Library/Frameworks/Cg.framework OpenRA.app/Contents/Frameworks/
|
|
||||||
cp -R /Library/Frameworks/SDL.framework OpenRA.app/Contents/Frameworks/
|
|
||||||
|
|
||||||
# Fix permissions
|
|
||||||
chmod -R 755 OpenRA.app
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
source=./packaging/osx/dmgsource/
|
|
||||||
title=OpenRA
|
|
||||||
size=70m
|
|
||||||
dmgName=OpenRA.dmg
|
|
||||||
|
|
||||||
mv OpenRA.app ${source}
|
|
||||||
|
|
||||||
hdiutil create -srcfolder "${source}" -volname "${title}" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW -size ${size} temp.dmg
|
|
||||||
sleep 2
|
|
||||||
device=$(hdiutil attach -readwrite -noverify -noautoopen "temp.dmg" | egrep '^/dev/' | sed 1q | awk '{print $1}')
|
|
||||||
echo '
|
|
||||||
tell application "Finder"
|
|
||||||
tell disk "'${title}'"
|
|
||||||
open
|
|
||||||
set current view of container window to icon view
|
|
||||||
set toolbar visible of container window to false
|
|
||||||
set statusbar visible of container window to false
|
|
||||||
set the bounds of container window to {400, 100, 885, 430}
|
|
||||||
set theViewOptions to the icon view options of container window
|
|
||||||
set arrangement of theViewOptions to not arranged
|
|
||||||
set icon size of theViewOptions to 72
|
|
||||||
set background picture of theViewOptions to file ".background:bg.png"
|
|
||||||
make new alias file at container window to POSIX file "/Applications" with properties {name:"Applications"}
|
|
||||||
set position of item "OpenRA.app" of container window to {100, 90}
|
|
||||||
set position of item "Applications" of container window to {375, 150}
|
|
||||||
close
|
|
||||||
open
|
|
||||||
update without registering applications
|
|
||||||
delay 5
|
|
||||||
end tell
|
|
||||||
end tell
|
|
||||||
' | osascript
|
|
||||||
sleep 5
|
|
||||||
chmod -Rf go-w /Volumes/"${title}"
|
|
||||||
sync
|
|
||||||
hdiutil detach ${device}
|
|
||||||
hdiutil convert "./temp.dmg" -format UDZO -imagekey zlib-level=9 -o "${dmgName}"
|
|
||||||
rm -f ./temp.dmg
|
|
||||||
rm -rf ${source}OpenRA.app
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>OpenRA</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>OpenRA</string>
|
|
||||||
<key>CFBundleIconFile</key>
|
|
||||||
<string>OpenRA.icns</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
|
|
||||||
# This file is part of OpenRA, which is free software. It is made
|
|
||||||
# available to you under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation. For more information,
|
|
||||||
# see LICENSE.
|
|
||||||
|
|
||||||
# Internal options
|
|
||||||
APP_PATH=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+3] != "") { if (patharr[idx] != "/") {printf("%s/", patharr[idx]); idx++ }} }'`
|
|
||||||
EXE_PATH=$APP_PATH/Contents/MacOS/
|
|
||||||
export LD_LIBRARY_PATH="$EXE_PATH/lib":$LD_LIBRARY_PATH
|
|
||||||
export MONO_PATH="$EXE_PATH/lib"
|
|
||||||
RESOURCES_PATH=$APP_PATH/Contents/Resources
|
|
||||||
|
|
||||||
# Tweakable options
|
|
||||||
#export MONO_LOG_LEVEL=debug
|
|
||||||
GAME_PATH=$RESOURCES_PATH
|
|
||||||
SUPPORT_PATH=~/Library/"Application Support"/OpenRA
|
|
||||||
|
|
||||||
# Downloadable content
|
|
||||||
DEPS_PACKAGE="osx-deps-v4.zip"
|
|
||||||
DEPS_URL="http://open-ra.org/get-dependency.php?file=osx-deps-v4"
|
|
||||||
RA_PACKAGE="ra-packages.zip"
|
|
||||||
RA_URL="http://open-ra.org/get-dependency.php?file=ra-packages"
|
|
||||||
CNC_PACKAGE="cnc-packages.zip"
|
|
||||||
CNC_URL="http://open-ra.org/get-dependency.php?file=cnc-packages"
|
|
||||||
|
|
||||||
cd "$EXE_PATH"
|
|
||||||
|
|
||||||
# Download and install game dependencies if needed
|
|
||||||
if [[ ! -e "mono" ]]; then
|
|
||||||
./download_package "$DEPS_PACKAGE" "$EXE_PATH" "14.5 Mb" "required game dependencies" $DEPS_URL
|
|
||||||
if [[ ! -e "mono" ]]; then
|
|
||||||
./display_error "Installation failed" "Package install failed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prompt for the mod to run
|
|
||||||
MODBUTTON=`/usr/bin/osascript << EOT
|
|
||||||
tell application "Finder"
|
|
||||||
activate
|
|
||||||
display dialog "Choose a mod" buttons {"Red Alert", "C&C", "Quit"} \
|
|
||||||
default button "Red Alert" \
|
|
||||||
with icon alias (POSIX file "$RESOURCES_PATH/OpenRA.icns") \
|
|
||||||
with title "OpenRA Mod Selector"
|
|
||||||
set result to button returned of result
|
|
||||||
end tell
|
|
||||||
EOT`
|
|
||||||
|
|
||||||
if [ "$MODBUTTON" == "Quit" ]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
MOD="ra"
|
|
||||||
if [ "$MODBUTTON" == "C&C" ]; then
|
|
||||||
MOD="cnc"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check that the game data is installed
|
|
||||||
if [[ $MOD == "ra" && ! -e "$GAME_PATH/mods/ra/packages/redalert.mix" ]]; then
|
|
||||||
./download_package "ra-packages.zip" "$GAME_PATH/mods/ra/packages/" "10 Mb" "the Red Alert game data" $RA_URL
|
|
||||||
if [[ ! -e "$GAME_PATH/mods/ra/packages/redalert.mix" ]]; then
|
|
||||||
./display_error "Installation failed" "Package install failed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $MOD == "cnc" && ! -e "$GAME_PATH/mods/cnc/packages/conquer.mix" ]]; then
|
|
||||||
./download_package "cnc-packages.zip" "$GAME_PATH/mods/cnc/packages/" "5.9 Mb" "the C&C game data" $CNC_URL
|
|
||||||
if [[ ! -e "$GAME_PATH/mods/cnc/packages/conquer.mix" ]]; then
|
|
||||||
./display_error "Installation failed" "Package install failed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run the game
|
|
||||||
cd "${GAME_PATH}"
|
|
||||||
"${EXE_PATH}"mono --debug "OpenRA.Game.exe" Game.Mods=$MOD SupportDir=~/Library/"Application Support"/OpenRA
|
|
||||||
|
|
||||||
# Did we crash?
|
|
||||||
STATUS=$?
|
|
||||||
if [ "$STATUS" != "0" ]; then
|
|
||||||
"$EXE_PATH"/display_error "OpenRA Crashed" "Sorry about that!\nA crash log has been saved to ~/Library/Application Support/OpenRA/Logs."
|
|
||||||
fi
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
|
|
||||||
# This file is part of OpenRA.
|
|
||||||
#
|
|
||||||
# OpenRA is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# OpenRA is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Internal options
|
|
||||||
RESOURCES_PATH=`pwd`/../Resources
|
|
||||||
|
|
||||||
# Display an error to the user and exit
|
|
||||||
# args:
|
|
||||||
# $1: title
|
|
||||||
# $2: message
|
|
||||||
|
|
||||||
`/usr/bin/osascript << EOT
|
|
||||||
tell application "Finder"
|
|
||||||
activate
|
|
||||||
display dialog "${2}\n\nSupport is available in our irc channel irc.freenode.net #openra." \
|
|
||||||
buttons "Quit" \
|
|
||||||
default button 1 \
|
|
||||||
with title "${1}" \
|
|
||||||
with icon alias (POSIX file "$RESOURCES_PATH/OpenRA.icns")
|
|
||||||
activate
|
|
||||||
end tell
|
|
||||||
EOT`
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
|
|
||||||
# This file is part of OpenRA.
|
|
||||||
#
|
|
||||||
# OpenRA is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# OpenRA is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Internal options
|
|
||||||
RESOURCES_PATH=`pwd`/../Resources
|
|
||||||
SUPPORT_PATH=~/Library/"Application Support"/OpenRA
|
|
||||||
|
|
||||||
# Download and install game mix files from the internet
|
|
||||||
# args:
|
|
||||||
# $1: package file
|
|
||||||
# $2: location to unpack package
|
|
||||||
# $3: package size
|
|
||||||
# $4: mod name
|
|
||||||
# $5: download url
|
|
||||||
|
|
||||||
PWD=`pwd`
|
|
||||||
if [ ! -d "$SUPPORT_PATH" ]; then
|
|
||||||
mkdir -p "$SUPPORT_PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "$SUPPORT_PATH"
|
|
||||||
mkdir -p "${2}"
|
|
||||||
|
|
||||||
if [ -e "Downloads/${1}" ]; then
|
|
||||||
/usr/bin/osascript << EOT
|
|
||||||
tell application "Terminal"
|
|
||||||
activate
|
|
||||||
do script "cd \"${SUPPORT_PATH}\"; unzip -o \"Downloads/${1}\" -d \"${2}\"; touch done; exit;"
|
|
||||||
end tell
|
|
||||||
EOT
|
|
||||||
# Hack around osascript returning before the download finishes
|
|
||||||
while [ ! -e "done" ]; do
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
rm "done"
|
|
||||||
else
|
|
||||||
CONTINUE=`/usr/bin/osascript << EOT
|
|
||||||
tell application "Finder"
|
|
||||||
activate
|
|
||||||
display dialog "OpenRA needs to download ${4}.\n\nDownload size: ${3}" \
|
|
||||||
buttons {"Download", "Quit"} \
|
|
||||||
default button "Download" \
|
|
||||||
with icon alias (POSIX file "$RESOURCES_PATH/OpenRA.icns")
|
|
||||||
set result to button returned of result
|
|
||||||
end tell
|
|
||||||
EOT`
|
|
||||||
if [ "$CONTINUE" != "Download" ]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
/usr/bin/osascript << EOT
|
|
||||||
tell application "Terminal"
|
|
||||||
activate
|
|
||||||
do script "cd \"${SUPPORT_PATH}\"; curl --create-dirs -L -o \"./Downloads/${1}\" \"${5}\"; unzip -o \"Downloads/${1}\" -d \"${2}\"; touch done; exit;"
|
|
||||||
end tell
|
|
||||||
EOT
|
|
||||||
# Hack around osascript returning before the download finishes
|
|
||||||
while [ ! -e "done" ]; do
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
rm "done"
|
|
||||||
fi
|
|
||||||
@@ -1,273 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<configuration>
|
|
||||||
|
|
||||||
<configSections>
|
|
||||||
<section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="mscorlib" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
|
|
||||||
<section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
|
|
||||||
<section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
|
|
||||||
<section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
|
|
||||||
<section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
|
|
||||||
<section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
|
|
||||||
<section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
|
|
||||||
<section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
|
|
||||||
<sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="browserCaps" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" />
|
|
||||||
<section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="healthMonitoring" type="System.Web.Configuration.HealthMonitoringSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="hostingEnvironment" type="System.Web.Configuration.HostingEnvironmentSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
|
|
||||||
<section name="httpCookies" type="System.Web.Configuration.HttpCookiesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="identity" type="System.Web.Configuration.IdentitySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="membership" type="System.Web.Configuration.MembershipSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="mobileControls" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="deviceFilters" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
|
|
||||||
<section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="securityPolicy" type="System.Web.Configuration.SecurityPolicySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
|
|
||||||
<section name="sessionPageState" type="System.Web.Configuration.SessionPageStateSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="siteMap" type="System.Web.Configuration.SiteMapSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="trust" type="System.Web.Configuration.TrustSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
|
|
||||||
<section name="urlMappings" type="System.Web.Configuration.UrlMappingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="webParts" type="System.Web.Configuration.WebPartsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="xhtmlConformance" type="System.Web.Configuration.XhtmlConformanceSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
<section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
|
|
||||||
</sectionGroup>
|
|
||||||
<section name="monoSettings" type="System.Web.Configuration.MonoSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
</sectionGroup>
|
|
||||||
<sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</sectionGroup>
|
|
||||||
<section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</sectionGroup>
|
|
||||||
<section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</sectionGroup>
|
|
||||||
<section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</configSections>
|
|
||||||
|
|
||||||
<connectionStrings>
|
|
||||||
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
|
|
||||||
<add name="LocalSqliteServer" connectionString="Data Source=|DataDirectory|/aspnetdb.sqlite;version=3" providerName="Mono.Data.Sqlite"/>
|
|
||||||
</connectionStrings>
|
|
||||||
|
|
||||||
<configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
|
|
||||||
<providers>
|
|
||||||
<add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
|
|
||||||
description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
|
|
||||||
<add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
|
|
||||||
description="" useMachineProtection="true" keyEntropy="" />
|
|
||||||
</providers>
|
|
||||||
</configProtectedData>
|
|
||||||
|
|
||||||
<system.net>
|
|
||||||
<authenticationModules>
|
|
||||||
<add type="System.Net.BasicClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add type="System.Net.DigestClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add type="System.Net.NtlmClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</authenticationModules>
|
|
||||||
<webRequestModules>
|
|
||||||
<add prefix="http" type="System.Net.HttpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add prefix="https" type="System.Net.HttpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<add prefix="ftp" type="System.Net.FtpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</webRequestModules>
|
|
||||||
<settings>
|
|
||||||
<ipv6 enabled="false"/>
|
|
||||||
</settings>
|
|
||||||
</system.net>
|
|
||||||
|
|
||||||
<system.runtime.remoting>
|
|
||||||
<application>
|
|
||||||
<channels>
|
|
||||||
<channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
|
|
||||||
<channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
|
|
||||||
<channel ref="ipc client" displayName="ipc client (delay loaded)" delayLoadAsClientChannel="true" />
|
|
||||||
</channels>
|
|
||||||
</application>
|
|
||||||
<channels>
|
|
||||||
<channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="ipc" type="System.Runtime.Remoting.Channels.Ipc.IpcChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="ipc client" type="System.Runtime.Remoting.Channels.Ipc.IpcClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<channel id="ipc server" type="System.Runtime.Remoting.Channels.Ipc.IpcServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</channels>
|
|
||||||
<channelSinkProviders>
|
|
||||||
<clientProviders>
|
|
||||||
<formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</clientProviders>
|
|
||||||
<serverProviders>
|
|
||||||
<formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
</serverProviders>
|
|
||||||
</channelSinkProviders>
|
|
||||||
</system.runtime.remoting>
|
|
||||||
|
|
||||||
<appSettings>
|
|
||||||
<!--<add key="yourkey" value="your value" /> -->
|
|
||||||
<!--<remove key="a key defined higher in the hierarchy" /> -->
|
|
||||||
<!--<clear/> Removes all defined settings -->
|
|
||||||
</appSettings>
|
|
||||||
<system.diagnostics>
|
|
||||||
<trace autoflush="false" indentsize="4" />
|
|
||||||
</system.diagnostics>
|
|
||||||
<system.drawing>
|
|
||||||
</system.drawing>
|
|
||||||
|
|
||||||
<system.data>
|
|
||||||
<DbProviderFactories>
|
|
||||||
<add name="Mono Sqlite Data Provider" invariant="Mono.Data.SqliteClient"
|
|
||||||
description="Mono Framework Data Provider for SQLite (old version)"
|
|
||||||
type="Mono.Data.SqliteClient.SqliteFactory, Mono.Data.SqliteClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
|
|
||||||
<add name="Mono Sqlite Provider" invariant="Mono.Data.Sqlite"
|
|
||||||
description="Mono Framework Data Provider for SQLite (new version)"
|
|
||||||
type="Mono.Data.Sqlite.SqliteFactory, Mono.Data.Sqlite, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
|
|
||||||
<add name="Odbc Data Provider" invariant="System.Data.Odbc"
|
|
||||||
description=".Net Framework Data Provider for Odbc"
|
|
||||||
type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
<add name="OleDb Data Provider" invariant="System.Data.OleDb"
|
|
||||||
description=".Net Framework Data Provider for OleDb"
|
|
||||||
type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
<add name="OracleClient Data Provider" invariant="System.Data.OracleClient"
|
|
||||||
description=".Net Framework Data Provider for Oracle"
|
|
||||||
type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
<add name="SqlClient Data Provider" invariant="System.Data.SqlClient"
|
|
||||||
description=".Net Framework Data Provider for SqlServer"
|
|
||||||
type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
||||||
<add name="Sybase Data Provider" invariant="Mono.Data.SybaseClient"
|
|
||||||
description=".Net Framework Data Provider for Sybase"
|
|
||||||
type="Mono.Data.SybaseClient.SybaseClientFactory, Mono.Data.SybaseClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
|
|
||||||
</DbProviderFactories>
|
|
||||||
</system.data>
|
|
||||||
|
|
||||||
<mscorlib>
|
|
||||||
<cryptographySettings>
|
|
||||||
<cryptoNameMapping>
|
|
||||||
<cryptoClasses>
|
|
||||||
<cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
|
|
||||||
</cryptoClasses>
|
|
||||||
<nameEntry name="MD2" class="monoMD2" />
|
|
||||||
</cryptoNameMapping>
|
|
||||||
<oidMap>
|
|
||||||
<oidEntry OID="1.2.840.113549.2.2" name="MD2" />
|
|
||||||
<oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
|
|
||||||
</oidMap>
|
|
||||||
</cryptographySettings>
|
|
||||||
</mscorlib>
|
|
||||||
|
|
||||||
<strongNames>
|
|
||||||
<pubTokenMapping>
|
|
||||||
<!-- ECMA key -->
|
|
||||||
<map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
<!-- Microsoft (final) key -->
|
|
||||||
<map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
<!-- Microsoft (Web Service Enhancement) key -->
|
|
||||||
<map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
<!-- IBM (DB2 Data Provider) key -->
|
|
||||||
<map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
<!-- Silverlight 2.0 key -->
|
|
||||||
<map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
|
|
||||||
</pubTokenMapping>
|
|
||||||
</strongNames>
|
|
||||||
|
|
||||||
<system.web>
|
|
||||||
<webServices>
|
|
||||||
<protocols>
|
|
||||||
<add name="HttpSoap"/>
|
|
||||||
<add name="HttpSoap12"/>
|
|
||||||
<add name="HttpPost"/>
|
|
||||||
<add name="HttpGet"/>
|
|
||||||
<add name="Documentation"/>
|
|
||||||
</protocols>
|
|
||||||
<conformanceWarnings>
|
|
||||||
<add name="BasicProfile1_1"/>
|
|
||||||
</conformanceWarnings>
|
|
||||||
<wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
|
|
||||||
</webServices>
|
|
||||||
|
|
||||||
<membership>
|
|
||||||
<providers>
|
|
||||||
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
|
|
||||||
<!-- <add name="AspNetSqlMembershipProvider" type="Mainsoft.Web.Security.GenericMembershipProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
|
|
||||||
</providers>
|
|
||||||
</membership>
|
|
||||||
|
|
||||||
<roleManager>
|
|
||||||
<providers>
|
|
||||||
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="LocalSqlServer" />
|
|
||||||
<!-- <add name="AspNetSqlRoleProvider" type="Mainsoft.Web.Security.GenericRoleProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
|
|
||||||
</providers>
|
|
||||||
</roleManager>
|
|
||||||
|
|
||||||
<profile>
|
|
||||||
<providers>
|
|
||||||
<add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
</providers>
|
|
||||||
</profile>
|
|
||||||
</system.web>
|
|
||||||
|
|
||||||
<system.serviceModel>
|
|
||||||
<extensions>
|
|
||||||
<behaviorExtensions>
|
|
||||||
<add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
<add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
</behaviorExtensions>
|
|
||||||
<bindingElementExtensions>
|
|
||||||
<add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
</bindingElementExtensions>
|
|
||||||
<bindingExtensions>
|
|
||||||
<add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
|
|
||||||
</bindingExtensions>
|
|
||||||
</extensions>
|
|
||||||
</system.serviceModel>
|
|
||||||
</configuration>
|
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
Reference in New Issue
Block a user