Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update and fix cnc-ddraw #2199

Closed
wants to merge 5 commits into from
Closed

Conversation

Root-Core
Copy link
Contributor

The current implementation fails, if ddraw.dll is a symlink - like in Proton-GE.

The current implementation fails, if ddraw.dll is a symlink - like in Proton-GE.
src/winetricks Outdated Show resolved Hide resolved
src/winetricks Outdated Show resolved Hide resolved
@Gcenx
Copy link
Contributor

Gcenx commented Mar 22, 2024

If special changes are required for GE-Proton that should really be handled within umu-protonfixes, I've never seen any complaints of simply unpacking the archive caused any Linux users issues so I'll assume this would be Proton specific.

@Root-Core
Copy link
Contributor Author

I've never seen any complaints of simply unpacking the archive caused any Linux users issues so I'll assume this would be Proton specific.

Nah. This is why there is the w_try_cp_dll() function in first place and it is used for other dlls.

winetricks/src/winetricks

Lines 748 to 751 in f87bf9e

# Copy $1 into $2. If $2 is found to be a symbolic link, it will be removed first.
# This solve a problem of dlls being symbolic links on some versions or variants of wine.
# We want to replace the symbolic link and not copy into its target.
w_try_cp_dll()

If special changes are required for GE-Proton that should really be handled within umu-protonfixes,

I don't see a single reason it shouldn't be used here.

@Gcenx
Copy link
Contributor

Gcenx commented Mar 23, 2024

Yes using w_try_cp_dll() would indeed be valid, is wine on Linux using symlinks more heavily now for prefixes?

The Linux specific comment was more aimed at the usage of -u but I see you’ve added thumbs up to both my other comments.

@Gcenx
Copy link
Contributor

Gcenx commented Mar 23, 2024

Something that might be worth noting is if something is platform specific (not project specific like Proton) it could always be placed behind a platform guard like I’ve done for the Steam verb for macOS.

@Root-Core
Copy link
Contributor Author

Root-Core commented Mar 23, 2024

Yes using w_try_cp_dll() would indeed be valid, is wine on Linux using symlinks more heavily now for prefixes?

I think so. I'm not using wine directly that much though. I know Proton-GE and Lutris are using it.
I also searched for symlinks in prefixes that use the Proton provided by Steam and they make heavy use out of it.
It makes sense to me, as you don't have to duplicate all files and by replacing a symlink with a file - like in this case - only affects a singular prefix.

The Linux specific comment was more aimed at the usage of -u but I see you’ve added thumbs up to both my other comments.

I will fix it soon. I have only little experience with BSD / MacOS, so I missed that.

I thought an update might be a good thing, but we could just delete files in order to update them.. if necessary.
Afaik there isn't really a mechanism to update a fix to a newer version what so ever, so just forget what I just said. :)

Something that might be worth noting is if something is platform specific (not project specific like Proton) it could always be placed behind a platform guard like I’ve done for the Steam verb for macOS.

Good to know, but I don't think that's necessary here. This fix should work on all platforms.

@Root-Core
Copy link
Contributor Author

Updated to v6.8.0.0, could we please merge after #2204 is accepted?

@Root-Core
Copy link
Contributor Author

Updated to v7.0.0.0, could we please merge after #2204 is accepted?

@austin987
Copy link
Contributor

Thanks; I squashed it locally and added a couple fixes (quoting the variable / updating the version in the metadata).

I pushed it directly in cede504

@austin987 austin987 closed this Dec 19, 2024
@Root-Core Root-Core deleted the cnc-ddraw branch December 19, 2024 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants