Explore GameReplays...

CNC Zero Hour

GenTool + Offline = Main Menu Freeze

Reply to this topic Start new topic
# 1LordAbyss Feb 27 2019, 21:44 PM
Hi all,

I think the title is very self-explanatory. I noticed, that if I play offline with the Origin version and GenTools being active, then the game menu freezes after a few seconds. This phenomena occurs only while being offline, never when playing with internet connection available. I play from Linux (Ubuntu) and PlayOnLinux Wine combo and each time I play generals zh offline, I must disable the overridden property of d3d8.dll, which is equivalent of deleting the GenTools version of the dll file in the game folder. I did not try this on Windows (I will). The freeze happens in the top main menu, or while settings up a skimish match, so I guess in the menu 'scene' (while not being in match).

I guess GenTool checks something on the internet, and since there is no connection, it fails to do it, resulting in the freeze.

Thanks for any response!

Posts: 10

Game: 8bit Armies, Hordes and Invaders


+
# 2xezon Feb 28 2019, 09:32 AM
It could be a deadlock indeed. All downloads in GenTool are threaded, but there are a couple mutexes that can lock on main thread. I assume this freeze happens even if you just idle in main menu without touching anything?

Posts: 18,484

Clan: MENTAL

Game: CNC Zero Hour


+
# 3LordAbyss Feb 28 2019, 15:17 PM
QUOTE(xezon @ Feb 28 2019, 10:32 AM) *

I assume this freeze happens even if you just idle in main menu without touching anything?


Yes, you are right.

Posts: 10

Game: 8bit Armies, Hordes and Invaders


+
# 4xezon Feb 28 2019, 17:32 PM
QUOTE(LordAbyss @ Feb 28 2019, 17:17 PM) *

Yes, you are right.

Ok this would require a proper debugging session via TeamViewer.

Posts: 18,484

Clan: MENTAL

Game: CNC Zero Hour


+
# 5LordAbyss Feb 28 2019, 20:11 PM
QUOTE(xezon @ Feb 28 2019, 18:32 PM) *

Ok this would require a proper debugging session via TeamViewer.


How can we have a TeamViewer session to test a bug, which only occurs while being offline? smile.gif)))

Posts: 10

Game: 8bit Armies, Hordes and Invaders


+
# 6xezon Feb 28 2019, 21:49 PM
QUOTE(LordAbyss @ Feb 28 2019, 22:11 PM) *

How can we have a TeamViewer session to test a bug, which only occurs while being offline? smile.gif)))

We can try to force disable Winsock in the game.

Posts: 18,484

Clan: MENTAL

Game: CNC Zero Hour


+
# 7ToxicShock Mar 4 2019, 15:12 PM
QUOTE(LordAbyss @ Feb 27 2019, 21:44 PM) *

Hi all,

I think the title is very self-explanatory. I noticed, that if I play offline with the Origin version and GenTools being active, then the game menu freezes after a few seconds. This phenomena occurs only while being offline, never when playing with internet connection available. I play from Linux (Ubuntu) and PlayOnLinux Wine combo and each time I play generals zh offline, I must disable the overridden property of d3d8.dll, which is equivalent of deleting the GenTools version of the dll file in the game folder. I did not try this on Windows (I will). The freeze happens in the top main menu, or while settings up a skimish match, so I guess in the menu 'scene' (while not being in match).

I guess GenTool checks something on the internet, and since there is no connection, it fails to do it, resulting in the freeze.

Thanks for any response!



Can you tell us more about playing on Ubuntu (and Wine - how does that work wacko.gif)? People ask about that now and again over in the Revora support forums and it would be good to be able to give them instructions.

Posts: 33,959

Clan: Mates First

Game: Command and Conquer 3


+
# 8LordAbyss Mar 6 2019, 15:32 PM
QUOTE(xezon @ Feb 28 2019, 22:49 PM) *

We can try to force disable Winsock in the game.


Well, since I am on Linux and within Wine, it might be a bit different than how you might imagine, but I guess it could be possible somehow. Probably I will look into whether I can disable network communication for wine or like that and so cut the app from internet access.

QUOTE(ToxicShock @ Mar 4 2019, 16:12 PM) *

Can you tell us more about playing on Ubuntu (and Wine - how does that work wacko.gif)? People ask about that now and again over in the Revora support forums and it would be good to be able to give them instructions.


