italomandara / CXPatcher

A patcher to upgrade Crossover dependencies and improve compatibility
GNU General Public License v3.0
834 stars 22 forks source link

Editing the Registry doesn't work properly #92

Open Jepl4r opened 11 months ago

Jepl4r commented 11 months ago

I'm trying to play Horizon Zero Dawn and I'm modifying the DWORD value to 0x0000044c (1100) to remove the slow motion bug, but any edits I make in the registry don't get saved. (I already tried with a new bottle)

I don't know if this is an issue derived from CrossOver being patched or not.

Is there any alternate method of modifying that value?

italomandara commented 11 months ago

It's a known issue but not sure if it's CXPatcher causing it

Jepl4r commented 11 months ago

Is there a workaround? Can the value be added to one of the .reg files inside the bottle folder?

italomandara commented 11 months ago

Is there a workaround? Can the value be added to one of the .reg files inside the bottle folder?

I was able to set it by trying several times

Jepl4r commented 11 months ago

Directly inside the Registry?

italomandara commented 11 months ago

run command -> regedit

Jepl4r commented 11 months ago

I know that. I was asking if you did that in the registry, which you did, or you modified the .reg files in the bottle

italomandara commented 11 months ago

https://github.com/Gcenx/WineskinServer/issues/424#issuecomment-1619239181

Jepl4r commented 11 months ago

@italomandara That works. I created a text file, copied the command with the right game path, saved it and changed the extension to .bat I then created a shortcut in CrossOver. Surprisingly it starts from the shortcut directly (before I needed to use Run With Options otherwise it wouldn't start)

Jepl4r commented 11 months ago

@italomandara I discovered that creating a .bat file with the command to start an exe file starts all the games that previously could not be started with the shortcut created by CrossOver, for now I used it to start some GOG games that I had installed with the offline installer, so I don't know if it works with Steam games.

italomandara commented 11 months ago

In theory in your batch file you start steam and that's all you need

Jepl4r commented 11 months ago

I'm wondering if this could work to start the game using the Steam Game ID

@echo off
steam steam://rungameid/{GameID}
Gcenx commented 11 months ago

This isn’t a registry editing issue as that registry key is updated by wine itself on launch that’s why it changes. The reason the workaround works is your importing a reg file after wines already running so it won’t touch that key again until it’s next launch.

I’ve passed this along so the actual issue can be resolved, I know Proton had a hack but that was behind a Linux guard as it used Linux only functions.

Jepl4r commented 11 months ago

This isn’t a registry editing issue as that registry key is updated by wine itself on launch that’s why it changes. The reason the workaround works is your importing a reg file after wines already running so it won’t touch that key again until it’s next launch.

Yeah, I figured. I actually tried editing the registry key and then opened the game without closing the registry and it worked. I was asking if there was a method to make it save that. Anyway that command @italomandara sent does that automatically.

Gcenx commented 11 months ago

As explained by my prior comment that key can’t be saved as wine updates it on the next launch, importing the pre-populated key after wine launched works as per my Wineskin users.

Once I have a viable patch to resolve the core issue I’ll apply it