OS X Command and Conquer Zero Hour Mavericks Patch?

Discussion in 'Mac and PC Games' started by punisher73, Oct 25, 2013.

  1. macrumors newbie

    Joined:
    Oct 25, 2013
    #1
    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
     
  2. macrumors member

    Joined:
    Oct 26, 2013
  3. macrumors newbie

    Joined:
    Oct 26, 2013
    #3
    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
     
  4. macrumors member

    satyrica

    Joined:
    Jan 9, 2011
    Location:
    Long Beach, CA
    #4
    sigh... anyone able to mod some files or code to get this working?
     
  5. helgainpanama, Oct 27, 2013
    Last edited: Feb 20, 2014

    macrumors newbie

    Joined:
    Oct 27, 2013
    #5
    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!
     
  6. macrumors member

    Joined:
    Oct 26, 2013
    #6
    This is strange, because Command & Conquer Generals is older than Zero Hour
     
  7. macrumors newbie

    Joined:
    Oct 27, 2013
    #7
    Same issue, original C&C generals works, but no ZH!?!? Anyone know where to contact apple about this problem?
     
  8. macrumors newbie

    Joined:
    Nov 18, 2009
    Location:
    Oregon Coast
    #8
    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?
     
  9. macrumors member

    Joined:
    Oct 26, 2013
    #9
    There is a 1.0.4 universal version of C&C
     
  10. macrumors newbie

    AwFrak

    Joined:
    Oct 29, 2013
    Location:
    Canada
    #10
    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.
     
  11. macrumors newbie

    Joined:
    Nov 18, 2009
    Location:
    Oregon Coast
    #11
    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.
     
  12. macrumors member

    Joined:
    Oct 26, 2013
    #12
    it is a free update
     
  13. macrumors newbie

    Joined:
    Nov 18, 2009
    Location:
    Oregon Coast
    #13
    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. ;)
     
  14. macrumors member

    Joined:
    Oct 26, 2013
    #14
    let's apply patch
     
  15. macrumors member

    Joined:
    Oct 26, 2013
  16. macrumors newbie

    Joined:
    Nov 18, 2009
    Location:
    Oregon Coast
    #16
    They sent me "GeneralsZeroHourMac1.0.4_EN" but I don't know what to do with it. I just stuck it on my desktop for the time being . . .
     
  17. macrumors member

    Joined:
    Oct 26, 2013
    #17
    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
     
  18. macrumors newbie

    Joined:
    Nov 15, 2013
    #18
    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?
     
  19. edumac, Dec 1, 2013
    Last edited: Dec 4, 2013

    macrumors member

    Joined:
    Oct 26, 2013
    #19
    I'am waiting for an update from Apple (10.9.1)
     
  20. macrumors member

    Joined:
    Oct 26, 2013
    #20
    but the Apple latest update didn't solve the problem
     
  21. macrumors member

    Joined:
    Oct 26, 2013
    #21
    Have you tested any other solution ?
     
  22. tpg
    macrumors regular

    Joined:
    Mar 19, 2010
    #22
    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!
     
  23. edumac, Dec 23, 2013
    Last edited: Dec 23, 2013

    macrumors member

    Joined:
    Oct 26, 2013
    #23
    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/)
     
  24. macrumors newbie

    Joined:
    Dec 24, 2013
    #24
    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
     
  25. macrumors member

    Joined:
    Oct 26, 2013
    #25
    Ce sera bientôt le cas mais d'une autre façon (soyez patient)
     

Share This Page