[ORIGIN WARNING] If you use Origin, you should disable "Origin within Game" for CCG and ZH after installation. I didn't read why, it causes some problems and as I experienced it does not even work, so just disable it (take out the check from the box). How to do it?

[SAME EXE WARNING] If you want to play together and replace the executable file (the generals.exe), then the exe should be the very same for all players, who want to play together. Same applies to modding I guess, but I've never modded the game.

Using Origin:
I use PlayOnLinux. That is an app, which manages different Wine setups. I created a Wine setup for Origin and installed its Windows version. Then, simply launched Origin within that Wine and downloaded CCG&ZH from the C&C Ultimate Collection. It does not really need hacking around, even 1.04 path is already being installed. As for GenTool, I wrote how I did it here or somewhere. The thing is, that the Wine Configuration must be opened of that Wine setup (right click on Origin shortcut, then "Configure Wine"), which has the Origin installed, then add a "d3d8" entry to the list under the Libraries tab. Its default setting (upon addition) is what we need: "(native, builtin)" == "Native, then Builtin" (the one within parenthesis appears on the list). This allows native DLL loading (from the game folder), and finds the Builtin (one from Wine files) only if a local, native DLL is not found. This is required, I guess, because all DLL's are loaded from Wine, and being loaded from around natively is disabled by default.

Additional info:
I always start ZH from within Origin.
For Wine setup, I used XP mode (this can be set in Wine Configuration, Applications tab)
For Wine setup, I used the default System version
. . . (possibly used 2.12-staging (x86), but I guess newer versions are just as likely to play well.)

Not using Origin:
I did install ZH without Origin (but with PlayOnLinux+Wine) before too and it works. The core concern is, that Origin has a particular version of the game, and so it might be a bit more stable between two players playing both with the Origin version. If not, I suggest to install the game from the very same installer on both/all machines and install the very same patches.

Installing on PlayOnLinux through Origin:
It's easier than most might think. You click the Install button, then you can search for presets - which are tested setups for certain application (mostly games). ATM, Origin has no such preset, so click "Install a non-listed program" link on the bottom-left corner. Select to create a new virtual drive, name it and select your wished wine version (newest to try first, I advise), select the Origin installer exe, press next. Then, Origin installer runs, click it though, do not modify install path, in most cases, it does not make any difference. When it's done, select the Origin.exe (not the .lnk!) to create a shortcut for it. Then select "I want to create no more shortcuts" or something like that. And you are done. Click on the shortcut to run Origin, and from there, it's the very same as on Windows.

Game files on PlayOnLinux:
To modify the files, you can find them in your home directory in the "PlayOnLinux's virtual drives" folder (shortcut). There you see your wine setups, find the one with the name you have given for the Origin setup, you find drive_c and from there you can find the install directory of the game. All this is from your Linux file browser, like Nautilus, with all its features - copy and paste to overwrite your .exe executable or whatever. It can be done from explorer.exe run from Wine, but believe me, it's a pain in the ass, handling files natively from Linux is much faster and easier. If you mess the game up, you can always right-click the game in the Origin client and select "Repair Game", which replaces all game files to their original state.

Hope I helped, have a great game!

This post has been edited by LordAbyss: Mar 6 2019, 16:14 PM

Posts: 10

Game: 8bit Armies, Hordes and Invaders


+
# 9xezon Mar 6 2019, 15:39 PM
QUOTE(LordAbyss @ Mar 6 2019, 17:32 PM) *

Well, since I am on Linux and within Wine, it might be a bit different than how you might imagine, but I guess it could be possible somehow. Probably I will look into whether I can disable network communication for wine or like that and so cut the app from internet access.

GenTool already has added access for disabling network in the game process.

Posts: 18,484

Clan: MENTAL

Game: CNC Zero Hour


+
# 10LordAbyss Mar 6 2019, 15:52 PM
QUOTE(xezon @ Mar 6 2019, 16:39 PM) *

GenTool already has added access for disabling network in the game process.


Wow, you really think about everything? A true C/C++ developer, I think. smile.gif
Teach me, master!

This post has been edited by LordAbyss: Mar 6 2019, 15:57 PM

Posts: 10

Game: 8bit Armies, Hordes and Invaders


+

2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)