Skip to content

Commit

Permalink
Merge pull request #18 from rankynbass/wine-xiv-9-pr
Browse files Browse the repository at this point in the history
Changes for 9.0-staging (no wayland)
  • Loading branch information
marzent authored Jan 27, 2024
2 parents 89c2535 + 695b81c commit ab46c17
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 18 deletions.
19 changes: 6 additions & 13 deletions wine-tkg-git/customization.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ _plain_version=""
_use_staging="true"
# staging commit or version tag if you want to use a specific staging version. Can use e.g. "7cfceb7", "v3.16" or "v4.0"
# Leave empty to use latest master - https://github.com/wine-staging/wine-staging/commits/master
_staging_version="4211bac7"
_staging_version=""

# NTsync - Disable with WINE_DISABLE_FAST_SYNC=1 envvar - Set to true to enable NTsync support - https://repo.or.cz/wine/zf.git/shortlog/refs/heads/fastsync4
# more info about NTsync and feedback topic - https://github.com/Frogging-Family/wine-tkg-git/issues/936
Expand Down Expand Up @@ -94,13 +94,6 @@ _re4_fix="false"
# Child window support for vk - Fixes World of Final Fantasy, CEMU vulkan renderer and others - https://bugs.winehq.org/show_bug.cgi?id=45277
_childwindow_fix="false"

# Shared gpu resources support:
# Shared texture resources for d3d9 and d3d11 - https://github.com/doitsujin/dxvk/pull/2516
# Requires DXVK 1.10.1+
# ID3D11Fence and ID3D12Fence sharing - https://github.com/doitsujin/dxvk/pull/2608 https://github.com/HansKristian-Work/vkd3d-proton/pull/1175
# Requires DXVK 1.10.3+, VKD3D-Proton 2.7+
_shared_gpu_resources="false"

# Fix for LoL 9.20+ crashing - Depends on _use_staging="true" - https://bugs.winehq.org/show_bug.cgi?id=47198 & https://bugs.winehq.org/show_bug.cgi?id=47915 - Requires vdso32 disabled (as root: `echo 0 > /proc/sys/abi/vsyscall32`)
# lol depends on the following staging patches :
# winebuild-Fake_Dlls, ntdll-RtlCreateUserThread, ntdll-NtContinue, ntdll-SystemExtendedProcessInformation, ntdll-SystemModuleInformation, ntdll-ThreadHideFromDebugger, wow64cpu-Wow64Transition, user32-InternalGetWindowIcon, ntdll-Pipe_SpecialCharacters, ntdll-NtDevicePath, ntdll-NtQueryVirtualMemory, fonts-Missing_Fonts, crypt32-CMS_Certificates, bcrypt-ECDHSecretAgreement, winex11-ime-check-thread-data
Expand All @@ -111,7 +104,7 @@ _assettocorsa_hudperf_fix="false"

# Fixes for Mortal Kombat 11 - Requires staging, _proton_fs_hack="true", native mfplat (win7) or staging mfplat support and a different GPU driver than RADV
# On Wine 5.2 (up to b1c748c8) and lower, it needs to be toogled on with the WINE_LOW_USER_SPACE_LIMIT=1 envvar
_mk11_fix="true"
_mk11_fix="false"

# Workaround for Final Fantasy XIV Launcher 404 error - Thanks @varris1 ! - Fixed by d535df42f665a097ec721b10fb49d7b18f899be9 (4.10)
# Found to also enable the new launcher (that came with the 5.1 update) to work *with issues*
Expand All @@ -137,11 +130,11 @@ _use_josh_flat_theme="true"
#### PROTON PATCHES ####

# Bypass compositor in fullscreen modes - Typically reduces stuttering and improves performance - https://github.com/ValveSoftware/wine/commit/141ba5cf73029029a5a0bd2cdcfd5f9f9ab7ee7b
_FS_bypass_compositor="false"
_FS_bypass_compositor="true"

