====== Information ======
* World of Warcraft Classic ((https://wowclassic.blizzard.com/en-us/))
* Battle.net App ((http://us.battle.net/en/app))
* 64-bit
===== Prerequisites =====
* [[distros:fedora_workstation_gnome|Fedora Workstation]]
* [[notes:wine|Wine]]
====== Install ======
===== Battle.net App =====
* Install to default directory when prompted ((C:/Program Files (x86)/Battle.net))
* Log-in
* Change Battle.net App settings ((don't auto-start, exit on game launch))
* Close
mkdir -p ~/'.wine' && wget 'https://us.battle.net/download/getInstaller?os=win&installer=Battle.net-Setup.exe&id=undefined' -O ~/'Downloads/Battle.net-Setup.exe' && WINEPREFIX=~/'.wine/World of Warcraft Classic' WINEARCH='win64' wine ~/'Downloads/Battle.net-Setup.exe'
===== Restore Data =====
****
mv ~/'Downloads/World of Warcraft Classic/World of Warcraft' ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)' && sync
===== World of Warcraft Classic =====
* Install World of Warcraft Classic
cd ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/Battle.net' && WINEPREFIX=~/'.wine/World of Warcraft Classic' wine ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe'
===== Clean Up =====
****
rm -Rf ~/'Downloads/World of Warcraft Classic' ~/'Downloads/Battle.net-Setup.exe' ~/'Desktop/Battle.net.desktop' ~/'Desktop/World of Warcraft Classic.desktop' && cd ~ && sync
====== Libraries ======
===== DXVK =====
* https://github.com/doitsujin/dxvk/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package))
* D3D11 to Vulkan
ls ~/'Downloads/dxvk-master-'*'.zip' && rm -Rf '/tmp/dxvk-master' && mkdir -p '/tmp/dxvk-master' && unzip ~/'Downloads/dxvk-master-'*'.zip' -d '/tmp/dxvk-master/' && cp --backup '/tmp/dxvk-master/x64/'*'.dll' ~/'.wine/World of Warcraft Classic/drive_c/windows/system32/' && cp --backup '/tmp/dxvk-master/x32/'*'.dll' ~/'.wine/World of Warcraft Classic/drive_c/windows/syswow64/' && WINEPREFIX=~/'.wine/World of Warcraft Classic' winetricks 'd3d9=native' 'd3d10core=native' 'd3d11=native' 'dxgi=native' && mkdir -p ~/'.wine/World of Warcraft Classic/dxvk_shader_cache' && sync
===== vkd3d-proton =====
* https://github.com/HansKristian-Work/vkd3d-proton/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package))
* D3D12 to Vulkan
ls ~/'Downloads/vkd3d-proton-master-'*'.zip' && rm -Rf '/tmp/vkd3d-proton-master' && mkdir -p '/tmp/vkd3d-proton-master' && unzip ~/'Downloads/vkd3d-proton-master-'*'.zip' -d '/tmp/vkd3d-proton-master/' && cp --backup '/tmp/vkd3d-proton-master/x64/'*'.dll' ~/'.wine/World of Warcraft Classic/drive_c/windows/system32/' && cp --backup '/tmp/vkd3d-proton-master/x86/'*'.dll' ~/'.wine/World of Warcraft Classic/drive_c/windows/syswow64/' && WINEPREFIX=~/'.wine/World of Warcraft Classic' winetricks 'd3d12=native' 'd3d12core=native' && mkdir -p ~/'.wine/World of Warcraft Classic/vkd3d_shader_cache' && sync
====== Desktop Launcher ======
===== Initial =====
****
rm -Rf ~/'.local/share/applications/wine/Programs/Battle.net' ~/'.local/share/applications/wine/Programs/World of Warcraft Classic' && mkdir -p ~/'.local/share/applications/wine/Programs/World of Warcraft Classic'
===== World of Warcraft Classic (Battle.net App) =====
nano ~/'.local/share/applications/wine/Programs/World of Warcraft Classic/World of Warcraft Classic.desktop'
[Desktop Entry]
Name=World of Warcraft Classic
Categories=Game;AdventureGame;RolePlaying
Exec='/bin/bash' -c "cd ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft Classic' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft Classic/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft Classic/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft Classic' wine ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/World of Warcraft Launcher.exe'"
Type=Application
StartupNotify=true
Icon=WowClassic.0
StartupWMClass=wowclassic.exe
Actions=Cache;Kill;Notes;Direct;
[Desktop Action Cache]
Exec='/bin/bash' -c "rm -Rf ~/'.wine/World of Warcraft Classic/mesa_shader_cache/'* ~/'.wine/World of Warcraft Classic/dxvk_shader_cache/'* ~/'.wine/World of Warcraft Classic/vkd3d_shader_cache/'* ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/_classic_era_/Cache/'* ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/_classic_era_/Fonts/'* && sync && notify-send 'The World of Warcraft Classic cache has been cleaned.'"
Name=Cache Cleanup
[Desktop Action Kill]
Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/World of Warcraft Classic' wineserver --kill"
Name=Force-close
[Desktop Action Notes]
StartupNotify=false
Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:wine:world_of_warcraft_classic_era'"
Name=Installation Notes
[Desktop Action Direct]
Exec='/bin/bash' -c "cd ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/_classic_era_/' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft Classic' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft Classic/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft Classic/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft Classic' wine ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/_classic_era_/WowClassic.exe'"
Name=Launch WoW without Battle.net
# End
===== Icon =====
* Requires ''wrestool''
mkdir -p ~/'.local/share/icons/hicolor/48x48/apps' && cd ~/'.local/share/icons/hicolor/48x48/apps' && wrestool --output='WowClassic.0.png' --extract --type='14' ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/_classic_era_/WowClassic.exe' && cd ~
====== Quick Commands ======
===== Winecfg =====
****
WINEPREFIX=~/'.wine/World of Warcraft Classic' winecfg
===== Winetricks =====
****
WINEPREFIX=~/'.wine/World of Warcraft Classic' winetricks
===== Registry Editor =====
****
WINEPREFIX=~/'.wine/World of Warcraft Classic' regedit
===== Kill =====
****
WINEPREFIX=~/'.wine/World of Warcraft Classic' wineserver --kill
===== Execute =====
==== Battle.net App ====
****
cd ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/Battle.net/' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft Classic' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft Classic/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft Classic/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft Classic' WINEDEBUG='' wine ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe'
==== World of Warcraft Classic (Battle.net App) ====
****
cd ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft Classic' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft Classic/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft Classic/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft Classic' WINEDEBUG='' wine ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/World of Warcraft Launcher.exe'
==== World of Warcraft Classic ====
* Useful for quick graphical testing as this bypasses Battle.net launcher and boots WoW directly
cd ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft Classic' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft Classic/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft Classic/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft Classic' WINEDEBUG='' wine ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/_classic_era_/WowClassic.exe'
===== File Manager =====
==== Root ====
****
gio open ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/_classic_era_/'
==== AddOns ====
****
gio open ~/'.wine/World of Warcraft Classic/drive_c/Program Files (x86)/World of Warcraft/_classic_era_/Interface/AddOns/'