PKGBUILDS/wine-tkg-git/wine-tkg-git/wine-tkg-patches/game-specific/mk11/mk11

57 lines
3.4 KiB
Bash

#!/bin/bash
# Fix for Mortal Kombat 11 - Requires staging, native mfplat (win7) and a different GPU driver than RADV
if [ "$_mk11_fix" = "true" ] && [ "$_use_staging" = "true" ] && [ "$_proton_fs_hack" = "true" ]; then
if git merge-base --is-ancestor 548bc54bf396d74b5b928bf9be835272ddda1886 HEAD; then
_patchname='mk11.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
elif git merge-base --is-ancestor 7c39ce0a6cf8a3df1337a0768045c43044fce2f6 HEAD; then
_patchname='mk11-548bc54.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
elif git merge-base --is-ancestor 8504e40d5b5e7076b998b36e6291515b863482cb HEAD; then
_patchname='mk11-7c39ce0.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
elif git merge-base --is-ancestor 0c249e6125fc9dc6ee86b4ef6ae0d9fa2fc6291b HEAD; then
_patchname='mk11-8504e40.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
elif git merge-base --is-ancestor 75fb68e42423362ae945c0c0554f0dcd4d2e169b HEAD; then
_patchname='mk11-0c249e6.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
elif git merge-base --is-ancestor 84d85adeea578cac37bded97984409f44c7985ba HEAD; then
_patchname='mk11-75fb68e.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
elif git merge-base --is-ancestor 2ea3e40465f0530ad71c31e77c9727c00673d91f HEAD; then
_patchname='mk11-84d85ad.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
elif git merge-base --is-ancestor fb7cc99f8a8c5a1594cfa780807d5e75f4b9539e HEAD; then
_patchname='mk11-2ea3e40.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
elif git merge-base --is-ancestor 78e9b02cebf4b107aba69aa9a845ab661a7daf10 HEAD; then
_patchname='mk11-fb7cc99.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
elif git merge-base --is-ancestor b1c748c85205970b97cd31b4347a751c58b2d72e HEAD; then
_patchname='mk11-78e9b02.patch' && _patchmsg="Applied Mortal Kombat 11 fix" && nonuser_patcher
else
if [ "$_large_address_aware" = "true" ]; then
for _f in "$_where"/LAA-stagin*.patch ; do
patch "${_f}" << 'EOM'
@@ -220,15 +220,16 @@ diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index c008db78066..6163761a466 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
-@@ -2442,11 +2442,12 @@ void virtual_release_address_space(void)
+@@ -2442,12 +2442,13 @@ void virtual_release_address_space(void)
*
* Enable use of a large address space when allowed by the application.
*/
-void virtual_set_large_address_space(void)
+void virtual_set_large_address_space(BOOL force_large_address)
{
IMAGE_NT_HEADERS *nt = RtlImageNtHeader( NtCurrentTeb()->Peb->ImageBaseAddress );
+ if (is_win64) return;
- if (!(nt->FileHeader.Characteristics & IMAGE_FILE_LARGE_ADDRESS_AWARE)) return;
+ if (!(nt->FileHeader.Characteristics & IMAGE_FILE_LARGE_ADDRESS_AWARE) && !force_large_address) return;
+
EOM
done
fi
if ( cd "${srcdir}"/"${_stgsrcdir}" && git merge-base --is-ancestor 89af635b941cf450ae371395e7b28d09161f3a36 HEAD ); then
_patchname='mk11-b1c748c.patch' && _patchmsg="Applied Mortal Kombat 11 fix (<b1c748c)" && nonuser_patcher
else
_patchname='mk11-89af635.patch' && _patchmsg="Applied Mortal Kombat 11 fix (<89af635)" && nonuser_patcher
fi
fi
fi