# Proton Fullscreen patch - Requires 3.16+ for staging and 5.0+ for mainline - Allows resolution changes for fullscreen games without changing desktop resolution
# You can optionally use nearest neighbour upscaling with the WINE_FULLSCREEN_INTEGER_SCALING envvar
_proton_fs_hack="false"
_proton_fs_hack="true"

# Proton compatible rawinput patchset - Only effective when _proton_fs_hack is set to "true" - Requires a tree containing 6d7828e8df68178ca662bc618f7598254afcfbe1 (4.20+)
_proton_rawinput="true"
Expand All @@ -155,7 +148,7 @@ _win10_default="false"

# Other misc proton patches and hacks - Notably contains fixes for some native vk games (such as Doom Eternal) as well as Rockstar launcher
# Also enables some winevulkan performance optimizations - https://github.com/Joshua-Ashton/proton-wine/tree/winevulkan-opt (fs hack) - https://github.com/Joshua-Ashton/wine/commits/winevulkan-opt-mainline (no fs hack)
_protonify="false"
_protonify="true"


#### USER PATCHES - See README in ./wine-tkg-userpatches dir for instructions ####
Expand All @@ -165,4 +158,4 @@ _protonify="false"
_community_patches="hide-prefix-update-window.mypatch ffxiv_mac.mypatch"

# Automatically update community-patches from git - set to false if you don't want this behaviour, useful for example if you have your own fork.
_community_patches_auto_update="true"
_community_patches_auto_update="true"
9 changes: 6 additions & 3 deletions wine-tkg-git/wine-tkg-profiles/advanced-customization.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,10 @@ _generate_patchsets="false"
# Set to "true" to log compiler warnings and errors to a debug.log file
_log_errors_to_file="false"

# Set to true to disable usage of 32-bit unix libs and use Wine 8.0+ experimental WoW64 for 32-bit apps. Default is "false" as it's still under development.
_NOLIB32="false"
# Set to "true" to disable usage of 32-bit unix libs and disable 32-bit apps support.
# Set to "wow64" to use Wine 8.0+ experimental WoW64 (32on64) for 32-bit apps.
# Default is "false".
_NOLIB32="wow64"

# Set to true to disable 64-bit wine. Doing so will only build 32-bit wine and no SUPPORT for 64-bit apps. Default is "false".
_NOLIB64="false"
Expand Down Expand Up @@ -188,6 +190,7 @@ _nvidia_hate="false"
_sdl_joy_support="false"

# IMAGE_FILE_LARGE_ADDRESS_AWARE override - Will be force-disabled on lower than 3.19 - Useful for 32-bit games hitting address space limitations - Disable with WINE_LARGE_ADDRESS_AWARE=0
# Doesn't work properly together with WoW64 experimental mode
_large_address_aware="true"

# Proton Bcrypt patches - Fixes RDR2 online, notably - Replaces Staging's bcrypt-ECDHSecretAgreement
Expand All @@ -208,4 +211,4 @@ _hotfixes_no_confirm="true"
# Set to false to disable staging mfplat restoration in case a hotfix is available and _hotfixes_no_confirm is set to "true"
_hotfixansw_staging_mfplat=""
# Set to false to disable staging pulseaudio restoration in case a hotfix is available and _hotfixes_no_confirm is set to "true"
_hotfixansw_staging_pulse=""
_hotfixansw_staging_pulse=""
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ index ad21e3b81c5..b1199c18f03 100644
%token tCLASS tMAPS tSTACK tSEGMENTS tSYMBOL tREGS tALLREGS tWND tLOCAL tEXCEPTION
-%token tPROCESS tTHREAD tEOL tEOF
+%token tPROCESS tPROCESSMAP tTHREAD tEOL tEOF
%token tFRAME tSHARE tMODULE tCOND tDISPLAY tUNDISPLAY tDISASSEMBLE
%token tFRAME tSHARE tMODULE tCOND tDISPLAY tUNDISPLAY tDISASSEMBLE tSYSTEM
%token tSTEPI tNEXTI tFINISH tSHOW tDIR tWHATIS tSOURCE
%token <string> tPATH tIDENTIFIER tSTRING tINTVAR
@@ -284,6 +284,7 @@ info_command:
Expand Down Expand Up @@ -263,4 +263,3 @@ index bb933aeb455..2b2382c6c11 100644
BOOL ret = FALSE;
--
2.32.0 (Apple Git-132)

