Post news Report RSS GenTool 8.7

New Features 8.7 Added compatibility with Generals and Zero Hour The Ultimate Collection (Steam, EA App) Added warning message popup for non-x87 compatible generals executables Fixed game version mismatches for various compatible executables Fixed missing hashing of scb files for game version hash generations Fixed C&C Online login kick by generating random ergc game keys when so required Added -showFrameCount command line argument to draw frame counts Fixes/Improvements 8.7 Fixed severe perf

Posted by on




GenTool 8.7 will not yet be auto-updated to. Please download the Installer or ZIP Archive from the website. Please report new major issues when you have them.

New executables for Generals and Zero Hour


Electronic Art has released new executables for all C&C titles. The ones for Generals and Zero Hour (game.dat) are based on the original patched Compact Disk versions, but have the following edits:

  • Fixed Options.ini benchmark crash fix
  • Removed Compact Disk check
  • Removed launcher (generals.exe) dependency
  • Removed player faction blow up from invalid serial/install
  • Added new high resolution icon

With these edits, common problems on application boot are avoided.

These new executables, signed by Electronic Arts with a certificate, will become the new standard for any retail game installation, including Compact Disk, The First Decade and The Ultimate Collection on Steam and EA App - for as long as Thyme is no option.

Game executables and mismatches


Generals and Zero Hour have different executable releases:

  • The original Compact Disk version
  • The First Decade version
  • The Ultimate Collection on Origin (discontinued)
  • The Ultimate Collection on Steam and EA App

The Origin version is now defunct and can therefore be ignored.

The new releases on Steam and EA App use executables based on the original Compact Disk version. This means they are fully compatible. However, Zero Hour of The First Decade has a recompiled executable (generals.exe), which is not perfectly compatible with the other versions. This can lead to mismatch behaviour in multiplayer matches.

x87 vs SSE instructions


Due the nature of a peer to peer game client, all connected game clients need to be in perfect sync throughout a game session, otherwise the game state will mismatch. A perfect match cannot be guaranteed if the math operations on any game client incur slightly different results.

Zero Hour for The First Decade was recompiled with SSE instructions, whereas the original Compact Disk version and all descendents of its were compiled with x87 instructions. This discrepancy can put these game versions at a random risk of going out of sync, when participating in the same game session. This discrepancy was found by tomsons26, one of the core developers of Thyme, by noticing differences in instructions used for math operations.

Please note that we have no further information on how much of a problem this is in practice. The diverging effects of the instruction discrepancy have not been proven. But fundamentally we know the problem exists and it is better to be cautious here than just ignore it, especially because we have all the tools to gracefully adapt to this issue. If someone is able to provide proofs on actual game functions to show the practical implications of x87 vs SSE instructions, then this would be great.

For more information on x87, please refer to
Gcc.gnu.org

The practical consequence of all this


In practice this means that all players are now encouraged to no longer use a Zero Hour executable version from the The First Decade for multiplayer purposes. Note that both the GenTool website and the GenPatcher program have previously distributed a No-CD version for Zero Hour based on The First Decade for all game installation variants. Both GenTool and GenPatcher will no longer offer this version and instead only refer to the new x87 compatible (pure) game executables distributed by the Ultimate Collection on Steam and EA App.

Note that even if you own The First Decade game installation, you can still upgrade to the new x87 compatible executables from Steam and EA App.

GenPatcher will now distribute the x87 compatible executables.

GenTool 8.7 will now show a warning popup on game launch when running on a x87 incompatible executable, but will otherwise still be fully functional to avoid immediate disruptions - however it may not be in future releases. Uploaded text files will also print the game versions, and will annotate if the executable is x87 compatible. Players are encouraged to help other players upgrade their installations to become x87 compatible, but must not be afraid to play with x87 incompatible players.

It is also possible to download the new game executables from the GenTool website at
Gentool.net
Gentool.net

Good luck, General.

(GenTool version 8.7 and x87 are unrelated things and just coincidentally looking alike)

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: