Updated version numbers to 0.85.6, updated sparkle files for 0.85.5, added some source files to Xcode project.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@562 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
kristianduske 2011-12-27 17:18:28 +00:00
parent 8ea0fd037b
commit 5fe1cd97dc
10 changed files with 256 additions and 28 deletions

View file

@ -51,6 +51,18 @@ This should be it. The guides in the link collection at the end of this document
## Building QuakeSpasm ## Building QuakeSpasm
Now you can build QuakeSpasm. Simply open the project file using XCode 4.2 and make sure that "QuakeSpasm > My Mac 64-bit" is selected as the scheme in the toolbar. Select "Product > Run" from the menu to run and debug QuakeSpasm. This will not produce a universal binary however. To produce a universal binary for Intel 64bit, Intel 32bit and PowerPC 32bit, you need to select "Product > Archive" from the menu. This will create an application archive that contains the universal binary. Now you can build QuakeSpasm. Simply open the project file using XCode 4.2 and make sure that "QuakeSpasm > My Mac 64-bit" is selected as the scheme in the toolbar. Select "Product > Run" from the menu to run and debug QuakeSpasm. This will not produce a universal binary however. To produce a universal binary for Intel 64bit, Intel 32bit and PowerPC 32bit, you need to select "Product > Archive" from the menu. This will create an application archive that contains the universal binary.
# Releasing QuakeSpasm
QuakeSpasm for Mac uses the Sparkle framework for automatic updates. This means you have to provide an appcast and the zipped binary at the following location:
http://quakespasm.sourceforge.net/sparkle/appcast.xml
http://quakespasm.sourceforge.net/sparkle/QuakeSpasm <version>.zip
You may also want to update the release notes at
http://quakespasm.sourceforge.net/sparkle/rnotes.html
For security reasons, Sparkle requires updates to be signed. All this is automated using a script.
# Useful Links # Useful Links
- XCode 3.2.6: - XCode 3.2.6:
http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20792 http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20792

View file

@ -54,7 +54,7 @@
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="694149608"> <object class="NSMenuItem" id="694149608">
<reference key="NSMenu" ref="649796088"/> <reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">NewApplication</string> <string key="NSTitle">QuakeSpasm</string>
<string key="NSKeyEquiv"/> <string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int> <int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int> <int key="NSMnemonicLoc">2147483647</int>
@ -68,7 +68,7 @@
</object> </object>
<string key="NSAction">submenuAction:</string> <string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="110575045"> <object class="NSMenu" key="NSSubmenu" id="110575045">
<string key="NSTitle">NewApplication</string> <string key="NSTitle">QuakeSpasm</string>
<object class="NSMutableArray" key="NSMenuItems"> <object class="NSMutableArray" key="NSMenuItems">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="238522557"> <object class="NSMenuItem" id="238522557">
@ -141,7 +141,7 @@
</object> </object>
<object class="NSMenuItem" id="755159360"> <object class="NSMenuItem" id="755159360">
<reference key="NSMenu" ref="110575045"/> <reference key="NSMenu" ref="110575045"/>
<string key="NSTitle">Hide NewApplication</string> <string key="NSTitle">Hide QuakeSpasm</string>
<string key="NSKeyEquiv">h</string> <string key="NSKeyEquiv">h</string>
<int key="NSKeyEquivModMask">1048576</int> <int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int> <int key="NSMnemonicLoc">2147483647</int>
@ -179,7 +179,7 @@
</object> </object>
<object class="NSMenuItem" id="632727374"> <object class="NSMenuItem" id="632727374">
<reference key="NSMenu" ref="110575045"/> <reference key="NSMenu" ref="110575045"/>
<string key="NSTitle">Quit NewApplication</string> <string key="NSTitle">Quit QuakeSpasm</string>
<string key="NSKeyEquiv">q</string> <string key="NSKeyEquiv">q</string>
<int key="NSKeyEquivModMask">1048576</int> <int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int> <int key="NSMnemonicLoc">2147483647</int>
@ -1204,7 +1204,7 @@
<reference key="NSWindow"/> <reference key="NSWindow"/>
<int key="NSViewLayerContentsRedrawPolicy">2</int> <int key="NSViewLayerContentsRedrawPolicy">2</int>
</object> </object>
<string key="NSScreenRect">{{0, 0}, {1366, 746}}</string> <string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string> <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool> <bool key="NSWindowIsRestorable">YES</bool>
</object> </object>