76 changes: 76 additions & 0 deletions wine-tkg-git/wine-tkg-userpatches/ping-fix.mypatch
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
From f5c17d210899d60d6ce716840b3b328f8373823e Mon Sep 17 00:00:00 2001
From: Marc-Aurel Zent <[email protected]>
Date: Thu, 11 Jan 2024 23:54:49 +0100
Subject: [PATCH] iphlpapi: Implement GetRTTAndHopCount.

---
dlls/iphlpapi/iphlpapi_main.c | 55 ++++++++++++++++++++++++++++++-----
1 file changed, 47 insertions(+), 8 deletions(-)

diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index e9c57ada7..404166e68 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -2766,15 +2766,54 @@ DWORD WINAPI GetPerAdapterInfo( ULONG index, IP_PER_ADAPTER_INFO *info, ULONG *s
* RETURNS
* Success: TRUE
* Failure: FALSE
- *
- * FIXME
- * Stub, returns FALSE.
*/
-BOOL WINAPI GetRTTAndHopCount(IPAddr DestIpAddress, PULONG HopCount, ULONG MaxHops, PULONG RTT)
-{
- FIXME("(DestIpAddress 0x%08lx, HopCount %p, MaxHops %ld, RTT %p): stub\n",
- DestIpAddress, HopCount, MaxHops, RTT);
- return FALSE;
+BOOL WINAPI GetRTTAndHopCount( IPAddr DestIpAddress, PULONG HopCount, ULONG MaxHops, PULONG RTT )
+{
+ char send_buffer[0x20] = {0xDE, 0xAD, 0xBE, 0xEF};
+ char receive_buffer[0x1000];
+ const DWORD timeout = 3000;
+ DWORD replies;
+ IP_OPTION_INFORMATION send_options = {0};
+ PICMP_ECHO_REPLY reply;
+ HANDLE icmp_handle;
+
+ TRACE( "(DestIpAddress 0x%08lx, HopCount %p, MaxHops %ld, RTT %p)\n",
+ DestIpAddress, HopCount, MaxHops, RTT );
+
+ if (!HopCount || !RTT || DestIpAddress == -1)
+ return FALSE;
+
+ if (IsBadWritePtr( HopCount, sizeof(ULONG) ) || IsBadWritePtr( RTT, sizeof(ULONG) ))
+ return FALSE;
+
+ if ((icmp_handle = IcmpCreateFile()) == INVALID_HANDLE_VALUE)
+ return FALSE;
+
+ for (send_options.Ttl = 1; send_options.Ttl <= MaxHops; send_options.Ttl++)
+ {
+ replies = IcmpSendEcho( icmp_handle, DestIpAddress, send_buffer, sizeof(send_buffer),
+ &send_options, receive_buffer, sizeof(receive_buffer), timeout );
+
+ if (!replies)
+ {
+ if (GetLastError() == IP_TTL_EXPIRED_TRANSIT) continue;
+ if (GetLastError() == IP_REQ_TIMED_OUT) continue;
+ break;
+ }
+
+ reply = (PICMP_ECHO_REPLY)receive_buffer;
+
+ if (reply->Status == IP_SUCCESS)
+ {
+ *HopCount = send_options.Ttl;
+ *RTT = reply->RoundTripTime;
+ IcmpCloseHandle( icmp_handle );
+ return TRUE;
+ }
+ }
+
+ IcmpCloseHandle( icmp_handle );
+ return FALSE;
}

/******************************************************************

0 comments on commit ab46c17

Please sign in to comment.