Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

punisher73

macrumors newbie
Original poster
Oct 25, 2013
1
0
Help! I installed Mac OS X Mavericks and now C&C Zero Hour does not work. I get an error that says Zero Hour quit unexpectedly. :(

Process: Zero Hour [67148]
Path: /Applications/Command & Conquer Generals/*/Zero Hour.app/Contents/MacOS/Zero Hour
Identifier: com.aspyr.command.conquer.generals.zero.hour
Version: Zero Hour version 1.0.2 (1.0.2)
Code Type: X86 (Native)
Parent Process: launchd [170]
Responsible: Zero Hour [67148]
User ID: 501

Date/Time: 2013-10-25 15:18:39.152 -0700
OS Version: Mac OS X 10.9 (13A603)
Report Version: 11
Anonymous UUID: AF602691-5758-B4E1-D49B-60DFE6156A0A

Sleep/Wake UUID: 094FE196-76FE-44F4-8A9B-9FCA22B4CC3E

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000

Dyld Error Message:
Symbol not found: _OTAtomicAdd16
Referenced from: /Applications/Command & Conquer Generals/*/Zero Hour.app/Contents/MacOS/Zero Hour
Expected in: /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
 

pidanvronk

macrumors newbie
Oct 26, 2013
1
0
The crash appears to be inside one of the threads managing voice chat in Apple's GameKit technology. Since it isn't crashing on 10.8 there, we didn't change a line of code, Mac OS X 10.9 is very new, and Apple did modify GameKit technology in it, I believe this is one of the problems Apple will soon find and fix in an update.

this is the response I got from technical support
 

helgainpanama

macrumors newbie
Oct 27, 2013
2
0
THANKS TO TPG!

OK HERE IS THE SOLUTION, i wrote it down for beginners:

1) Copy the file "OpenTransport", that you can find it in the folder "/System/Library/PrivateFrameWork/OpenTransport.framework/Versions/A/", of a previous OS X version (e.g. Lion, Mountain Lion) into "Zero Hour.app/contents/MacOs/".

2) Rename the file "Zero Hour" that you find in "Zero Hour.app/contents/MacOs/" in "Zero Hour_bin"

3) Open TexEdit, create a new txt-File, copy this Code in it and save it as "Zero Hour" (no file extension)

#!/usr/bin/env python

def main():
import os
path = os.path.dirname(os.path.realpath(__file__))
command='DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES="{0}/OpenTransport" "{0}/Zero Hour_bin"'.format(path)
import subprocess
subprocess.call(command, shell=True)

if __name__ == '__main__':
main()

4) Make the file "Zero Hour" you just saved an executable by going to terminal and typing "chmod +x Zero\ Hour)"

5) Copy the executable file "Zero Hour" into "Zero Hour.app/contents/MacOs/"

6) Now just double-click on the file "Zero Hour.app" an the game starts.

Thanks again to TPG!
 
Last edited:

jakimberling

macrumors newbie
Oct 27, 2013
1
0
Same issue, original C&C generals works, but no ZH!?!? Anyone know where to contact apple about this problem?
 

Jay Kayess

macrumors newbie
Nov 18, 2009
17
0
Oregon Coast
Following OS 10.9 Download

Attempting to open C&C Generals gives me this notice: "You can't open the application 'C&C Generals' because PowerPC apps are no longer supported."

Any new ideas?
 

AwFrak

macrumors newbie
Oct 29, 2013
6
0
Canada
C&C Generals was such a great game. I wish that franchise would have stuck to realistic strategy games. It got way to cartoony with Red Alert.
 

edumac

macrumors member
Oct 26, 2013
30
0
Pardon my lack of knowledge :eek:, but what does that mean to me? Am I able to update my original DVD to the "universal version 1.0.4"? Or do I have to purchase a new version?

Thanks for your suggestions.

it is a free update
 

Jay Kayess

macrumors newbie
Nov 18, 2009
17
0
Oregon Coast
The support company sent me the 1.0.4 patch/update and I downloaded it on my desktop. Now, how do I "correlate" it with the original application? Or is this suppose to replace my original dvd application? I guess I just don't get it . . . usually, my mac just updates things automatically. Please don't think, "Duh..."

Thank you if you can lend/send some guidance. ;)
 

edumac

macrumors member
Oct 26, 2013
30
0
The support company sent me the 1.0.4 patch/update and I downloaded it on my desktop. Now, how do I "correlate" it with the original application? Or is this suppose to replace my original dvd application? I guess I just don't get it . . . usually, my mac just updates things automatically. Please don't think, "Duh..."

