xcode and launcher updates
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@5573 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
/* note ':s' becomes 'assaultcube' */
|
||||
|
||||
/* tabs */
|
||||
"Main" = "Main";
|
||||
"Keys" = "Keys";
|
||||
"Server" = "Server";
|
||||
|
||||
"Ok" = "Ok";
|
||||
"Cancel" = "Cancel";
|
||||
"Start" = "Start";
|
||||
"Stop" = "Stop";
|
||||
"ServerAlertMesg" = "Error - Can't launch server";
|
||||
|
||||
"ClientAlertTitle" = "Can't start :s";
|
||||
"ClientAlertMesg" = "Try moving the game folder contain :s so that the path doesn't contain weird characters, or start :s manually.";
|
||||
|
||||
"InitAlertTitle" = "Invalid installation";
|
||||
"InitAlertMesg" = "Cannot find game data and executable";
|
||||
|
||||
"FileAlertTitle" = "Invalid file location";
|
||||
"FileAlertMesg" = "Can only load files that are within the :s home or the original :s package folder. Do you want to show this folder?";
|
||||
+48
-24
@@ -18,8 +18,9 @@
|
||||
|
||||
#define kMaxDisplays 16
|
||||
|
||||
//If you make a MOD then please change this, the bundle indentifier, the file extensions (.ogz, .dmo), and the url registration.
|
||||
#define kSAUERBRATEN @"assaultcube"
|
||||
//If you make a MOD then please change this, the bundle indentifier, the file extensions (.cgz, .dmo), and the url registration.
|
||||
#define kASSAULTCUBE @"assaultcube"
|
||||
#define kUSERCONFGIDIR @"assaultcube_1.1"
|
||||
|
||||
//tab names, i.e. image names (text is localised)
|
||||
#define tkMAIN @"Main"
|
||||
@@ -33,7 +34,7 @@
|
||||
- (NSString*)expand {
|
||||
NSMutableString *str = [NSMutableString string];
|
||||
[str setString:self];
|
||||
[str replaceOccurrencesOfString:@":s" withString:kSAUERBRATEN options:0 range:NSMakeRange(0, [str length])];
|
||||
[str replaceOccurrencesOfString:@":s" withString:kASSAULTCUBE options:0 range:NSMakeRange(0, [str length])];
|
||||
return str;
|
||||
}
|
||||
@end
|
||||
@@ -71,7 +72,7 @@
|
||||
[path release];
|
||||
[super dealloc];
|
||||
}
|
||||
- (NSString*)path { return (demo ? [NSString stringWithFormat:@"-xdemo \"%@\"", path] : path); } // minor hack
|
||||
- (NSString*)path { return (demo ? [NSString stringWithFormat:@"--loaddemo=%@", path] : path); } // minor hack
|
||||
- (NSString*)name { return [path lastPathComponent]; }
|
||||
- (NSImage*)image
|
||||
{
|
||||
@@ -234,7 +235,7 @@ static int numberForKey(CFDictionaryRef desc, CFStringRef key)
|
||||
}
|
||||
|
||||
|
||||
/* directory where user files are kept - typically /Users/<name>/Application Support/sauerbraten */
|
||||
/* directory where user files are kept - typically /Users/<name>/Application Support/assaultcube_major.minor */
|
||||
+ (NSString*)userdir
|
||||
{
|
||||
FSRef folder;
|
||||
@@ -243,7 +244,7 @@ static int numberForKey(CFDictionaryRef desc, CFStringRef key)
|
||||
CFURLRef url = CFURLCreateFromFSRef(kCFAllocatorDefault, &folder);
|
||||
path = [(NSURL *)url path];
|
||||
CFRelease(url);
|
||||
path = [path stringByAppendingPathComponent:kSAUERBRATEN];
|
||||
path = [path stringByAppendingPathComponent:kUSERCONFGIDIR];
|
||||
NSFileManager *fm = [NSFileManager defaultManager];
|
||||
if(![fm fileExistsAtPath:path]) [fm createDirectoryAtPath:path attributes:nil]; //ensure it exists
|
||||
}
|
||||
@@ -457,8 +458,7 @@ static int numberForKey(CFDictionaryRef desc, CFStringRef key)
|
||||
|
||||
/*
|
||||
* nil will just launch the fps game
|
||||
* "-rpg" will launch the rpg demo
|
||||
* "-x.." will launch and run commands
|
||||
* "-e.." will launch and run commands
|
||||
* otherwise we are specifying a map to play
|
||||
*/
|
||||
- (BOOL)playFile:(id)filename
|
||||
@@ -468,21 +468,42 @@ static int numberForKey(CFDictionaryRef desc, CFStringRef key)
|
||||
NSArray *res = [[resolutions titleOfSelectedItem] componentsSeparatedByString:@" x "];
|
||||
NSMutableArray *args = [NSMutableArray array];
|
||||
|
||||
[args addObject:[NSString stringWithFormat:@"--home=%@", [Launcher userdir]]];
|
||||
[args addObject:@"--init"];
|
||||
[args addObject:[NSString stringWithFormat:@"--home=%@", [Launcher userdir]]];
|
||||
[args addObject:@"--init"];
|
||||
|
||||
[args addObject:[NSString stringWithFormat:@"-w%@", [res objectAtIndex:0]]];
|
||||
[args addObject:[NSString stringWithFormat:@"-h%@", [res objectAtIndex:1]]];
|
||||
[args addObject:@"-z32"]; //otherwise seems to have a fondness to use -z16 which looks crap
|
||||
|
||||
if([defs integerForKey:dkFULLSCREEN] == 0)
|
||||
[args addObject:@"-t0"];
|
||||
else
|
||||
[args addObject:@"-t1"];
|
||||
[args addObject:[NSString stringWithFormat:@"-a%d", [defs integerForKey:dkFSAA]]];
|
||||
|
||||
if ([stencil state] == NSOnState) [args addObject:@"-s8"];
|
||||
|
||||
if([defs integerForKey:dkFULLSCREEN] == 0)
|
||||
[args addObject:@"-t0"];
|
||||
else
|
||||
[args addObject:@"-t1"];
|
||||
|
||||
if ([stencil state] == NSOnState)
|
||||
[args addObject:@"-s8"];
|
||||
|
||||
NSMutableArray *cmds = [NSMutableArray array];
|
||||
|
||||
if(filename)
|
||||
{
|
||||
if([filename hasPrefix:@"-e"])
|
||||
[cmds addObject:[filename substringFromIndex:2]];
|
||||
if([filename hasPrefix:@"--loaddemo"])
|
||||
[args addObject:filename];
|
||||
else
|
||||
[args addObject:[NSString stringWithFormat:@"--loadmap=%@", filename]];
|
||||
}
|
||||
|
||||
if([cmds count] > 0)
|
||||
{
|
||||
NSString *script = [cmds objectAtIndex:0];
|
||||
int i;
|
||||
for(i = 1; i < [cmds count]; i++) script = [NSString stringWithFormat:@"%@;%@", script, [cmds objectAtIndex:i]];
|
||||
[args addObject:[NSString stringWithFormat:@"-e%@", script]];
|
||||
}
|
||||
|
||||
NSEnumerator *e = [[[defs nonNullStringForKey:dkADVANCEDOPTS] componentsSeparatedByString:@" "] objectEnumerator];
|
||||
NSString *opt;
|
||||
while(opt = [e nextObject]) if([opt length] != 0) [args addObject:opt]; //skip empty ones
|
||||
@@ -534,7 +555,7 @@ static int numberForKey(CFDictionaryRef desc, CFStringRef key)
|
||||
[self initToolBar];
|
||||
[window setBackgroundColor:[NSColor colorWithDeviceRed:0.90 green:0.90 blue:0.90 alpha:1.0]]; //Apples 'mercury' crayon color
|
||||
|
||||
//from the plist we determine that dmo->Viewer, and ogz->Editor
|
||||
//from the plist we determine that dmo->Viewer, and cgz->Editor
|
||||
fileRoles = [[NSMutableDictionary dictionary] retain];
|
||||
NSEnumerator *types = [[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDocumentTypes"] objectEnumerator];
|
||||
NSDictionary *type;
|
||||
@@ -593,7 +614,7 @@ static int numberForKey(CFDictionaryRef desc, CFStringRef key)
|
||||
[self killServer];
|
||||
}
|
||||
|
||||
//we register 'ogz' and 'dmo' as doc types
|
||||
//we register 'cgz' and 'dmo' as doc types
|
||||
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
|
||||
{
|
||||
NSString *role = [fileRoles objectForKey:[filename pathExtension]];
|
||||
@@ -603,12 +624,15 @@ static int numberForKey(CFDictionaryRef desc, CFStringRef key)
|
||||
int i;
|
||||
for(i = 0; i < 2; i++) {
|
||||
NSString *pkg = (i == 0) ? [Launcher cwd] : [Launcher userdir];
|
||||
if(!demo) pkg = [pkg stringByAppendingPathComponent:@"packages"];
|
||||
if(!demo) pkg = [pkg stringByAppendingPathComponent:@"packages/maps/"];
|
||||
if([filename hasPrefix:pkg])
|
||||
return [self playFile:(demo ? [NSString stringWithFormat:@"-xdemo \"%@\"", filename] : filename)];
|
||||
{
|
||||
filename = [filename lastPathComponent]; //chop off extension
|
||||
return [self playFile:(demo ? [NSString stringWithFormat:@"--loaddemo=%@", filename] : filename)];
|
||||
}
|
||||
}
|
||||
NSBeginCriticalAlertSheet(
|
||||
[NSLocalizedString(@"FileAlertMesg", @"") expand], NSLocalizedString(@"Ok", @""), NSLocalizedString(@"Cancel", @""), nil,
|
||||
[NSLocalizedString(@"FileAlertTitle", @"") expand], NSLocalizedString(@"Ok", @""), NSLocalizedString(@"Cancel", @""), nil,
|
||||
window, self, @selector(openPackageFolder:returnCode:contextInfo:), nil, nil,
|
||||
[NSLocalizedString(@"FileAlertMesg", @"") expand]);
|
||||
return NO;
|
||||
@@ -620,12 +644,12 @@ static int numberForKey(CFDictionaryRef desc, CFStringRef key)
|
||||
[self openUserdir:nil];
|
||||
}
|
||||
|
||||
//we register 'sauerbraten' as a url scheme
|
||||
//we register 'assaultcube' as a url scheme
|
||||
- (void)getUrl:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
|
||||
{
|
||||
NSURL *url = [NSURL URLWithString:[[event paramDescriptorForKeyword:keyDirectObject] stringValue]];
|
||||
if(!url) return;
|
||||
[self playFile:[NSString stringWithFormat:@"-xconnect %@", [url host]]];
|
||||
[self playFile:[NSString stringWithFormat:@"-econnect %@", [url host]]];
|
||||
}
|
||||
|
||||
#pragma mark interface actions
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.1.x</string>
|
||||
<string>1.1.x.x</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
665CDD180AFE7ED80030D605 /* botmanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 665CDCE60AFE7ED80030D605 /* botmanager.cpp */; };
|
||||
66899E700C1485E200927C34 /* ConsoleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 66899E6E0C1485E200927C34 /* ConsoleView.m */; };
|
||||
66899E770C14862300927C34 /* macutils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 66899E760C14862300927C34 /* macutils.mm */; };
|
||||
9EAE4C10120F2F370041E6E4 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9EAE4BD8120F2D0A0041E6E4 /* Localizable.strings */; };
|
||||
9EB8171A11ED9AEF00799589 /* INTL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EB8171211ED9AEF00799589 /* INTL.framework */; };
|
||||
9EB8171B11ED9AEF00799589 /* JPEG.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EB8171311ED9AEF00799589 /* JPEG.framework */; };
|
||||
9EB8171C11ED9AEF00799589 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EB8171411ED9AEF00799589 /* Ogg.framework */; };
|
||||
@@ -89,7 +90,6 @@
|
||||
B914CEDA11CAC42F009BA307 /* worldocull.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B914CE8B11CAC42F009BA307 /* worldocull.cpp */; };
|
||||
B914CEDB11CAC42F009BA307 /* worldrender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B914CE8C11CAC42F009BA307 /* worldrender.cpp */; };
|
||||
B914CEDC11CAC42F009BA307 /* zip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B914CE8D11CAC42F009BA307 /* zip.cpp */; };
|
||||
B94198A509207E810029DAD1 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
||||
B94198A809207E810029DAD1 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = F5A47A9E01A0483001D3D55B /* SDLMain.m */; };
|
||||
B94198C309207E810029DAD1 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||
B94198C409207E810029DAD1 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2F67ED704C74A3F00A80002 /* OpenGL.framework */; };
|
||||
@@ -159,6 +159,7 @@
|
||||
66899EA90C14887F00927C34 /* Keys.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Keys.gif; sourceTree = "<group>"; };
|
||||
66899EAA0C14887F00927C34 /* Main.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Main.gif; sourceTree = "<group>"; };
|
||||
66899EAB0C14887F00927C34 /* Server.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Server.gif; sourceTree = "<group>"; };
|
||||
9EAE4BD9120F2D0A0041E6E4 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
9EB8171211ED9AEF00799589 /* INTL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = INTL.framework; path = Frameworks/INTL.framework; sourceTree = "<group>"; };
|
||||
9EB8171311ED9AEF00799589 /* JPEG.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JPEG.framework; path = Frameworks/JPEG.framework; sourceTree = "<group>"; };
|
||||
9EB8171411ED9AEF00799589 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = Frameworks/Ogg.framework; sourceTree = "<group>"; };
|
||||
@@ -360,13 +361,14 @@
|
||||
9EB817DE11EDA3A300799589 /* assaultcube.icns */,
|
||||
9EB8183711EDA6EE00799589 /* assaultcube.plist */,
|
||||
66899EA80C14887F00927C34 /* Help.tiff */,
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
||||
66899EA90C14887F00927C34 /* Keys.gif */,
|
||||
9EB8183811EDA6EE00799589 /* launcher.plist */,
|
||||
66899EAA0C14887F00927C34 /* Main.gif */,
|
||||
B96D0D5A0920971300B6C936 /* MainMenu.nib */,
|
||||
B975E7F30EBCC3A200880D5D /* map.icns */,
|
||||
66899EAB0C14887F00927C34 /* Server.gif */,
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
||||
9EAE4BD8120F2D0A0041E6E4 /* Localizable.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
@@ -564,7 +566,6 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9EB8181D11EDA56D00799589 /* assaultcube.icns in Resources */,
|
||||
B94198A509207E810029DAD1 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -574,12 +575,13 @@
|
||||
files = (
|
||||
9EB8188511EDACDB00799589 /* assaultcube.icns in Resources */,
|
||||
9EB8188611EDACDB00799589 /* Help.tiff in Resources */,
|
||||
B90357B509D09B9D002C9DC7 /* InfoPlist.strings in Resources */,
|
||||
9EB8188711EDACDB00799589 /* Keys.gif in Resources */,
|
||||
9EB8188811EDACDB00799589 /* Main.gif in Resources */,
|
||||
B96D0D630920971300B6C936 /* MainMenu.nib in Resources */,
|
||||
9EB8188911EDACDB00799589 /* map.icns in Resources */,
|
||||
9EB8188A11EDACDB00799589 /* Server.gif in Resources */,
|
||||
B90357B509D09B9D002C9DC7 /* InfoPlist.strings in Resources */,
|
||||
9EAE4C10120F2F370041E6E4 /* Localizable.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -597,7 +599,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "echo $TARGET_BUILD_DIR\ncd $TARGET_BUILD_DIR\n\n#ensure old package is gone\nrm -f assaultcube.dmg\n\n#make the directory which our disk image will be made of\n#use /tmp as a destination because copying ourself (xcode folder) whilst compling causes the dog to chase its tail\nACPKG=`mktemp -d /tmp/acpkg.XXXXXX` || exit 1\n\n#leave indicator of where temp directory is in case things break\nln -sf $ACPKG $TARGET_BUILD_DIR/acpkg\n\n#copy launcher\n/Developer/Tools/CpMac -r $TARGET_BUILD_DIR/launcher.app $ACPKG/AssaultCube.app\n\nHELPDIR=$ACPKG/AssaultCube.app/Contents/Resources/help/\nGAMEDIR=$ACPKG/AssaultCube.app/Contents/gamedata\nmkdir $GAMEDIR\nmkdir $HELPDIR\n\n#copy assaultcube\n/Developer/Tools/CpMac -r $TARGET_BUILD_DIR/assaultcube.app $GAMEDIR/\nstrip -u -r \"$GAMEDIR/assaultcube.app/Contents/MacOS/assaultcube\"\n\n#copy readme and data and remove unneccesary stuff\n/Developer/Tools/CpMac -r $SRCROOT/../../README.html $HELPDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../docs $HELPDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../bot $GAMEDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../config $GAMEDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../packages $GAMEDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../source $ACPKG/sourcecode\nfind -d $ACPKG -name \"shadows.dat\" -exec rm -rf {} \\;\nfind -d $ACPKG -name \"CVS\" -exec rm -rf {} \\;\nfind -d $ACPKG -name \".svn\" -exec rm -rf {} \\;\nfind $ACPKG -name \".DS_Store\" -exec rm -f {} \\;\nrm -rf $ACPKG/sourcecode/xcode/build\nrm -rf $ACPKG/sourcecode/xcode/Frameworks/*\nrm -rf $ACPKG/sourcecode/vcpp\nrm -f $GAMEDIR/config/saved.cfg\nrm -f $GAMEDIR/config/init.cfg\nrm -f $GAMEDIR/config/servers.cfg\n\nrm -rf $HELPDIR/docs/autogen/\nmkdir $GAMEDIR/screenshots\nmkdir $GAMEDIR/demos\nmkdir $GAMEDIR/mods\n\n#add alias to readme\n/usr/bin/osascript <<EOT\ntell application \"Finder\"\nset macSrcPath to POSIX file \"$HELPDIR/README.html\" as text\nset macDestPath to POSIX file \"$ACPKG\" as text\nmake new alias file to file macSrcPath at folder macDestPath\nend tell\nEOT\n\n#finally make a disk image out of the stuff\nhdiutil create -srcfolder $ACPKG -volname assaultcube assaultcube.dmg\nhdiutil internet-enable -yes assaultcube.dmg\n\n#cleanup\nrm -rf $ACPKG";
|
||||
shellScript = "echo $TARGET_BUILD_DIR\ncd $TARGET_BUILD_DIR\n\n#ensure old package is gone\nrm -f assaultcube.dmg\n\n#make the directory which our disk image will be made of\n#use /tmp as a destination because copying ourself (xcode folder) whilst compling causes the dog to chase its tail\nACPKG=`mktemp -d /tmp/acpkg.XXXXXX` || exit 1\n\n#leave indicator of where temp directory is in case things break\nln -sf $ACPKG $TARGET_BUILD_DIR/acpkg\n\n#copy launcher\n/Developer/Tools/CpMac -r $TARGET_BUILD_DIR/launcher.app $ACPKG/AssaultCube.app\n\nHELPDIR=$ACPKG/AssaultCube.app/Contents/Resources/help/\nGAMEDIR=$ACPKG/AssaultCube.app/Contents/gamedata\nmkdir $GAMEDIR\nmkdir $HELPDIR\n\n#copy assaultcube\n/Developer/Tools/CpMac -r $TARGET_BUILD_DIR/assaultcube.app $GAMEDIR/\nstrip -u -r \"$GAMEDIR/assaultcube.app/Contents/MacOS/assaultcube\"\n\n#copy readme and data and remove unneccesary stuff\n/Developer/Tools/CpMac -r $SRCROOT/../../README.html $HELPDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../docs $HELPDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../bot $GAMEDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../config $GAMEDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../packages $GAMEDIR/\n/Developer/Tools/CpMac -r $SRCROOT/../../source $ACPKG/sourcecode\n\n#clean up\nfind -d $ACPKG -name \"shadows.dat\" -exec rm -rf {} \\;\nfind -d $ACPKG -name \"CVS\" -exec rm -rf {} \\;\nfind -d $ACPKG -name \".svn\" -exec rm -rf {} \\;\nfind $ACPKG -name \".DS_Store\" -exec rm -f {} \\;\nrm -rf $ACPKG/sourcecode/xcode/build\nrm -rf $ACPKG/sourcecode/xcode/Frameworks/*\nrm -rf $ACPKG/sourcecode/vcpp\nrm -f $GAMEDIR/config/saved.cfg\nrm -f $GAMEDIR/config/init.cfg\nrm -f $GAMEDIR/config/servers.cfg\n\nrm -rf $HELPDIR/docs/autogen/\nmkdir $GAMEDIR/screenshots\nmkdir $GAMEDIR/demos\nmkdir $GAMEDIR/mods\n\n#add alias to readme\n/usr/bin/osascript <<EOT\ntell application \"Finder\"\nset macSrcPath to POSIX file \"$HELPDIR/README.html\" as text\nset macDestPath to POSIX file \"$ACPKG\" as text\nmake new alias file to file macSrcPath at folder macDestPath\nend tell\nEOT\n\n#finally make a disk image out of the stuff\nhdiutil create -srcfolder $ACPKG -volname assaultcube assaultcube.dmg\nhdiutil internet-enable -yes assaultcube.dmg\n\n#cleanup\nrm -rf $ACPKG";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
@@ -701,6 +703,14 @@
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9EAE4BD8120F2D0A0041E6E4 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
9EAE4BD9120F2D0A0041E6E4 /* English */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B96D0D5A0920971300B6C936 /* MainMenu.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
||||
@@ -52,7 +52,20 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.1.x</string>
|
||||
<string>1.1.x.x</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>AssaultCubeServer</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>assaultcube</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
Reference in New Issue
Block a user