View file

@ -19,7 +19,7 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>0.85.5</string> <string>0.85.6</string>
<key>NSMainNibFile</key> <key>NSMainNibFile</key>
<string>Launcher</string> <string>Launcher</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>

View file

@ -0,0 +1,34 @@
<?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>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>QuakeSpasm</string>
<key>CFBundleIdentifier</key>
<string>net.sf.quakespasm.QuakeSpasm</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.85.6</string>
<key>NSMainNibFile</key>
<string>Launcher</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>SUEnableAutomaticChecks</key>
<false/>
<key>SUFeedURL</key>
<string>http://quakespasm.sourceforge.net/sparkle/appcast.xml</string>
<key>SUPublicDSAKeyFile</key>
<string>dsa_pub.pem</string>
</dict>
</plist>

View file

@ -93,6 +93,8 @@
4890A4621205A27B00452753 /* SUUpdaterDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4890A4611205A27B00452753 /* SUUpdaterDelegate.m */; }; 4890A4621205A27B00452753 /* SUUpdaterDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4890A4611205A27B00452753 /* SUUpdaterDelegate.m */; };
4890A5D21205D55700452753 /* UpdateButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4890A5D11205D55700452753 /* UpdateButton.m */; }; 4890A5D21205D55700452753 /* UpdateButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4890A5D11205D55700452753 /* UpdateButton.m */; };
489D8D2F0D3A630D00AA4471 /* ScreenInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 489D8D2E0D3A630D00AA4471 /* ScreenInfo.m */; }; 489D8D2F0D3A630D00AA4471 /* ScreenInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 489D8D2E0D3A630D00AA4471 /* ScreenInfo.m */; };
48A7C1FC14AA34940011B754 /* strlcat.c in Sources */ = {isa = PBXBuildFile; fileRef = 48A7C1FA14AA34940011B754 /* strlcat.c */; };
48A7C1FD14AA34940011B754 /* strlcpy.c in Sources */ = {isa = PBXBuildFile; fileRef = 48A7C1FB14AA34940011B754 /* strlcpy.c */; };
48B9E7880D340B1E0001CACF /* Launcher.nib in Resources */ = {isa = PBXBuildFile; fileRef = 48B9E7860D340B1E0001CACF /* Launcher.nib */; }; 48B9E7880D340B1E0001CACF /* Launcher.nib in Resources */ = {isa = PBXBuildFile; fileRef = 48B9E7860D340B1E0001CACF /* Launcher.nib */; };
48B9E7A70D340BEA0001CACF /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 48B9E7A60D340BEA0001CACF /* AppController.m */; }; 48B9E7A70D340BEA0001CACF /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 48B9E7A60D340BEA0001CACF /* AppController.m */; };
48B9E7C00D340EA80001CACF /* SDLApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 48B9E7BF0D340EA80001CACF /* SDLApplication.m */; }; 48B9E7C00D340EA80001CACF /* SDLApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 48B9E7BF0D340EA80001CACF /* SDLApplication.m */; };
@ -104,6 +106,16 @@
B021C20914A5FF7E003F18D6 /* cfgfile.c in Sources */ = {isa = PBXBuildFile; fileRef = B021C20714A5FF7E003F18D6 /* cfgfile.c */; }; B021C20914A5FF7E003F18D6 /* cfgfile.c in Sources */ = {isa = PBXBuildFile; fileRef = B021C20714A5FF7E003F18D6 /* cfgfile.c */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
48A7C1F714A9E5150011B754 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8D1107260486CEB800E47090;
remoteInfo = QuakeSpasm;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = { 002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
isa = PBXCopyFilesBuildPhase; isa = PBXCopyFilesBuildPhase;
@ -265,7 +277,6 @@
48728D290D3004A80004D61B /* net_dgrm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = net_dgrm.h; path = ../Quake/net_dgrm.h; sourceTree = SOURCE_ROOT; }; 48728D290D3004A80004D61B /* net_dgrm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = net_dgrm.h; path = ../Quake/net_dgrm.h; sourceTree = SOURCE_ROOT; };
48728D2A0D3004A80004D61B /* net_loop.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = net_loop.c; path = ../Quake/net_loop.c; sourceTree = SOURCE_ROOT; }; 48728D2A0D3004A80004D61B /* net_loop.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = net_loop.c; path = ../Quake/net_loop.c; sourceTree = SOURCE_ROOT; };
48728D2B0D3004A80004D61B /* net_loop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = net_loop.h; path = ../Quake/net_loop.h; sourceTree = SOURCE_ROOT; }; 48728D2B0D3004A80004D61B /* net_loop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = net_loop.h; path = ../Quake/net_loop.h; sourceTree = SOURCE_ROOT; };
487D113A14A8E7FF008765D0 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
48895DB80D4914A000849ABF /* pl_osx.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = pl_osx.m; path = ../Quake/pl_osx.m; sourceTree = SOURCE_ROOT; }; 48895DB80D4914A000849ABF /* pl_osx.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = pl_osx.m; path = ../Quake/pl_osx.m; sourceTree = SOURCE_ROOT; };
4890A4601205A27B00452753 /* SUUpdaterDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdaterDelegate.h; sourceTree = "<group>"; }; 4890A4601205A27B00452753 /* SUUpdaterDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdaterDelegate.h; sourceTree = "<group>"; };
4890A4611205A27B00452753 /* SUUpdaterDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdaterDelegate.m; sourceTree = "<group>"; }; 4890A4611205A27B00452753 /* SUUpdaterDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdaterDelegate.m; sourceTree = "<group>"; };
@ -275,6 +286,11 @@
4890A5E71205D6D400452753 /* rnotes.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = rnotes.html; sourceTree = "<group>"; }; 4890A5E71205D6D400452753 /* rnotes.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = rnotes.html; sourceTree = "<group>"; };
489D8D2D0D3A630D00AA4471 /* ScreenInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScreenInfo.h; sourceTree = "<group>"; }; 489D8D2D0D3A630D00AA4471 /* ScreenInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScreenInfo.h; sourceTree = "<group>"; };
489D8D2E0D3A630D00AA4471 /* ScreenInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ScreenInfo.m; sourceTree = "<group>"; }; 489D8D2E0D3A630D00AA4471 /* ScreenInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ScreenInfo.m; sourceTree = "<group>"; };
48A7C1F414A9E5000011B754 /* QuakeSpasm copy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "QuakeSpasm copy.app"; sourceTree = BUILT_PRODUCTS_DIR; };
48A7C1F614A9E5020011B754 /* QuakeSpasm copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "QuakeSpasm copy-Info.plist"; path = "/Users/kristian/Documents/Code/XCode/QuakeSpasm/MacOSX/QuakeSpasm copy-Info.plist"; sourceTree = "<absolute>"; };
48A7C1F914AA34940011B754 /* strl_fn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = strl_fn.h; path = ../Quake/strl_fn.h; sourceTree = "<group>"; };
48A7C1FA14AA34940011B754 /* strlcat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = strlcat.c; path = ../Quake/strlcat.c; sourceTree = "<group>"; };
48A7C1FB14AA34940011B754 /* strlcpy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = strlcpy.c; path = ../Quake/strlcpy.c; sourceTree = "<group>"; };
48B9E7870D340B1E0001CACF /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Launcher.nib; sourceTree = "<group>"; }; 48B9E7870D340B1E0001CACF /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Launcher.nib; sourceTree = "<group>"; };
48B9E7A50D340BEA0001CACF /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; }; 48B9E7A50D340BEA0001CACF /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; };
48B9E7A60D340BEA0001CACF /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = "<group>"; }; 48B9E7A60D340BEA0001CACF /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = "<group>"; };
@ -336,6 +352,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
8D1107320486CEB800E47090 /* QuakeSpasm.app */, 8D1107320486CEB800E47090 /* QuakeSpasm.app */,
48A7C1F414A9E5000011B754 /* QuakeSpasm copy.app */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@ -343,13 +360,13 @@
29B97314FDCFA39411CA2CEA /* QuakeSpasm */ = { 29B97314FDCFA39411CA2CEA /* QuakeSpasm */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
487D113A14A8E7FF008765D0 /* libz.dylib */,
48243B060D33ED0A00C29F8F /* MacOSX */, 48243B060D33ED0A00C29F8F /* MacOSX */,
483A77D80D2EE8C500CB2E4C /* Quake */, 483A77D80D2EE8C500CB2E4C /* Quake */,
29B97317FDCFA39411CA2CEA /* Resources */, 29B97317FDCFA39411CA2CEA /* Resources */,
4890A5EA1205D6ED00452753 /* Sparkle */, 4890A5EA1205D6ED00452753 /* Sparkle */,
29B97323FDCFA39411CA2CEA /* Frameworks */, 29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */, 19C28FACFE9D520D11CA2CBB /* Products */,
48A7C1F614A9E5020011B754 /* QuakeSpasm copy-Info.plist */,
); );
name = QuakeSpasm; name = QuakeSpasm;
sourceTree = "<group>"; sourceTree = "<group>";
@ -438,6 +455,8 @@
483A781C0D2EEA5400CB2E4C /* pr_exec.c */, 483A781C0D2EEA5400CB2E4C /* pr_exec.c */,
483A780E0D2EEA0F00CB2E4C /* progdefs.q1 */, 483A780E0D2EEA0F00CB2E4C /* progdefs.q1 */,
483A781D0D2EEA5400CB2E4C /* sbar.c */, 483A781D0D2EEA5400CB2E4C /* sbar.c */,
48A7C1FA14AA34940011B754 /* strlcat.c */,
48A7C1FB14AA34940011B754 /* strlcpy.c */,
4847CD5E12057F94000B560F /* sys_sdl_unix.c */, 4847CD5E12057F94000B560F /* sys_sdl_unix.c */,
483A781F0D2EEA5400CB2E4C /* view.c */, 483A781F0D2EEA5400CB2E4C /* view.c */,
483A78200D2EEA5400CB2E4C /* wad.c */, 483A78200D2EEA5400CB2E4C /* wad.c */,
@ -541,6 +560,7 @@
483A77EF0D2EE97700CB2E4C /* progs.h */, 483A77EF0D2EE97700CB2E4C /* progs.h */,
483A77F00D2EE97700CB2E4C /* quakedef.h */, 483A77F00D2EE97700CB2E4C /* quakedef.h */,
483A77F10D2EE97700CB2E4C /* sbar.h */, 483A77F10D2EE97700CB2E4C /* sbar.h */,
48A7C1F914AA34940011B754 /* strl_fn.h */,
483A77F20D2EE97700CB2E4C /* sys.h */, 483A77F20D2EE97700CB2E4C /* sys.h */,
483A77F30D2EE97700CB2E4C /* view.h */, 483A77F30D2EE97700CB2E4C /* view.h */,
483A77F40D2EE97700CB2E4C /* wad.h */, 483A77F40D2EE97700CB2E4C /* wad.h */,
@ -625,6 +645,23 @@
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
48A7C18B14A9E5000011B754 /* QuakeSpasm Release */ = {
isa = PBXNativeTarget;
buildConfigurationList = 48A7C1F114A9E5000011B754 /* Build configuration list for PBXNativeTarget "QuakeSpasm Release" */;
buildPhases = (
48A7C1F014A9E5000011B754 /* Run Script */,
);
buildRules = (
);
dependencies = (
48A7C1F814A9E5150011B754 /* PBXTargetDependency */,
);
name = "QuakeSpasm Release";
productInstallPath = "$(HOME)/Applications";
productName = QuakeSpasm;
productReference = 48A7C1F414A9E5000011B754 /* QuakeSpasm copy.app */;
productType = "com.apple.product-type.application";
};
8D1107260486CEB800E47090 /* QuakeSpasm */ = { 8D1107260486CEB800E47090 /* QuakeSpasm */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "QuakeSpasm" */; buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "QuakeSpasm" */;
@ -668,6 +705,7 @@
projectRoot = ""; projectRoot = "";
targets = ( targets = (
8D1107260486CEB800E47090 /* QuakeSpasm */, 8D1107260486CEB800E47090 /* QuakeSpasm */,
48A7C18B14A9E5000011B754 /* QuakeSpasm Release */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
@ -690,6 +728,23 @@
}; };
/* End PBXResourcesBuildPhase section */ /* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
48A7C1F014A9E5000011B754 /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "set -o errexit\n\n[ \"$CONFIGURATION\" = \"Release\" ] || { echo Distribution target requires \"'Release'\" build style; false; }\n\nVERSION=$(defaults read \"$BUILT_PRODUCTS_DIR/$PROJECT_NAME.app/Contents/Info\" CFBundleVersion)\nDOWNLOAD_BASE_URL=\"http://quakespasm.sourceforge.net/sparkle\"\nRELEASENOTES_URL=\"http://quakespasm.sourceforge.net/sparkle/rnotes.html#version-$VERSION\"\n\nARCHIVE_FILENAME=\"$PROJECT_NAME $VERSION.zip\"\nDOWNLOAD_URL=\"$DOWNLOAD_BASE_URL/$ARCHIVE_FILENAME\"\nKEYCHAIN_PRIVKEY_NAME=\"QuakeSpasm Sparkle Private Key\"\n\nWD=$PWD\ncd \"$BUILT_PRODUCTS_DIR\"\nrm -f \"$PROJECT_NAME\"*.zip\nditto -ck --keepParent \"$PROJECT_NAME.app\" \"$ARCHIVE_FILENAME\"\n\nSIZE=$(stat -f %z \"$ARCHIVE_FILENAME\")\nPUBDATE=$(LC_TIME=en_US date +\"%a, %d %b %G %T %z\")\nSIGNATURE=$( /usr/bin/openssl dgst -sha1 -binary < \"$ARCHIVE_FILENAME\" | /usr/bin/openssl dgst -dss1 -sign < \"$WD/dsa_priv.pem\" | /usr/bin/openssl enc -base64 )\n\n[ $SIGNATURE ] || { echo Unable to load signing private key with name \"'$KEYCHAIN_PRIVKEY_NAME'\" from keychain; false; }\n\ncat <<EOF\n<item>\n<title>Version $VERSION</title>\n<sparkle:releaseNotesLink>$RELEASENOTES_URL</sparkle:releaseNotesLink>\n<pubDate>$PUBDATE</pubDate>\n<enclosure\nurl=\"$DOWNLOAD_URL\"\nsparkle:version=\"$VERSION\"\ntype=\"application/octet-stream\"\nlength=\"$SIZE\"\nsparkle:dsaSignature=\"$SIGNATURE\"\n/>\n</item>\nEOF\n\necho scp \"'$HOME/svn/my-cool-app/build/Release/$ARCHIVE_FILENAME'\" www.example.com:download/\necho scp \"'$WD/appcast.xml'\" www.example.com:web/software/my-cool-app/appcast.xml";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
8D11072C0486CEB800E47090 /* Sources */ = { 8D11072C0486CEB800E47090 /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
@ -771,11 +826,21 @@
4818B0B812D5BA1A006DD66E /* snd_wave.c in Sources */, 4818B0B812D5BA1A006DD66E /* snd_wave.c in Sources */,
4854B1B11340C646004C9F45 /* snd_mpg123.c in Sources */, 4854B1B11340C646004C9F45 /* snd_mpg123.c in Sources */,
B021C20914A5FF7E003F18D6 /* cfgfile.c in Sources */, B021C20914A5FF7E003F18D6 /* cfgfile.c in Sources */,
48A7C1FC14AA34940011B754 /* strlcat.c in Sources */,
48A7C1FD14AA34940011B754 /* strlcpy.c in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
48A7C1F814A9E5150011B754 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8D1107260486CEB800E47090 /* QuakeSpasm */;
targetProxy = 48A7C1F714A9E5150011B754 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */ /* Begin PBXVariantGroup section */
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup; isa = PBXVariantGroup;
@ -796,6 +861,98 @@
/* End PBXVariantGroup section */ /* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
48A7C1F214A9E5000011B754 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
x86_64,
i386,
);
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
);
FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)\"";
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = USE_QS_CONBACK;
HEADER_SEARCH_PATHS = (
/Library/Frameworks/SDL.framework/Headers,
/Library/Frameworks/SDL_net.framework/Headers,
"$(HEADER_SEARCH_PATHS)",
);
INFOPLIST_FILE = "QuakeSpasm copy-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
);
PRODUCT_NAME = "QuakeSpasm copy";
SDKROOT = macosx10.5;
WRAPPER_EXTENSION = app;
ZERO_LINK = YES;
};
name = Debug;
};
48A7C1F314A9E5000011B754 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
x86_64,
i386,
ppc,
);
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
);
FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)\"";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
GCC_PREPROCESSOR_DEFINITIONS = (
USE_CODEC_MP3,
USE_CODEC_VORBIS,
USE_CODEC_WAVE,
USE_QS_CONBACK,
);
HEADER_SEARCH_PATHS = (
/Library/Frameworks/SDL.framework/Headers,
/Library/Frameworks/SDL_net.framework/Headers,
"$(HEADER_SEARCH_PATHS)",
);
INFOPLIST_FILE = "QuakeSpasm copy-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
);
OTHER_CFLAGS = "";
"OTHER_CFLAGS[arch=ppc64]" = (
"-arch",
ppc,
);
"OTHER_CFLAGS[arch=ppc]" = (
"-arch",
ppc,
);
OTHER_LDFLAGS = "";
"OTHER_LDFLAGS[arch=ppc64]" = (
"-arch",
ppc,
);
"OTHER_LDFLAGS[arch=ppc]" = (
"-arch",
ppc,
);
PRODUCT_NAME = "QuakeSpasm copy";
SDKROOT = macosx10.5;
WRAPPER_EXTENSION = app;
};
name = Release;
};
C01FCF4B08A954540054247B /* Debug */ = { C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
@ -984,6 +1141,15 @@
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
48A7C1F114A9E5000011B754 /* Build configuration list for PBXNativeTarget "QuakeSpasm Release" */ = {
isa = XCConfigurationList;
buildConfigurations = (
48A7C1F214A9E5000011B754 /* Debug */,
48A7C1F314A9E5000011B754 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "QuakeSpasm" */ = { C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "QuakeSpasm" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (

View file

@ -15,8 +15,7 @@
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "8D1107260486CEB800E47090" BlueprintIdentifier = "8D1107260486CEB800E47090"
BuildableName = "QuakeSpasm.app" BuildableName = "QuakeSpasm.app"
BlueprintName = "QuakeSpasm" BlueprintName = "QuakeSpasm">
ReferencedContainer = "container:QuakeSpasm.xcodeproj">
</BuildableReference> </BuildableReference>
</BuildActionEntry> </BuildActionEntry>
</BuildActionEntries> </BuildActionEntries>
@ -94,23 +93,5 @@
<ArchiveAction <ArchiveAction
buildConfiguration = "Release" buildConfiguration = "Release"
revealArchiveInOrganizer = "YES"> revealArchiveInOrganizer = "YES">
<PostActions>
<ExecutionAction
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
<ActionContent
title = "Run Script"
scriptText = "set -o errexit&#10;&#10;[ $BUILD_STYLE = Release ] || { echo Distribution target requires &quot;&apos;Release&apos;&quot; build style; false; }&#10;&#10;VERSION=$(defaults read &quot;$BUILT_PRODUCTS_DIR/$PROJECT_NAME.app/Contents/Info&quot; CFBundleVersion)&#10;DOWNLOAD_BASE_URL=&quot;http://quakespasm.sourceforge.net/sparkle&quot;&#10;RELEASENOTES_URL=&quot;http://quakespasm.sourceforge.net/sparkle/rnotes.html#version-$VERSION&quot;&#10;&#10;ARCHIVE_FILENAME=&quot;$PROJECT_NAME $VERSION.zip&quot;&#10;DOWNLOAD_URL=&quot;$DOWNLOAD_BASE_URL/$ARCHIVE_FILENAME&quot;&#10;KEYCHAIN_PRIVKEY_NAME=&quot;QuakeSpasm Sparkle Private Key&quot;&#10;&#10;WD=$PWD&#10;cd &quot;$BUILT_PRODUCTS_DIR&quot;&#10;rm -f &quot;$PROJECT_NAME&quot;*.zip&#10;ditto -ck --keepParent &quot;$PROJECT_NAME.app&quot; &quot;$ARCHIVE_FILENAME&quot;&#10;&#10;SIZE=$(stat -f %z &quot;$ARCHIVE_FILENAME&quot;)&#10;PUBDATE=$(LC_TIME=en_US date +&quot;%a, %d %b %G %T %z&quot;)&#10;SIGNATURE=$(&#10;/usr/bin/openssl dgst -sha1 -binary &lt; &quot;$ARCHIVE_FILENAME&quot; \&#10;| /usr/bin/openssl dgst -dss1 -sign &lt;(security find-generic-password -g -s &quot;$KEYCHAIN_PRIVKEY_NAME&quot; 2&gt;&amp;1 1&gt;/dev/null | perl -pe &apos;($_) = /&quot;(.+)&quot;/; s/\\012/\n/g&apos; | perl -MXML::LibXML -e &apos;print XML::LibXML-&gt;new()-&gt;parse_file(&quot;-&quot;)-&gt;findvalue(q(//string[preceding-sibling::key[1] = &quot;NOTE&quot;]))&apos;) \&#10;| /usr/bin/openssl enc -base64&#10;)&#10;[ $SIGNATURE ] || { echo Unable to load signing private key with name &quot;&apos;$KEYCHAIN_PRIVKEY_NAME&apos;&quot; from keychain; false; }&#10;&#10;cat &lt;&lt;EOF&#10;&lt;item&gt;&#10;&lt;title&gt;Version $VERSION&lt;/title&gt;&#10;&lt;sparkle:releaseNotesLink&gt;$RELEASENOTES_URL&lt;/sparkle:releaseNotesLink&gt;&#10;&lt;pubDate&gt;$PUBDATE&lt;/pubDate&gt;&#10;&lt;enclosure&#10;url=&quot;$DOWNLOAD_URL&quot;&#10;sparkle:version=&quot;$VERSION&quot;&#10;type=&quot;application/octet-stream&quot;&#10;length=&quot;$SIZE&quot;&#10;sparkle:dsaSignature=&quot;$SIGNATURE&quot;&#10;/&gt;&#10;&lt;/item&gt;&#10;EOF&#10;&#10;echo scp &quot;&apos;$HOME/svn/my-cool-app/build/Release/$ARCHIVE_FILENAME&apos;&quot; www.example.com:download/&#10;echo scp &quot;&apos;$WD/appcast.xml&apos;&quot; www.example.com:web/software/my-cool-app/appcast.xml">
<EnvironmentBuildable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8D1107260486CEB800E47090"
BuildableName = "QuakeSpasm.app"
BlueprintName = "QuakeSpasm"
ReferencedContainer = "container:QuakeSpasm.xcodeproj">
</BuildableReference>
</EnvironmentBuildable>
</ActionContent>
</ExecutionAction>
</PostActions>
</ArchiveAction> </ArchiveAction>
</Scheme> </Scheme>

View file

@ -17,5 +17,17 @@
sparkle:dsaSignature="MC4CFQDtSI8T8itHrvQoLTVG8XE4/qPa3wIVAN9qYIEN8LMpFdoIvLVZl6SxSH3m" sparkle:dsaSignature="MC4CFQDtSI8T8itHrvQoLTVG8XE4/qPa3wIVAN9qYIEN8LMpFdoIvLVZl6SxSH3m"
/> />
</item> </item>
<item>
<title>Version 0.85.5</title>
<sparkle:releaseNotesLink>http://quakespasm.sourceforge.net/sparkle/rnotes.html#version-0.85.5</sparkle:releaseNotesLink>
<pubDate>Tue, 27 Dec 2011 11:31:38 +0100</pubDate>
<enclosure
url="http://quakespasm.sourceforge.net/sparkle/QuakeSpasm 0.85.5.zip"
sparkle:version="0.85.5"
type="application/octet-stream"
length="2937479"
sparkle:dsaSignature="YmRhMjY1ZDcyYzdiZjlhYzY4ZGJkZDIyZWRjM2U4NmQ1Y2RkZjIyZQo="
/>
</item>
</channel> </channel>
</rss> </rss>

View file

@ -10,6 +10,29 @@
<body> <body>
<br /> <br />
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading"> <table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="Two column table with heading">
<tr>
<td class="blue">
<h3>QuakeSpasm 0.85.5</h3>
</td>
</tr>
<tr>
<td valign="top">
<ul>
<li>SDL input driver updated, adding native keymap and dead key support to the console</li>
<li>Fixed a crash in net play in maps with extended limits</li>
<li>Verified successful compilation using gcc-4.6.x</li>
<li>Added workaround against GL texture flicker (z fighting), controlled by new cvar 'gl_zfix'</li>
<li>Read video variables early so that a vid_restart isn't necessary after init</li>
<li>mlook and lookspring fixes</li>
<li>Added support for loading external entity files, controlled by new cvar 'external_ents'</li>
<li>Made mp3 playback to allocate system memory instead of zone</li>
<li>Some updates to the progs interpreter code</li>
<li>Fixed r_nolerp_list parsing code of fitzquake</li>
<li>Made sure that deathmatch and coop are not set at the same time</li>
<li>Several code updates from uHexen2 project, several code cleanups.</li>
</ul>
</td>
</tr>
<tr> <tr>
<td class="blue"> <td class="blue">
<h3>QuakeSpasm 0.85.4</h3> <h3>QuakeSpasm 0.85.4</h3>