Thank you if you can lend/send some guidance. ;)

let's apply patch
 

edumac

macrumors member
Oct 26, 2013
30
0
This is an official update for Command and Conquer Generals and the Zero Hour expansion. It will fully update any previous version of Generals to 1.0.4 and Zero Hour to 1.0.2.

- This patch is for users of Mac OS X versions 10.3.9 and 10.4 only.
- The version 1.0.4/1.0.2 patch provides universal support for Command and Conquer Generals and the Zero Hour expansion.
- Adds native intel support
- Along with the release of GameRanger version 4.6.1, will improve internet game functionality
 

mitchvanabkoude

macrumors newbie
Nov 15, 2013
1
0
Back to the subject. Zero Hour isnt't working in Mavericks. If it's The GameKit tech, any way we can port Mountain Lion parts back to Mavericks?

Any other options?
 

tpg

macrumors regular
Mar 19, 2010
228
4
Fixed, with many bullets to spare

I've got it working - all you need is a version of OpenTransport.framework (specifically you only the dylib within this package at 'Versions/A/OpenTransport' - the rest is just metadata that isn't needed for our purposes), from an older version of OS X. (I happened to notice that someone - not me - has this cached on a google-able website).

You can then go into the "Zero Hour.app" package, and in Contents/MacOS run (using a terminal):

Code:
DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=/full/path/to/OpenTransport.framework/Versions/A/OpenTransport ./Zero\ Hour

Once you've got it working, you can package it up a bit more nicely so just double clicking on the app will work again. Copy the "OpenTransport" file into the MacOS folder of the Zero Hour app, and move the executable called "Zero Hour" to something like "Zero Hour_bin". Then an executable python script called "Zero Hour" with the following contents gets the job done, as it's executed when you double click the app:

Code:
#!/usr/bin/env python

def main():
  import os
  path = os.path.dirname(os.path.realpath(__file__))
  command='DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES="{0}/OpenTransport" "{0}/Zero Hour_bin"'.format(path)
  import subprocess
  subprocess.call(command, shell=True)

if __name__ == '__main__':
  main()

To make this script executable from the command line (sorry if it's obvious), you'd do

Code:
chmod +x Zero\ Hour

NB, I found that most stuff in here was owned by root, so I had to "sudo" all my mv, cp and chmod commands.

For anyone that's interested in the underlying issue that we're solving - as you've probably guessed it has nothing to do with GameKit. In fact, it's due to the fact that this particular game has a dependence on the OpenTransport framework (a library providing low level networking functions), and this has been deprecated for many years. Apple has finally removed it, as expected, and it won't be restored via an update.

Having spent a few too many hours looking through the disassembly, it seems as though the only obvious dependency is a function "OTAtomicAdd16", and possibly one or two variations on this theme -- the point is that these appear to be *very* simple functions, so I would hope that there isn't much that can go wrong by using an older version of the library. Curiously though, none of the places I found it used in the game had anything to do with networking!

I've tested a couple of single player skirmishes, and everything seems fine, but I haven't had a chance to try multiplayer.

Hope this helps!
 

edumac

macrumors member
Oct 26, 2013
30
0
Many thanks for this Christmas's Gift : it works on 10.9.1 !!!!

for french users :

- chercher OpenTransport.framework dans systeme/blibliothèque/PrivateFrameWorsk (depuis Lion par exemple)
- dans le paquet, ne conserver que le fichier OpenTransport
- copier ce fichier dans Zero Hour.app/contents/MacOs/
- renommer le fichier Zero Hour en Zero Hour_bin (vérifier qu'il n'y a pas d'extension cachée)
- créer le script Zero Hour (copier/coller du code ci-dessus) : vérifier qu'il n'y a pas d'extension cachée aussi.
- transformer ce script en exécutable (chmod +x Zero\ Hour) dans le terminal
- placer ce script dans Zero Hour.app/contents/MacOs/

Si tout est bien correct, vous aurez 3 fichiers avec l'icône du terminal soit : openTransport, Zero Hour et Zero Hour_bin.

cliquer sur l'icône Zero Hour (celui du jeu, pas celui dans Zero Hour.app/contents/MacOs/)
 
Last edited:

Jobymac

macrumors newbie
Dec 24, 2013
6
0
Hello

serait il possible d'avoir une video sur cette installation de C&C zero H car je reste assez novice sur tout les points que tu as abordé. une video sur youtube serait excellente de l'installation de C&C à celui de OpenTransport

----------

Hi Dear

is it possible to explain well for novice web person?
step by step for download C&C Zero hour for OS X Mavericks, its can be very helpful. Thanks
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.