Commit 7f0eca30 authored by Vitaly Lipatov's avatar Vitaly Lipatov

just import winetricks-20220617.tar with rpmgs script

parent e05970a6
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '09 18 * * *'
jobs:
linkcheck:
runs-on: ubuntu-latest
steps:
- name: checkout project
uses: actions/checkout@v2
- name: run linkcheck
run: ./src/linkcheck.sh crawl
...@@ -10,8 +10,8 @@ colorprofile Standard RGB color profile (Microsoft, 2005) [downloada ...@@ -10,8 +10,8 @@ colorprofile Standard RGB color profile (Microsoft, 2005) [downloada
controlpad MS ActiveX Control Pad (Microsoft, 1997) [downloadable] controlpad MS ActiveX Control Pad (Microsoft, 1997) [downloadable]
controlspy Control Spy 6 (Microsoft, 2005) [downloadable] controlspy Control Spy 6 (Microsoft, 2005) [downloadable]
dotnet20sdk MS .NET 2.0 SDK (Microsoft, 2006) [downloadable] dotnet20sdk MS .NET 2.0 SDK (Microsoft, 2006) [downloadable]
dxsdk_aug2006 MS DirectX SDK, August 2006 (developers only) (Microsoft, 2006) [downloadable]
dxsdk_jun2010 MS DirectX SDK, June 2010 (developers only) (Microsoft, 2010) [downloadable] dxsdk_jun2010 MS DirectX SDK, June 2010 (developers only) (Microsoft, 2010) [downloadable]
dxsdk_nov2006 MS DirectX SDK, November 2006 (developers only) (Microsoft, 2006) [downloadable]
emu8086 emu8086 (emu8086.com, 2015) [downloadable] emu8086 emu8086 (emu8086.com, 2015) [downloadable]
ev3 Lego Mindstorms EV3 Home Edition (Lego, 2014) [downloadable] ev3 Lego Mindstorms EV3 Home Edition (Lego, 2014) [downloadable]
firefox Firefox 51.0 (Mozilla, 2017) [downloadable] firefox Firefox 51.0 (Mozilla, 2017) [downloadable]
...@@ -56,7 +56,6 @@ vc2008express MS Visual C++ 2008 Express (Microsoft, 2008) [downloada ...@@ -56,7 +56,6 @@ vc2008express MS Visual C++ 2008 Express (Microsoft, 2008) [downloada
vc2010express MS Visual C++ 2010 Express (Microsoft, 2010) [downloadable] vc2010express MS Visual C++ 2010 Express (Microsoft, 2010) [downloadable]
vlc VLC media player 2.2.1 (VideoLAN, 2015) [downloadable] vlc VLC media player 2.2.1 (VideoLAN, 2015) [downloadable]
vstools2019 MS Visual Studio Build Tools 2019 (Microsoft, 2019) [downloadable] vstools2019 MS Visual Studio Build Tools 2019 (Microsoft, 2019) [downloadable]
vulkansdk121412 Vulkan SDK 1.2.141.2 (developers only) (LunarG, 2020) [downloadable]
winamp Winamp (Radionomy (AOL (Nullsoft)), 2013) [downloadable] winamp Winamp (Radionomy (AOL (Nullsoft)), 2013) [downloadable]
wme9 MS Windows Media Encoder 9 (broken in Wine) (Microsoft, 2002) [downloadable] wme9 MS Windows Media Encoder 9 (broken in Wine) (Microsoft, 2002) [downloadable]
===== benchmarks ===== ===== benchmarks =====
...@@ -348,7 +347,6 @@ vcrun6 Visual C++ 6 SP4 libraries (mfc42, msvcp60, msvcirt) (M ...@@ -348,7 +347,6 @@ vcrun6 Visual C++ 6 SP4 libraries (mfc42, msvcp60, msvcirt) (M
vcrun6sp6 Visual C++ 6 SP6 libraries (with fixes in ATL and MFC) (Microsoft, 2004) [downloadable] vcrun6sp6 Visual C++ 6 SP6 libraries (with fixes in ATL and MFC) (Microsoft, 2004) [downloadable]
vjrun20 MS Visual J# 2.0 SE libraries (requires dotnet20) (Microsoft, 2007) [downloadable] vjrun20 MS Visual J# 2.0 SE libraries (requires dotnet20) (Microsoft, 2007) [downloadable]
vkd3d Vulkan-based D3D12 implementation for Linux / Wine (latest) (Hans-Kristian Arntzen , 2020) [downloadable] vkd3d Vulkan-based D3D12 implementation for Linux / Wine (latest) (Hans-Kristian Arntzen , 2020) [downloadable]
vulkanrt121412 Vulkan Runtime 1.2.141.2 (LunarG, 2020) [downloadable]
webio MS Windows Web I/O (Microsoft, 2011) [downloadable] webio MS Windows Web I/O (Microsoft, 2011) [downloadable]
windowscodecs MS Windows Imaging Component (Microsoft, 2006) [downloadable] windowscodecs MS Windows Imaging Component (Microsoft, 2006) [downloadable]
winhttp MS Windows HTTP Services (Microsoft, 2005) [downloadable] winhttp MS Windows HTTP Services (Microsoft, 2005) [downloadable]
......
...@@ -9,8 +9,8 @@ colorprofile Standard RGB color profile (Microsoft, 2005) [downloada ...@@ -9,8 +9,8 @@ colorprofile Standard RGB color profile (Microsoft, 2005) [downloada
controlpad MS ActiveX Control Pad (Microsoft, 1997) [downloadable] controlpad MS ActiveX Control Pad (Microsoft, 1997) [downloadable]
controlspy Control Spy 6 (Microsoft, 2005) [downloadable] controlspy Control Spy 6 (Microsoft, 2005) [downloadable]
dotnet20sdk MS .NET 2.0 SDK (Microsoft, 2006) [downloadable] dotnet20sdk MS .NET 2.0 SDK (Microsoft, 2006) [downloadable]
dxsdk_aug2006 MS DirectX SDK, August 2006 (developers only) (Microsoft, 2006) [downloadable]
dxsdk_jun2010 MS DirectX SDK, June 2010 (developers only) (Microsoft, 2010) [downloadable] dxsdk_jun2010 MS DirectX SDK, June 2010 (developers only) (Microsoft, 2010) [downloadable]
dxsdk_nov2006 MS DirectX SDK, November 2006 (developers only) (Microsoft, 2006) [downloadable]
emu8086 emu8086 (emu8086.com, 2015) [downloadable] emu8086 emu8086 (emu8086.com, 2015) [downloadable]
ev3 Lego Mindstorms EV3 Home Edition (Lego, 2014) [downloadable] ev3 Lego Mindstorms EV3 Home Edition (Lego, 2014) [downloadable]
firefox Firefox 51.0 (Mozilla, 2017) [downloadable] firefox Firefox 51.0 (Mozilla, 2017) [downloadable]
...@@ -55,6 +55,5 @@ vc2008express MS Visual C++ 2008 Express (Microsoft, 2008) [downloada ...@@ -55,6 +55,5 @@ vc2008express MS Visual C++ 2008 Express (Microsoft, 2008) [downloada
vc2010express MS Visual C++ 2010 Express (Microsoft, 2010) [downloadable] vc2010express MS Visual C++ 2010 Express (Microsoft, 2010) [downloadable]
vlc VLC media player 2.2.1 (VideoLAN, 2015) [downloadable] vlc VLC media player 2.2.1 (VideoLAN, 2015) [downloadable]
vstools2019 MS Visual Studio Build Tools 2019 (Microsoft, 2019) [downloadable] vstools2019 MS Visual Studio Build Tools 2019 (Microsoft, 2019) [downloadable]
vulkansdk121412 Vulkan SDK 1.2.141.2 (developers only) (LunarG, 2020) [downloadable]
winamp Winamp (Radionomy (AOL (Nullsoft)), 2013) [downloadable] winamp Winamp (Radionomy (AOL (Nullsoft)), 2013) [downloadable]
wme9 MS Windows Media Encoder 9 (broken in Wine) (Microsoft, 2002) [downloadable] wme9 MS Windows Media Encoder 9 (broken in Wine) (Microsoft, 2002) [downloadable]
...@@ -277,7 +277,6 @@ vcrun6 Visual C++ 6 SP4 libraries (mfc42, msvcp60, msvcirt) (M ...@@ -277,7 +277,6 @@ vcrun6 Visual C++ 6 SP4 libraries (mfc42, msvcp60, msvcirt) (M
vcrun6sp6 Visual C++ 6 SP6 libraries (with fixes in ATL and MFC) (Microsoft, 2004) [downloadable] vcrun6sp6 Visual C++ 6 SP6 libraries (with fixes in ATL and MFC) (Microsoft, 2004) [downloadable]
vjrun20 MS Visual J# 2.0 SE libraries (requires dotnet20) (Microsoft, 2007) [downloadable] vjrun20 MS Visual J# 2.0 SE libraries (requires dotnet20) (Microsoft, 2007) [downloadable]
vkd3d Vulkan-based D3D12 implementation for Linux / Wine (latest) (Hans-Kristian Arntzen , 2020) [downloadable] vkd3d Vulkan-based D3D12 implementation for Linux / Wine (latest) (Hans-Kristian Arntzen , 2020) [downloadable]
vulkanrt121412 Vulkan Runtime 1.2.141.2 (LunarG, 2020) [downloadable]
webio MS Windows Web I/O (Microsoft, 2011) [downloadable] webio MS Windows Web I/O (Microsoft, 2011) [downloadable]
windowscodecs MS Windows Imaging Component (Microsoft, 2006) [downloadable] windowscodecs MS Windows Imaging Component (Microsoft, 2006) [downloadable]
winhttp MS Windows HTTP Services (Microsoft, 2005) [downloadable] winhttp MS Windows HTTP Services (Microsoft, 2005) [downloadable]
......
...@@ -391,8 +391,6 @@ vkd3d ...@@ -391,8 +391,6 @@ vkd3d
vlc vlc
vlgothic vlgothic
vstools2019 vstools2019
vulkanrt121412
vulkansdk121412
webdings webdings
webio webio
wenquanyi wenquanyi
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
# Name of this version of winetricks (YYYYMMDD) # Name of this version of winetricks (YYYYMMDD)
# (This doesn't change often, use the sha256sum of the file when reporting problems) # (This doesn't change often, use the sha256sum of the file when reporting problems)
WINETRICKS_VERSION=20220411 WINETRICKS_VERSION=20220411-next
# This is a UTF-8 file # This is a UTF-8 file
# You should see an o with two dots over it here [ö] # You should see an o with two dots over it here [ö]
...@@ -29,7 +29,7 @@ WINETRICKS_VERSION=20220411 ...@@ -29,7 +29,7 @@ WINETRICKS_VERSION=20220411
# - ar, cabextract, unrar, unzip, and 7z are needed by some verbs. # - ar, cabextract, unrar, unzip, and 7z are needed by some verbs.
# - aria2c, wget, curl, or fetch is needed for downloading. # - aria2c, wget, curl, or fetch is needed for downloading.
# - fuseiso, archivemount (Linux), or hdiutil (macOS) is used to mount .iso images. # - fuseiso, archivemount (Linux), or hdiutil (macOS) is used to mount .iso images.
# - perl is used to munge steam config files. # - perl is used for displaying download progress for wget when using zenity
# - pkexec, sudo, or kdesu (gksu/gksudo/kdesudo are deprecated upstream but also still supported) # - pkexec, sudo, or kdesu (gksu/gksudo/kdesudo are deprecated upstream but also still supported)
# are used to mount .iso images if the user cached them with -k option. # are used to mount .iso images if the user cached them with -k option.
# - sha256sum, sha256, or shasum (OSX 10.5 does not support these, 10.6+ is required) # - sha256sum, sha256, or shasum (OSX 10.5 does not support these, 10.6+ is required)
...@@ -53,7 +53,7 @@ WINETRICKS_VERSION=20220411 ...@@ -53,7 +53,7 @@ WINETRICKS_VERSION=20220411
# #
# Copyright: # Copyright:
# Copyright (C) 2007-2014 Dan Kegel <dank!kegel.com> # Copyright (C) 2007-2014 Dan Kegel <dank!kegel.com>
# Copyright (C) 2008-2019 Austin English <austinenglish!gmail.com> # Copyright (C) 2008-2022 Austin English <austinenglish!gmail.com>
# Copyright (C) 2010-2011 Phil Blankenship <phillip.e.blankenship!gmail.com> # Copyright (C) 2010-2011 Phil Blankenship <phillip.e.blankenship!gmail.com>
# Copyright (C) 2010-2015 Shannon VanWagner <shannon.vanwagner!gmail.com> # Copyright (C) 2010-2015 Shannon VanWagner <shannon.vanwagner!gmail.com>
# Copyright (C) 2010 Belhorma Bendebiche <amro256!gmail.com> # Copyright (C) 2010 Belhorma Bendebiche <amro256!gmail.com>
...@@ -951,9 +951,13 @@ w_read_key() ...@@ -951,9 +951,13 @@ w_read_key()
w_verify_cabextract_available() w_verify_cabextract_available()
{ {
# If verb_a requires verb_b, then verba will fail when the dependency for verb_b is installed # If verb_a requires verb_b, then verb_a will fail when the dependency for verb_b is installed
# This should be called by verb_a, to give a proper warning # This should be called by verb_a, to give a proper warning
if test ! -x "$(command -v cabextract 2>/dev/null)"; then
w_die "Cannot find cabextract. Please install it (e.g. 'sudo apt-get install cabextract' or 'sudo yum install cabextract')."
fi
w_try_cabextract -q -v >/dev/null 2>&1 w_try_cabextract -q -v >/dev/null 2>&1
} }
...@@ -1674,102 +1678,6 @@ w_download_manual() ...@@ -1674,102 +1678,6 @@ w_download_manual()
w_download_manual_to "${W_PACKAGE}" "$@" w_download_manual_to "${W_PACKAGE}" "$@"
} }
# Turn off news, overlays, and friend interaction in Steam
# Run from inside C:\Program Files\Steam
w_steam_safemode()
{
cat > "${W_TMP}/steamconfig.pl" <<"_EOF_"
#!/usr/bin/env perl
# Parse Steam's localconfig.vcf, add settings to it, and write it out again
# The file is a recursive dictionary
#
# FILE :== CONTAINER
#
# VALUE :== "name" "value" NEWLINE
#
# CONTAINER :== "name" NEWLINE "{" NEWLINE ( VALUE | CONTAINER ) * "}" NEWLINE
#
# We load it into a recursive hash.
use strict;
use warnings;
sub read_into_container{
my( $pcontainer ) = @_;
$_ = <FILE> || w_die "Can't read first line of container";
/{/ || w_die "First line of container was not {";
while (<FILE>) {
chomp;
if (/"([^"]*)"\s*"([^"]*)"$/) {
${$pcontainer}{$1} = $2;
} elsif (/"([^"]*)"$/) {
my( %newcon, $name );
$name = $1;
read_into_container(\%newcon);
${$pcontainer}{$name} = \%newcon;
} elsif (/}/) {
return;
} else {
w_die "huh?";
}
}
}
sub dump_container{
my( $pcontainer, $indent ) = @_;
foreach (sort(keys(%{$pcontainer}))) {
my( $val ) = ${$pcontainer}{$_};
if (ref $val eq 'HASH') {
print "${indent}\"$_\"\n";
print "${indent}{\n";
dump_container($val, "$indent\t");
print "${indent}}\n";
} else {
print "${indent}\"${_}\"\t\t\"$val\"\n";
}
}
}
# Disable anything unsafe or annoying
sub disable_notifications{
my( $pcontainer ) = @_;
${$pcontainer}{"friends"}{"PersonaStateDesired"} = "1";
${$pcontainer}{"friends"}{"Notifications_ShowIngame"} = "0";
${$pcontainer}{"friends"}{"Sounds_PlayIngame"} = "0";
${$pcontainer}{"friends"}{"Notifications_ShowOnline"} = "0";
${$pcontainer}{"friends"}{"Sounds_PlayOnline"} = "0";
${$pcontainer}{"friends"}{"Notifications_ShowMessage"} = "0";
${$pcontainer}{"friends"}{"Sounds_PlayMessage"} = "0";
${$pcontainer}{"friends"}{"AutoSignIntoFriends"} = "0";
${$pcontainer}{"News"}{"NotifyAvailableGames"} = "0";
${$pcontainer}{"system"}{"EnableGameOverlay"} = "0";
}
# Read the file
my(%top);
open FILE, $ARGV[0] || w_die "cannot open ".$ARGV[0];
my($line);
$line = <FILE> || w_die "Could not read first line from ".$ARGV[0];
$line =~ /"UserLocalConfigStore"/ || w_die "this is not a localconfig.vdf file";
read_into_container(\%top);
# Modify it
disable_notifications(\%top);
# Write modified file
print "\"UserLocalConfigStore\"\n";
print "{\n";
dump_container(\%top, "\t");
print "}\n";
_EOF_
for file in userdata/*/config/localconfig.vdf ; do
cp "${file}" "${file}.old"
perl "${W_TMP}"/steamconfig.pl "${file}.old" > "${file}"
done
}
w_question() w_question()
{ {
case ${WINETRICKS_GUI} in case ${WINETRICKS_GUI} in
...@@ -1785,160 +1693,6 @@ w_question() ...@@ -1785,160 +1693,6 @@ w_question()
esac esac
} }
# Reads steam username and password from environment, cache, or user
# If had to ask user, cache answer.
w_steam_getid()
{
#TODO: Translate
_W_steamidmsg="Please enter your Steam login ID (not email)"
_W_steampasswordmsg="Please enter your Steam password"
if test ! "${W_STEAM_ID}"; then
if test -f "${W_CACHE}"/steam_userid.txt; then
W_STEAM_ID=$(cat "${W_CACHE}"/steam_userid.txt)
else
W_STEAM_ID=$(w_question "${_W_steamidmsg}")
echo "${W_STEAM_ID}" > "${W_CACHE}"/steam_userid.txt
chmod 600 "${W_CACHE}"/steam_userid.txt
fi
fi
if test ! "${W_STEAM_PASSWORD}"; then
if test -f "${W_CACHE}"/steam_password.txt; then
W_STEAM_PASSWORD=$(cat "${W_CACHE}"/steam_password.txt)
else
W_STEAM_PASSWORD=$(w_question "${_W_steampasswordmsg}")
echo "${W_STEAM_PASSWORD}" > "${W_CACHE}"/steam_password.txt
chmod 600 "${W_CACHE}"/steam_password.txt
fi
fi
}
# Usage:
# w_steam_install_game steamidnum windowtitle
w_steam_install_game()
{
_W_steamid=$1
_W_steamtitle="$2"
w_steam_getid
# Install the steam runtime
WINETRICKS_OPT_SHAREDPREFIX=1 w_call steam
# Steam puts up a bunch of windows. Here's the sequence:
# "Steam - Updating" - wait for it to close. May appear twice in a row.
# "Steam - Login" - wait for it to close (credentials already given on cmdline)
# "Steam" (small window) - connecting, wait for it to close
# "Steam" (large window) - the main window
# "Steam - Updates News" - close it forcefully
# "Install - $title" - send enter, click a couple checkboxes, send enter again
# "Updating $title" - small download progress dialog
# "Steam - Ready" game install done. (Only comes up if main window not up.)
w_try_cd "${W_PROGRAMS_X86_UNIX}/Steam"
w_ahk_do "
SetTitleMatchMode 2
SetWinDelay 500
; Run steam once until it finishes its initial update.
; For me, this exits at 26%.
run steam.exe -applaunch ${_W_steamid} -login ${W_STEAM_ID} ${W_STEAM_PASSWORD}
Loop
{
ifWinExist, Steam - Updating
{
winwaitclose, Steam
process close, Steam.exe
sleep 1000
; Run a second time; let it finish updating, then kill it.
run steam.exe
winwait Steam - Updating
winwaitclose
process close, Steam.exe
; Run a third time, have it log in, wait until it has finished connecting
run steam.exe -applaunch ${_W_steamid} -login ${W_STEAM_ID} ${W_STEAM_PASSWORD}
}
ifWinExist, Steam Login
{
break
}
sleep 500
}
; wait for login window to close
winwaitclose
winwait Steam ; wait for small <<connecting>> window
winwaitclose
"
if [ "${STEAM_DVD}" = "TRUE" ]; then
w_ahk_do "
; Run a fourth time, have it install the app.
run steam.exe -install ${W_ISO_MOUNT_LETTER}:\\
"
else
w_ahk_do "
; Run a fourth time, have it install the app.
run steam.exe -applaunch ${_W_steamid}
"
fi
w_ahk_do "
winwait Install - ${_W_steamtitle}
if ( w_opt_unattended > 0 ) {
send {enter} ; next (for 1st of 3 pages of install dialog)
sleep 1000
click 32, 91 ; uncheck create menu item?
click 32, 119 ; check create desktop icon?
send {enter} ; next (for 2nd of 3 pages of install dialog)
; dismiss any news dialogs, and click 'next' on third page of install dialog
loop
{
sleep 1000
ifwinexist Steam - Updates News
{
winclose
continue
}
ifwinexist Install - ${_W_steamtitle}
{
winactivate
send {enter} ; next (for 3rd of 3 pages of install dialog)
}
ifwinnotexist Install - ${_W_steamtitle}
{
sleep 1000
ifwinnotexist Install - ${_W_steamtitle}
break
}
}
}
"
if [ "${STEAM_DVD}" = "TRUE" ]; then
# Wait for install to finish
while true; do
grep "SetHasAllLocalContent(true) called for ${_W_steamid}" "${W_PROGRAMS_X86_UNIX}/Steam/logs/download_log.txt" && break
sleep 5
done
fi
w_ahk_do "
; For DVD's: theoretically, it should be installed now, but most games want to download updates. Do that now.
; For regular downloads: relaunch to coax steam into showing its nice small download progress dialog
process close, Steam.exe
run steam.exe -login ${W_STEAM_ID} ${W_STEAM_PASSWORD} -applaunch ${_W_steamid}
winwait Ready -
process close, Steam.exe
"
# Not all users need this disabled, but let's play it safe for now
if w_workaround_wine_bug 22053 "Disabling in-game notifications to prevent game crashes on some machines."; then
w_steam_safemode
fi
unset _W_steamid _W_steamtitle
}
#---------------------------------------------------------------- #----------------------------------------------------------------
...@@ -4543,19 +4297,23 @@ winetricks_is_installed() ...@@ -4543,19 +4297,23 @@ winetricks_is_installed()
_W_prefix="${WINEPREFIX}" _W_prefix="${WINEPREFIX}"
;; ;;
esac esac
if test -d "${_W_prefix}/dosdevices"; then if test -d "${_W_prefix}/dosdevices"; then
# 'win7 vcrun2005' creates different file than 'winxp vcrun2005' # 'win7 vcrun2005' creates different file than 'winxp vcrun2005'
# so let it specify multiple, separated by | # so let it specify multiple, separated by |
_W_IFS="${IFS}" _W_IFS="${IFS}"
IFS='|' IFS='|'
for _W_file_ in ${_W_file}; do for _W_file_ in ${_W_file}; do
_W_file_unix="$(WINEPREFIX="${_W_prefix}" w_pathconv -u "${_W_file_}")" _W_file_unix="$(WINEPREFIX="${_W_prefix}" w_pathconv -u "${_W_file_}")"
if test -f "${_W_file_unix}" && ! grep -q "Wine placeholder DLL" "${_W_file_unix}"; then if test -f "${_W_file_unix}" && ! grep -q "Wine placeholder DLL" "${_W_file_unix}"; then
IFS="${_W_IFS}" IFS="${_W_IFS}"
unset _W_file _W_file_ _W_file_unix _W_prefix _W_IFS unset _W_file _W_file_ _W_file_unix _W_prefix _W_IFS
return "${TRUE}" # installed return "${TRUE}" # installed
fi fi
done done
IFS="${_W_IFS}" IFS="${_W_IFS}"
fi fi
;; ;;
...@@ -4888,6 +4646,7 @@ winetricks_cache_iso() ...@@ -4888,6 +4646,7 @@ winetricks_cache_iso()
if [ ! -x "$(command -v ddrescue)" ]; then if [ ! -x "$(command -v ddrescue)" ]; then
w_die "Please install ddrescue first." w_die "Please install ddrescue first."
fi fi
${WINETRICKS_OPT_DD} -v -b 2048 ${WINETRICKS_DEV} "${W_CACHE}"/temp.iso & ${WINETRICKS_OPT_DD} -v -b 2048 ${WINETRICKS_DEV} "${W_CACHE}"/temp.iso &
WINETRICKS_DD_PID=$! WINETRICKS_DD_PID=$!
;; ;;
...@@ -5651,10 +5410,10 @@ winetricks_wine_setup() ...@@ -5651,10 +5410,10 @@ winetricks_wine_setup()
# wine-2.8 # wine-2.8
_wine_version_stripped="$(echo "${WINETRICKS_WINE_VERSION}" | cut -d ' ' -f1 | sed -e 's/wine-//' -e 's/-rc.*//')" _wine_version_stripped="$(echo "${WINETRICKS_WINE_VERSION}" | cut -d ' ' -f1 | sed -e 's/wine-//' -e 's/-rc.*//')"
# If WINE is < 5.0, warn user: # If WINE is < 6.0, warn user:
# 5.0 doesn't do what I thought it would # 6.0 doesn't do what I thought it would
if w_wine_version_in ,4.99 ; then if w_wine_version_in ,5.99 ; then
w_warn "Your version of wine ${_wine_version_stripped} is no longer supported upstream. You should upgrade to 5.x" w_warn "Your version of wine ${_wine_version_stripped} is no longer supported upstream. You should upgrade to 6.x"
fi fi
winetricks_set_wineprefix "$1" winetricks_set_wineprefix "$1"
...@@ -6333,8 +6092,10 @@ load_d3dcompiler_42() ...@@ -6333,8 +6092,10 @@ load_d3dcompiler_42()
for x in "${W_TMP}"/*.cab; do for x in "${W_TMP}"/*.cab; do
w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
if test "${W_ARCH}" = "win64"; then if test "${W_ARCH}" = "win64"; then
w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*x64.cab; do for x in "${W_TMP}"/*x64.cab; do
w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
...@@ -6364,11 +6125,14 @@ load_d3dcompiler_43() ...@@ -6364,11 +6125,14 @@ load_d3dcompiler_43()
helper_directx_Jun2010 helper_directx_Jun2010
w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x86*" "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x86*" "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*.cab; do for x in "${W_TMP}"/*.cab; do
w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
if test "${W_ARCH}" = "win64"; then if test "${W_ARCH}" = "win64"; then
w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*x64.cab; do for x in "${W_TMP}"/*x64.cab; do
w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
...@@ -6467,11 +6231,14 @@ load_d3dx9() ...@@ -6467,11 +6231,14 @@ load_d3dx9()
# Kinder, less invasive directx - only extract and override d3dx9_??.dll # Kinder, less invasive directx - only extract and override d3dx9_??.dll
w_try_cabextract -d "${W_TMP}" -L -F '*d3dx9*x86*' "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F '*d3dx9*x86*' "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*.cab; do for x in "${W_TMP}"/*.cab; do
w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F 'd3dx9*.dll' "${x}" w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F 'd3dx9*.dll' "${x}"
done done
if test "${W_ARCH}" = "win64"; then if test "${W_ARCH}" = "win64"; then
w_try_cabextract -d "${W_TMP}" -L -F '*d3dx9*x64*' "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F '*d3dx9*x64*' "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*x64.cab; do for x in "${W_TMP}"/*x64.cab; do
w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F 'd3dx9*.dll' "${x}" w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F 'd3dx9*.dll' "${x}"
done done
...@@ -6803,8 +6570,10 @@ load_d3dx11_42() ...@@ -6803,8 +6570,10 @@ load_d3dx11_42()
for x in "${W_TMP}"/*.cab; do for x in "${W_TMP}"/*.cab; do
w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
if test "${W_ARCH}" = "win64"; then if test "${W_ARCH}" = "win64"; then
w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*x64.cab; do for x in "${W_TMP}"/*x64.cab; do
w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
...@@ -6833,8 +6602,10 @@ load_d3dx11_43() ...@@ -6833,8 +6602,10 @@ load_d3dx11_43()
for x in "${W_TMP}"/*.cab; do for x in "${W_TMP}"/*.cab; do
w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
if test "${W_ARCH}" = "win64"; then if test "${W_ARCH}" = "win64"; then
w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*x64.cab; do for x in "${W_TMP}"/*x64.cab; do
w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
...@@ -6862,8 +6633,10 @@ load_d3dx10() ...@@ -6862,8 +6633,10 @@ load_d3dx10()
for x in "${W_TMP}"/*.cab; do for x in "${W_TMP}"/*.cab; do
w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F 'd3dx10*.dll' "${x}" w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F 'd3dx10*.dll' "${x}"
done done
if test "${W_ARCH}" = "win64"; then if test "${W_ARCH}" = "win64"; then
w_try_cabextract -d "${W_TMP}" -L -F '*d3dx10*x64*' "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F '*d3dx10*x64*' "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*x64.cab; do for x in "${W_TMP}"/*x64.cab; do
w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F 'd3dx10*.dll' "${x}" w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F 'd3dx10*.dll' "${x}"
done done
...@@ -6894,8 +6667,10 @@ load_d3dx10_43() ...@@ -6894,8 +6667,10 @@ load_d3dx10_43()
for x in "${W_TMP}"/*.cab; do for x in "${W_TMP}"/*.cab; do
w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
if test "${W_ARCH}" = "win64"; then if test "${W_ARCH}" = "win64"; then
w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F "*${dllname}*x64*" "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*x64.cab; do for x in "${W_TMP}"/*x64.cab; do
w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}" w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F "${dllname}.dll" "${x}"
done done
...@@ -7156,22 +6931,22 @@ load_dsdmo() ...@@ -7156,22 +6931,22 @@ load_dsdmo()
#---------------------------------------------------------------- #----------------------------------------------------------------
w_metadata dxsdk_nov2006 apps \ w_metadata dxsdk_aug2006 apps \
title="MS DirectX SDK, November 2006 (developers only)" \ title="MS DirectX SDK, August 2006 (developers only)" \
publisher="Microsoft" \ publisher="Microsoft" \
year="2006" \ year="2006" \
media="download" \ media="download" \
file1="dxsdk_aug2006.exe" \ file1="dxsdk_aug2006.exe" \
installed_file1="${W_PROGRAMS_X86_WIN}/Microsoft DirectX SDK (August 2006)/Lib/x86/d3d10.lib" installed_file1="${W_PROGRAMS_X86_WIN}/Microsoft DirectX SDK (August 2006)/Lib/x86/d3d10.lib"
load_dxsdk_nov2006() load_dxsdk_aug2006()
{ {
w_download https://download.microsoft.com/download/9/e/5/9e5bfc66-a621-4e0d-8bfe-6688058c3f00/dxsdk_aug2006.exe ab8d7d895089a88108d4148ef0f7e214b7a23c1ee9ba720feca78c7d4ca16c00 w_download https://archive.org/download/dxsdk_aug2006/dxsdk_aug2006.exe ab8d7d895089a88108d4148ef0f7e214b7a23c1ee9ba720feca78c7d4ca16c00
# dxview.dll uses mfc42u while registering # dxview.dll uses mfc42u while registering
w_call mfc42 w_call mfc42
w_try_cabextract "${W_CACHE}"/dxsdk_nov2006/dxsdk_aug2006.exe w_try_cabextract "${W_CACHE}/${W_PACKAGE}/${file1}"
w_try_unzip "${W_TMP}" dxsdk.exe w_try_unzip "${W_TMP}" dxsdk.exe
w_try_cd "${W_TMP}" w_try_cd "${W_TMP}"
w_try "${WINE}" msiexec /i Microsoft_DirectX_SDK.msi ${W_OPT_UNATTENDED:+/q} w_try "${WINE}" msiexec /i Microsoft_DirectX_SDK.msi ${W_OPT_UNATTENDED:+/q}
...@@ -8496,7 +8271,7 @@ helper_vkd3d_proton() ...@@ -8496,7 +8271,7 @@ helper_vkd3d_proton()
w_try_unzip "${W_TMP}" "${W_CACHE}/${W_PACKAGE}/${_W_package_archive}" w_try_unzip "${W_TMP}" "${W_CACHE}/${W_PACKAGE}/${_W_package_archive}"
elif [ "${_W_package_archive##*.}" = "zst" ]; then elif [ "${_W_package_archive##*.}" = "zst" ]; then
w_try_cd "${W_TMP}" w_try_cd "${W_TMP}"
w_try tar -I zstd -xvf "${W_CACHE}/${W_PACKAGE}/${_W_package_archive}" w_try tar --use-compress-program=unzstd -xvf "${W_CACHE}/${W_PACKAGE}/${_W_package_archive}"
else else
w_try_cd "${W_TMP}" w_try_cd "${W_TMP}"
w_try tar -zxf "${W_CACHE}/${W_PACKAGE}/${_W_package_archive}" w_try tar -zxf "${W_CACHE}/${W_PACKAGE}/${_W_package_archive}"
...@@ -8821,7 +8596,7 @@ load_dotnet11sp1() ...@@ -8821,7 +8596,7 @@ load_dotnet11sp1()
# The installer itself doesn't support 64-bit # The installer itself doesn't support 64-bit
w_package_unsupported_win64 w_package_unsupported_win64
w_download https://download.microsoft.com/download/8/b/4/8b4addd8-e957-4dea-bdb8-c4e00af5b94b/NDP1.1sp1-KB867460-X86.exe 2c0a35409ff0873cfa28b70b8224e9aca2362241c1f0ed6f622fef8d4722fd9a w_download https://msassist.com/files/dotNETframework/NDP1.1sp1-KB867460-X86.exe 2c0a35409ff0873cfa28b70b8224e9aca2362241c1f0ed6f622fef8d4722fd9a
w_call remove_mono w_call remove_mono
w_call dotnet11 w_call dotnet11
...@@ -8926,7 +8701,7 @@ load_dotnet20() ...@@ -8926,7 +8701,7 @@ load_dotnet20()
# This affects Victoria 2 demo, see https://forum.paradoxplaza.com/forum/showthread.php?p=11523967 # This affects Victoria 2 demo, see https://forum.paradoxplaza.com/forum/showthread.php?p=11523967
rm -f "${W_SYSTEM32_DLLS}"/msvc?80.dll rm -f "${W_SYSTEM32_DLLS}"/msvc?80.dll
elif [ "${W_ARCH}" = "win64" ]; then elif [ "${W_ARCH}" = "win64" ]; then
w_download https://download.microsoft.com/download/a/3/f/a3f1bf98-18f3-4036-9b68-8e6de530ce0a/NetFx64.exe 7ea86dca8eeaedcaa4a17370547ca2cea9e9b6774972b8e03d2cb1fb0e798669 w_download https://web.archive.org/web/20060509045320/https://download.microsoft.com/download/a/3/f/a3f1bf98-18f3-4036-9b68-8e6de530ce0a/NetFx64.exe 7ea86dca8eeaedcaa4a17370547ca2cea9e9b6774972b8e03d2cb1fb0e798669
# validates successfully in win7 mode wine-3.19, so not setting winversion # validates successfully in win7 mode wine-3.19, so not setting winversion
w_try_cd "${W_CACHE}"/"${W_PACKAGE}" w_try_cd "${W_CACHE}"/"${W_PACKAGE}"
...@@ -8961,7 +8736,7 @@ load_dotnet20sdk() ...@@ -8961,7 +8736,7 @@ load_dotnet20sdk()
w_package_unsupported_win64 w_package_unsupported_win64
# https://www.microsoft.com/en-us/download/details.aspx?id=19988 # https://www.microsoft.com/en-us/download/details.aspx?id=19988
w_download https://download.microsoft.com/download/c/4/b/c4b15d7d-6f37-4d5a-b9c6-8f07e7d46635/setup.exe 1d7337bfbb2c65f43c82d188688ce152af403bcb67a2cc2a3cc68a580ecd8200 w_download https://web.archive.org/web/20111102051348/https://download.microsoft.com/download/c/4/b/c4b15d7d-6f37-4d5a-b9c6-8f07e7d46635/setup.exe 1d7337bfbb2c65f43c82d188688ce152af403bcb67a2cc2a3cc68a580ecd8200
w_call remove_mono w_call remove_mono
...@@ -9444,6 +9219,15 @@ load_dotnet40() ...@@ -9444,6 +9219,15 @@ load_dotnet40()
# Avoid a popup on WINEPREFIX updates, see https://bugs.winehq.org/show_bug.cgi?id=41727#c5 # Avoid a popup on WINEPREFIX updates, see https://bugs.winehq.org/show_bug.cgi?id=41727#c5
"${WINE}" reg add "HKLM\\Software\\Microsoft\\.NETFramework" /v OnlyUseLatestCLR /t REG_DWORD /d 0001 /f "${WINE}" reg add "HKLM\\Software\\Microsoft\\.NETFramework" /v OnlyUseLatestCLR /t REG_DWORD /d 0001 /f
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
w_set_winver 'default' w_set_winver 'default'
} }
...@@ -9481,6 +9265,15 @@ load_dotnet40_kb2468871() ...@@ -9481,6 +9265,15 @@ load_dotnet40_kb2468871()
w_try_cd "${W_TMP}" w_try_cd "${W_TMP}"
w_try "${WINE}" msiexec /p NDP40-KB2468871.msp w_try "${WINE}" msiexec /p NDP40-KB2468871.msp
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
w_set_winver 'default' w_set_winver 'default'
} }
...@@ -9533,6 +9326,15 @@ load_dotnet45() ...@@ -9533,6 +9326,15 @@ load_dotnet45()
w_warn "Setting Windows version to 2003, otherwise applications using .NET 4.5 will subtly fail" w_warn "Setting Windows version to 2003, otherwise applications using .NET 4.5 will subtly fail"
w_set_winver win2k3 w_set_winver win2k3
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
} }
verify_dotnet45() verify_dotnet45()
...@@ -9581,6 +9383,15 @@ load_dotnet452() ...@@ -9581,6 +9383,15 @@ load_dotnet452()
w_warn "Setting Windows version to 2003, otherwise applications using .NET 4.5 will subtly fail" w_warn "Setting Windows version to 2003, otherwise applications using .NET 4.5 will subtly fail"
w_set_winver win2k3 w_set_winver win2k3
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
} }
verify_dotnet452() verify_dotnet452()
...@@ -9619,6 +9430,15 @@ load_dotnet46() ...@@ -9619,6 +9430,15 @@ load_dotnet46()
WINEDLLOVERRIDES=fusion=b w_try_ms_installer "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} WINEDLLOVERRIDES=fusion=b w_try_ms_installer "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"}
w_override_dlls native mscoree w_override_dlls native mscoree
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
} }
verify_dotnet46() verify_dotnet46()
...@@ -9660,6 +9480,15 @@ load_dotnet461() ...@@ -9660,6 +9480,15 @@ load_dotnet461()
# Do not rely on temporary files. As a workaround, touch a file instead so that we know it's been installed for list-installed # Do not rely on temporary files. As a workaround, touch a file instead so that we know it's been installed for list-installed
w_try touch "${W_WINDIR_UNIX}/dotnet461.installed.workaround" w_try touch "${W_WINDIR_UNIX}/dotnet461.installed.workaround"
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
} }
verify_dotnet461() verify_dotnet461()
...@@ -9702,6 +9531,15 @@ load_dotnet462() ...@@ -9702,6 +9531,15 @@ load_dotnet462()
# Unfortunately, dotnet462 install the same files that dotnet461 does, but with different checksums # Unfortunately, dotnet462 install the same files that dotnet461 does, but with different checksums
# The only unique files are temporary ones. As a workaround, touch a file instead so that we know it's been installed for list-installed # The only unique files are temporary ones. As a workaround, touch a file instead so that we know it's been installed for list-installed
w_try touch "${W_WINDIR_UNIX}/dotnet462.installed.workaround" w_try touch "${W_WINDIR_UNIX}/dotnet462.installed.workaround"
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
} }
verify_dotnet462() verify_dotnet462()
...@@ -9743,6 +9581,15 @@ load_dotnet471() ...@@ -9743,6 +9581,15 @@ load_dotnet471()
# Do not rely on temporary files. As a workaround, touch a file instead so that we know it's been installed for list-installed # Do not rely on temporary files. As a workaround, touch a file instead so that we know it's been installed for list-installed
w_try touch "${W_WINDIR_UNIX}/dotnet471.installed.workaround" w_try touch "${W_WINDIR_UNIX}/dotnet471.installed.workaround"
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
} }
verify_dotnet471() verify_dotnet471()
...@@ -9783,6 +9630,15 @@ load_dotnet472() ...@@ -9783,6 +9630,15 @@ load_dotnet472()
# Do not rely on temporary files. As a workaround, touch a file instead so that we know it's been installed for list-installed # Do not rely on temporary files. As a workaround, touch a file instead so that we know it's been installed for list-installed
w_try touch "${W_WINDIR_UNIX}/dotnet472.installed.workaround" w_try touch "${W_WINDIR_UNIX}/dotnet472.installed.workaround"
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
} }
verify_dotnet472() verify_dotnet472()
...@@ -9824,6 +9680,15 @@ load_dotnet48() ...@@ -9824,6 +9680,15 @@ load_dotnet48()
# Do not rely on temporary files. As a workaround, touch a file instead so that we know it's been installed for list-installed # Do not rely on temporary files. As a workaround, touch a file instead so that we know it's been installed for list-installed
w_try touch "${W_WINDIR_UNIX}/dotnet48.installed.workaround" w_try touch "${W_WINDIR_UNIX}/dotnet48.installed.workaround"
# See https://bugs.winehq.org/show_bug.cgi?id=47277#c9
case "${LANG}" in
C|en_US.UTF-8*) ;;
zh_CN*) w_warn "You may encounter infinite loops when trying to use applications that use WPF. Use LC_ALL=C when running your application as a workaround."
# Based on the bug, there may be other locales that are affected. But in the absence of a full list
# I don't think it's worth warning *every* non-en_US.UTF-8 user:
# *) w_warn "
esac
} }
verify_dotnet48() verify_dotnet48()
...@@ -12940,7 +12805,7 @@ load_mfc120() ...@@ -12940,7 +12805,7 @@ load_mfc120()
#---------------------------------------------------------------- #----------------------------------------------------------------
w_metadata vcrun2015 dlls \ w_metadata vcrun2015 dlls \
title="Visual C++ 2015 libraries (concrt140.dll,mfc140.dll,mfc140u.dll,mfcm140.dll,mfcm140u.dll,msvcp140.dll,vcamp140.dll,vccorlib140.dll,vcomp140.dll,vcruntime140.dll)" \ title="Visual C++ 2015 libraries (concrt140.dll,mfc140.dll,mfc140u.dll,mfcm140.dll,mfcm140u.dll,msvcp140.dll,msvcp140_1.dll,msvcp140_atomic_wait.dll,vcamp140.dll,vccorlib140.dll,vcomp140.dll,vcruntime140.dll,vcruntime140_1.dll)" \
publisher="Microsoft" \ publisher="Microsoft" \
year="2015" \ year="2015" \
media="download" \ media="download" \
...@@ -12954,7 +12819,7 @@ load_vcrun2015() ...@@ -12954,7 +12819,7 @@ load_vcrun2015()
# 2015/10/12: fdd1e1f0dcae2d0aa0720895eff33b927d13076e64464bb7c7e5843b7667cd14 # 2015/10/12: fdd1e1f0dcae2d0aa0720895eff33b927d13076e64464bb7c7e5843b7667cd14
w_download https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe fdd1e1f0dcae2d0aa0720895eff33b927d13076e64464bb7c7e5843b7667cd14 w_download https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe fdd1e1f0dcae2d0aa0720895eff33b927d13076e64464bb7c7e5843b7667cd14
w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-convert-l1-1-0 api-ms-win-crt-environment-l1-1-0 api-ms-win-crt-filesystem-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-multibyte-l1-1-0 api-ms-win-crt-process-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-string-l1-1-0 api-ms-win-crt-utility-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcr140 ucrtbase vcomp140 vcruntime140 w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-convert-l1-1-0 api-ms-win-crt-environment-l1-1-0 api-ms-win-crt-filesystem-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-multibyte-l1-1-0 api-ms-win-crt-process-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-string-l1-1-0 api-ms-win-crt-utility-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_atomic_wait ucrtbase vcomp140 vccorlib140 vcruntime140 vcruntime140_1
if w_workaround_wine_bug 50894 "Working around failing wusa.exe lookup via C:\windows\SysNative"; then if w_workaround_wine_bug 50894 "Working around failing wusa.exe lookup via C:\windows\SysNative"; then
w_set_winver winxp w_set_winver winxp
...@@ -13019,7 +12884,7 @@ load_mfc140() ...@@ -13019,7 +12884,7 @@ load_mfc140()
#---------------------------------------------------------------- #----------------------------------------------------------------
w_metadata vcrun2017 dlls \ w_metadata vcrun2017 dlls \
title="Visual C++ 2017 libraries (concrt140.dll,mfc140.dll,mfc140u.dll,mfcm140.dll,mfcm140u.dll,msvcp140.dll,msvcp140_1.dll,msvcp140_2.dll,vcamp140.dll,vccorlib140.dll,vcomp140.dll,vcruntime140.dll)" \ title="Visual C++ 2017 libraries (concrt140.dll,mfc140.dll,mfc140u.dll,mfcm140.dll,mfcm140u.dll,msvcp140.dll,msvcp140_1.dll,msvcp140_2.dll,msvcp140_atomic_wait.dll,vcamp140.dll,vccorlib140.dll,vcomp140.dll,vcruntime140.dll,vcruntime140_1.dll)" \
publisher="Microsoft" \ publisher="Microsoft" \
year="2017" \ year="2017" \
media="download" \ media="download" \
...@@ -13035,7 +12900,7 @@ load_vcrun2017() ...@@ -13035,7 +12900,7 @@ load_vcrun2017()
# 2019/08/14: 54ad46ae80984aa48cae6361213692c96b3639e322730d28c7fb93b183c761da # 2019/08/14: 54ad46ae80984aa48cae6361213692c96b3639e322730d28c7fb93b183c761da
w_download https://aka.ms/vs/15/release/vc_redist.x86.exe 54ad46ae80984aa48cae6361213692c96b3639e322730d28c7fb93b183c761da w_download https://aka.ms/vs/15/release/vc_redist.x86.exe 54ad46ae80984aa48cae6361213692c96b3639e322730d28c7fb93b183c761da
w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcr140 ucrtbase vcomp140 vcruntime140 w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcp140_atomic_wait ucrtbase vcamp140 vcomp140 vccorlib140 vcruntime140 vcruntime140_1
if w_workaround_wine_bug 50894 "Working around failing wusa.exe lookup via C:\windows\SysNative"; then if w_workaround_wine_bug 50894 "Working around failing wusa.exe lookup via C:\windows\SysNative"; then
w_set_winver winxp w_set_winver winxp
...@@ -13070,7 +12935,7 @@ load_vcrun2017() ...@@ -13070,7 +12935,7 @@ load_vcrun2017()
#---------------------------------------------------------------- #----------------------------------------------------------------
w_metadata vcrun2019 dlls \ w_metadata vcrun2019 dlls \
title="Visual C++ 2015-2019 libraries (concrt140.dll,mfc140.dll,mfc140u.dll,mfcm140.dll,mfcm140u.dll,msvcp140.dll,msvcp140_1,msvcp140_2,vcamp140.dll,vccorlib140.dll,vcomp140.dll,vcruntime140.dll) (and vcruntime140_1.dll on win64)" \ title="Visual C++ 2015-2019 libraries (concrt140.dll,mfc140.dll,mfc140u.dll,mfcm140.dll,mfcm140u.dll,msvcp140.dll,msvcp140_1.dll,msvcp140_2.dll,msvcp140_atomic_wait.dll,msvcp140_codecvt_ids.dll,vcamp140.dll,vccorlib140.dll,vcomp140.dll,vcruntime140.dll,vcruntime140_1.dll" \
publisher="Microsoft" \ publisher="Microsoft" \
year="2019" \ year="2019" \
media="download" \ media="download" \
...@@ -13098,7 +12963,7 @@ load_vcrun2019() ...@@ -13098,7 +12963,7 @@ load_vcrun2019()
w_warn "ucrtbase.dll is no longer included in vcrun2019. For details see: https://github.com/Winetricks/winetricks/issues/1770" w_warn "ucrtbase.dll is no longer included in vcrun2019. For details see: https://github.com/Winetricks/winetricks/issues/1770"
w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcr140 vcomp140 vcruntime140 w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcp140_atomic_wait msvcp140_codecvt_ids vcamp140 vccorlib140 vcomp140 vcruntime140
w_download https://aka.ms/vs/16/release/vc_redist.x86.exe 4c6c420cf4cbf2c9c9ed476e96580ae92a97b2822c21329a2e49e8439ac5ad30 w_download https://aka.ms/vs/16/release/vc_redist.x86.exe 4c6c420cf4cbf2c9c9ed476e96580ae92a97b2822c21329a2e49e8439ac5ad30
...@@ -13184,64 +13049,6 @@ load_vstools2019() ...@@ -13184,64 +13049,6 @@ load_vstools2019()
#---------------------------------------------------------------- #----------------------------------------------------------------
w_metadata vulkanrt121412 dlls \
title="Vulkan Runtime 1.2.141.2" \
publisher="LunarG" \
year="2020" \
media="download" \
file1="VulkanRT-1.2.141.2-Installer.exe" \
installed_exe1="${W_SYSTEM32_DLLS_WIN}/vulkaninfo.exe"
load_vulkanrt121412()
{
# https://vulkan.lunarg.com/sdk/home
w_download "https://sdk.lunarg.com/sdk/download/1.2.141.2/windows/VulkanRT-1.2.141.2-Installer.exe?Human=true;u=" bf5050ead980e66fdd7b8eb5664d2b92e037ec5c400f75c2dc209a595828aaf7 "${file1}"
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/S}
}
#----------------------------------------------------------------
w_metadata vulkansdk121412 apps \
title="Vulkan SDK 1.2.141.2 (developers only)" \
publisher="LunarG" \
year="2020" \
media="download" \
file1="VulkanSDK-1.2.141.2-Installer.exe" \
installed_file1="C:/VulkanSDK/1.2.141.2/vulkan.ico" \
installed_file2="C:/windows/winevulkan.json"
load_vulkansdk121412()
{
_W_vulkan_version="${file1%-*.exe}"
_W_vulkan_version="${_W_vulkan_version#*-}"
# https://vulkan.lunarg.com/sdk/home
w_download "https://sdk.lunarg.com/sdk/download/1.2.141.2/windows/VulkanSDK-1.2.141.2-Installer.exe?Human=true;u=" d732eaee50c5f924ee64c9408bec7073b7a230464f1636f346833727c9bbddd0 "${file1}"
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/S}
echo "Creating C:\\windows\\winevulkan.json winevulkan json file"
cat > "${W_WINDIR_UNIX}"/winevulkan.json <<_EOF_
{
"file_format_version": "1.0.0",
"ICD": {
"library_path": "c:\\\\windows\\\\system32\\\\winevulkan.dll",
"api_version": "${_W_vulkan_version}"
}
}
_EOF_
echo "Creating winevulkan registry settings"
cat > "${W_TMP}"/winevulkan.reg <<_EOF_
REGEDIT4
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Khronos\\Vulkan\\Drivers\\]
"C:\\\\Windows\\\\winevulkan.json"=dword:00000000
_EOF_
w_try_regedit "${W_TMP_WIN}"\\winevulkan.reg
}
#----------------------------------------------------------------
w_metadata webio dlls \ w_metadata webio dlls \
title="MS Windows Web I/O" \ title="MS Windows Web I/O" \
publisher="Microsoft" \ publisher="Microsoft" \
...@@ -13573,8 +13380,10 @@ load_xinput() ...@@ -13573,8 +13380,10 @@ load_xinput()
for x in "${W_TMP}"/*.cab; do for x in "${W_TMP}"/*.cab; do
w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F 'xinput*.dll' "${x}" w_try_cabextract -d "${W_SYSTEM32_DLLS}" -L -F 'xinput*.dll' "${x}"
done done
if test "${W_ARCH}" = "win64"; then if test "${W_ARCH}" = "win64"; then
w_try_cabextract -d "${W_TMP}" -L -F '*_xinput_*x64*' "${W_CACHE}"/directx9/${DIRECTX_NAME} w_try_cabextract -d "${W_TMP}" -L -F '*_xinput_*x64*' "${W_CACHE}"/directx9/${DIRECTX_NAME}
for x in "${W_TMP}"/*x64.cab; do for x in "${W_TMP}"/*x64.cab; do
w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F 'xinput*.dll' "${x}" w_try_cabextract -d "${W_SYSTEM64_DLLS}" -L -F 'xinput*.dll' "${x}"
done done
...@@ -16547,7 +16356,9 @@ load_vc2005expresssp1() ...@@ -16547,7 +16356,9 @@ load_vc2005expresssp1()
if w_workaround_wine_bug 37375; then if w_workaround_wine_bug 37375; then
w_warn "Installer currently fails" w_warn "Installer currently fails"
fi fi
w_download https://download.microsoft.com/download/7/7/3/7737290f-98e8-45bf-9075-85cc6ae34bf1/VS80sp1-KB926748-X86-INTL.exe a959d1ea52674b5338473be32a1370f9ec80df84629a2ed3471aa911b42d9e50
w_download https://web.archive.org/web/20110624054336/https://download.microsoft.com/download/7/7/3/7737290f-98e8-45bf-9075-85cc6ae34bf1/VS80sp1-KB926748-X86-INTL.exe a959d1ea52674b5338473be32a1370f9ec80df84629a2ed3471aa911b42d9e50
w_try ${WINE} "${W_CACHE}"/vc2005expresssp1/VS80sp1-KB926748-X86-INTL.exe ${W_OPT_UNATTENDED:+/q} w_try ${WINE} "${W_CACHE}"/vc2005expresssp1/VS80sp1-KB926748-X86-INTL.exe ${W_OPT_UNATTENDED:+/q}
} }
...@@ -16836,7 +16647,7 @@ load_wmp9() ...@@ -16836,7 +16647,7 @@ load_wmp9()
w_try_cd "${W_CACHE}"/"${W_PACKAGE}" w_try_cd "${W_CACHE}"/"${W_PACKAGE}"
if [ "${W_ARCH}" = "win64" ]; then if [ "${W_ARCH}" = "win64" ]; then
w_try cabextract -d "${W_TMP}" ./MPSetup.exe w_try_cabextract -d "${W_TMP}" ./MPSetup.exe
w_try_cd "${W_TMP}" w_try_cd "${W_TMP}"
w_try sed -i 's/IsWow64Process/IsNow64Process/' setup_wm.exe w_try sed -i 's/IsWow64Process/IsNow64Process/' setup_wm.exe
w_try "${WINE}" setup_wm.exe ${W_OPT_UNATTENDED:+/Quiet} w_try "${WINE}" setup_wm.exe ${W_OPT_UNATTENDED:+/Quiet}
...@@ -16882,7 +16693,7 @@ load_wmp10() ...@@ -16882,7 +16693,7 @@ load_wmp10()
# Crashes on exit, but otherwise ok; see https://bugs.winehq.org/show_bug.cgi?id=12633 # Crashes on exit, but otherwise ok; see https://bugs.winehq.org/show_bug.cgi?id=12633
w_try_cd "${W_CACHE}/${W_PACKAGE}" w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try cabextract -d "${W_TMP}" ./MP10Setup.exe w_try_cabextract -d "${W_TMP}" ./MP10Setup.exe
w_try_cd "${W_TMP}" w_try_cd "${W_TMP}"
"${WINE}" setup_wm.exe ${W_OPT_UNATTENDED:+/Quiet} "${WINE}" setup_wm.exe ${W_OPT_UNATTENDED:+/Quiet}
...@@ -16914,12 +16725,14 @@ load_wmp11() ...@@ -16914,12 +16725,14 @@ load_wmp11()
if [ "${W_ARCH}" = "win32" ]; then if [ "${W_ARCH}" = "win32" ]; then
# https://appdb.winehq.org/objectManager.php?sClass=version&iId=8150 # https://appdb.winehq.org/objectManager.php?sClass=version&iId=8150
w_download https://web.archive.org/web/20170628063001/http://download.microsoft.com/download/0/9/5/0953e553-3bb6-44b1-8973-106f1b7e5049/wmp11-windowsxp-x86-enu.exe ffd321a441a67001a893f3bde4bb1afba07d4d2c9659bfdb0fbb057e7945d970 w_download https://web.archive.org/web/20170628063001/http://download.microsoft.com/download/0/9/5/0953e553-3bb6-44b1-8973-106f1b7e5049/wmp11-windowsxp-x86-enu.exe ffd321a441a67001a893f3bde4bb1afba07d4d2c9659bfdb0fbb057e7945d970
installer_exe=wmp11-windowsxp-x86-enu.exe installer_exe=wmp11-windowsxp-x86-enu.exe
wmf_exe=wmfdist11.exe wmf_exe=wmfdist11.exe
wmf_exe=wmp11.exe wmf_exe=wmp11.exe
elif [ "${W_ARCH}" = "win64" ]; then elif [ "${W_ARCH}" = "win64" ]; then
# https://appdb.winehq.org/objectManager.php?sClass=version&iId=32057 # https://appdb.winehq.org/objectManager.php?sClass=version&iId=32057
w_download https://web.archive.org/web/20190512112704/https://download.microsoft.com/download/3/0/8/3080C52C-2517-43DE-BDB4-B7EAFD88F084/wmp11-windowsxp-x64-enu.exe 5af407cf336849aff435044ec28f066dd523bbdc22d1ce7aaddb5263084f5526 w_download https://web.archive.org/web/20190512112704/https://download.microsoft.com/download/3/0/8/3080C52C-2517-43DE-BDB4-B7EAFD88F084/wmp11-windowsxp-x64-enu.exe 5af407cf336849aff435044ec28f066dd523bbdc22d1ce7aaddb5263084f5526
installer_exe=wmp11-windowsxp-x64-enu.exe installer_exe=wmp11-windowsxp-x64-enu.exe
wmf_exe=wmfdist11-64.exe wmf_exe=wmfdist11-64.exe
wmp_exe=wmp11-64.exe wmp_exe=wmp11-64.exe
...@@ -18821,26 +18634,6 @@ load_diablo2() ...@@ -18821,26 +18634,6 @@ load_diablo2()
w_killall "Game.exe" w_killall "Game.exe"
} }
w_metadata digitanks_demo games \
title="Digitanks Demo" \
publisher="Lunar Workshop" \
year="2011" \
media="download" \
file1="digitanks.exe" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Digitanks/digitanksdemo.exe" \
homepage="http://www.digitanks.com"
load_digitanks_demo()
{
# 2011/11/11: bc98de67680e907a30ee1ab5d062e098c07a87292e3fb82ae62ad2d7175e94ff
w_download "http://static.digitanks.com/files/digitanks.exe" bc98de67680e907a30ee1ab5d062e098c07a87292e3fb82ae62ad2d7175e94ff
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+ /S}
if w_workaround_wine_bug 8060 "installing corefonts"; then
w_call corefonts
fi
}
w_metadata dirt2_demo games \ w_metadata dirt2_demo games \
title="Dirt 2 Demo" \ title="Dirt 2 Demo" \
publisher="Codemasters" \ publisher="Codemasters" \
...@@ -21632,159 +21425,6 @@ load_wog() ...@@ -21632,159 +21425,6 @@ load_wog()
" "
} }
#----------------------------------------------------------------
# Steam Games
#----------------------------------------------------------------
w_metadata alienswarm_steam games \
title="Alien Swarm (Steam)" \
publisher="Valve" \
year="2010" \
media="download" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/steamapps/common/alien swarm/swarm.exe"
load_alienswarm_steam()
{
w_steam_install_game 630 "Alien Swarm"
}
#----------------------------------------------------------------
w_metadata bioshock2_steam games \
title="Bioshock 2 (Steam)" \
publisher="2k" \
year="2010" \
media="download" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/steamapps/common/bioshock2/blort.exe"
load_bioshock2_steam()
{
w_steam_install_game 8850 "BioShock 2"
}
#----------------------------------------------------------------
w_metadata borderlands_steam games \
title="Borderlands (Steam, non-free)" \
publisher="2K Games" \
year="2009" \
media="download" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/steamapps/common/borderlands/Binaries/Borderlands.exe"
load_borderlands_steam()
{
w_steam_install_game 8980 "Borderlands"
}
#----------------------------------------------------------------
w_metadata civ5_demo_steam games \
title="Civilization V Demo (Steam)" \
publisher="2K Games" \
year="2010" \
media="download" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/steamapps/common/sid meier's civilization v - demo/CivilizationV.exe"
load_civ5_demo_steam()
{
# Start AutoHotKey watching for DirectX 9 option in the background, and select it when it comes up
w_ahk_do "
SetWinDelay 500
loop
{
ifWinExist, Sid Meier's Civilization V - Demo - Steam
{
winactivate
click 26,108 ; select directx9
sleep 500
click 200,150 ; Play
}
ifWinExist, Updating Sid Meier's Civilization V - Demo
{
break
}
sleep 1000
}
" &
_job=$!
# While that's running, install the game.
# You'll see *two* AutoHotKey icons until that first script
# finds the dialog it's looking for, clicks, and exits.
w_info "If you already own the full Civ 5 game on Steam, the installer won't even appear."
w_steam_install_game 65900 "Sid Meier's Civilization V - Demo"
kill -s HUP "${_job}" # just in case
}
#----------------------------------------------------------------
w_metadata ruse_demo_steam games \
title="Ruse Demo (Steam)" \
publisher="Ubisoft" \
year="2010" \
media="download" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/steamapps/common/r.u.s.e. demo/Ruse.exe"
load_ruse_demo_steam()
{
w_steam_install_game 33310 "R.U.S.E."
}
#----------------------------------------------------------------
w_metadata supermeatboy_steam games \
title="Super Meat Boy (Steam, non-free)" \
publisher="Independent" \
year="2010" \
media="download" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/steamapps/common/super meat boy/SuperMeatBoy.exe"
load_supermeatboy_steam()
{
w_steam_install_game 40800 "Super Meat Boy"
}
#----------------------------------------------------------------
w_metadata trine_steam games \
title="Trine (Steam)" \
publisher="Frozenbyte" \
year="2009" \
media="download" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/steamapps/common/trine/trine_launcher.exe"
load_trine_steam()
{
w_steam_install_game 35700 "Trine"
}
#----------------------------------------------------------------
w_metadata trine_demo_steam games \
title="Trine Demo (Steam)" \
publisher="Frozenbyte" \
year="2009" \
media="download" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/steamapps/common/trine demo/trine_launcher.exe"
load_trine_demo_steam()
{
w_steam_install_game 35710 "Trine Demo"
}
#----------------------------------------------------------------
w_metadata wormsreloaded_demo_steam games \
title="Worms Reloaded Demo (Steam)" \
publisher="Team17" \
year="2010" \
media="download" \
installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/steamapps/common/worms reloaded/WormsReloaded.exe"
load_wormsreloaded_demo_steam()
{
w_steam_install_game 22690 "Worms Reloaded Demo"
}
####################### #######################
# settings # settings
####################### #######################
...@@ -22759,11 +22399,6 @@ load_remove_mono() ...@@ -22759,11 +22399,6 @@ load_remove_mono()
return return
fi fi
# FIXME: verify on pristine Windows XP:
if w_workaround_wine_bug 34803; then
"${WINE_ARCH}" reg delete 'HKLM\\Software\\Microsoft\\.NETFramework\\v2.0.50727\\SBSDisabled' /f
fi
"${WINE_ARCH}" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" /f || true "${WINE_ARCH}" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" /f || true
"${WINE_ARCH}" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4" /f || true "${WINE_ARCH}" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4" /f || true
...@@ -23294,6 +22929,8 @@ execute_command() ...@@ -23294,6 +22929,8 @@ execute_command()
dotnet2) w_warn "Calling dotnet2 is deprecated, please use dotnet20 instead" ; w_call dotnet20 ;; dotnet2) w_warn "Calling dotnet2 is deprecated, please use dotnet20 instead" ; w_call dotnet20 ;;
ddr=gdi) w_warn "Calling ddr=gdi is deprecated, please use renderer=gdi or renderer=no3d instead" ; w_call renderer=gdi ;; ddr=gdi) w_warn "Calling ddr=gdi is deprecated, please use renderer=gdi or renderer=no3d instead" ; w_call renderer=gdi ;;
ddr=opengl) w_warn "Calling ddr=opengl is deprecated, please use renderer=gl instead" ; w_call renderer=gl ;; ddr=opengl) w_warn "Calling ddr=opengl is deprecated, please use renderer=gl instead" ; w_call renderer=gl ;;
dxsdk_nov2006) w_warn "Calling dxsdk_nov2006 is deprecated, please use dxsdk_aug2006 instead"; w_call dxsdk_aug2006 ;;
dxvk054|dxvk54) w_warn "Calling $1 is deprecated, please use dxvk0054 instead" ; w_call dxvk0054 ;; dxvk054|dxvk54) w_warn "Calling $1 is deprecated, please use dxvk0054 instead" ; w_call dxvk0054 ;;
dxvk060|dxvk60) w_warn "Calling $1 is deprecated, please use dxvk0060 instead" ; w_call dxvk0060 ;; dxvk060|dxvk60) w_warn "Calling $1 is deprecated, please use dxvk0060 instead" ; w_call dxvk0060 ;;
dxvk061|dxvk61) w_warn "Calling $1 is deprecated, please use dxvk0061 instead" ; w_call dxvk0061 ;; dxvk061|dxvk61) w_warn "Calling $1 is deprecated, please use dxvk0061 instead" ; w_call dxvk0061 ;;
......
...@@ -58,10 +58,9 @@ test_bashate() { ...@@ -58,10 +58,9 @@ test_bashate() {
# Can't ignore individual things for now, filed bug: # Can't ignore individual things for now, filed bug:
# https://bugs.launchpad.net/bash8/+bug/1698088 # https://bugs.launchpad.net/bash8/+bug/1698088
# E006=line length check # E006=line length check
# E010=do/while same line (in some embedded perl in winetricks)
# E044=Use [[ for non-POSIX comparisions # E044=Use [[ for non-POSIX comparisions
echo "Checking ${shellscript} with bashate:" echo "Checking ${shellscript} with bashate:"
w_try "${bashate}" -i E006,E010,E044 "${shellscript}" w_try "${bashate}" -i E006,E044 "${shellscript}"
} }
# check formatting, (no trailing whitespace, no tabs) # check formatting, (no trailing whitespace, no tabs)
......
...@@ -89,7 +89,7 @@ BLACKLIST="dx8sdk|kde|psdk2003|psdkwin7" ...@@ -89,7 +89,7 @@ BLACKLIST="dx8sdk|kde|psdk2003|psdkwin7"
# verbs that hang in -q because of simple problem we should work around soon # verbs that hang in -q because of simple problem we should work around soon
BLACKLIST="${BLACKLIST}|vc2005trial" BLACKLIST="${BLACKLIST}|vc2005trial"
# verbs that are too slow # verbs that are too slow
BLACKLIST="${BLACKLIST}|dxsdk_nov2006|dxsdk_jun2010" BLACKLIST="${BLACKLIST}|dxsdk_aug2006|dxsdk_jun2010"
# broken/flaky, http://bugs.winehq.org/show_bug.cgi?id=26016 # broken/flaky, http://bugs.winehq.org/show_bug.cgi?id=26016
BLACKLIST="${BLACKLIST}|xmllite" BLACKLIST="${BLACKLIST}|xmllite"
# redundant metaverbs # redundant metaverbs
...@@ -418,6 +418,8 @@ test_command() ...@@ -418,6 +418,8 @@ test_command()
rm -rf "${WINEPREFIX}" rm -rf "${WINEPREFIX}"
fi fi
mkdir -p "${WINE_PREFIXES}"
# Isolate us from the user's home directory # Isolate us from the user's home directory
# shellcheck disable=SC2086 # shellcheck disable=SC2086
if [ -z "${_W_wine_not_needed}" ]; then if [ -z "${_W_wine_not_needed}" ]; then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment