====== Information ======
* World of Warcraft ((https://worldofwarcraft.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 ======
===== Clean-up =====
****
cd ~ && rm -Rf ~/'.wine/World of Warcraft' ~/'.local/share/applications/wine/Programs/World of Warcraft' && sync
===== 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://downloader.battle.net/download/getInstaller?os=win&installer=Battle.net-Setup.exe' -O ~/'Downloads/Battle.net-Setup.exe' && WINEPREFIX=~/'.wine/World of Warcraft' WINEARCH='win64' wine ~/'Downloads/Battle.net-Setup.exe'
===== Restore Data =====
****
mv ~/'Downloads/World of Warcraft Retail/World of Warcraft' ~/'.wine/World of Warcraft/drive_c/Program Files (x86)' && sync
===== World of Warcraft =====
* Install World of Warcraft
cd ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/Battle.net' && WINEPREFIX=~/'.wine/World of Warcraft' wine ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe'
===== Clean Up =====
****
rm -Rf ~/'Downloads/World of Warcraft Retail' ~/'Downloads/Battle.net-Setup.exe' ~/'Desktop/Battle.net.desktop' ~/'Desktop/World of Warcraft.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/drive_c/windows/system32/' && cp --backup '/tmp/dxvk-master/x32/'*'.dll' ~/'.wine/World of Warcraft/drive_c/windows/syswow64/' && WINEPREFIX=~/'.wine/World of Warcraft' winetricks 'd3d9=native' 'd3d10core=native' 'd3d11=native' 'dxgi=native' && mkdir -p ~/'.wine/World of Warcraft/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/drive_c/windows/system32/' && cp --backup '/tmp/vkd3d-proton-master/x86/'*'.dll' ~/'.wine/World of Warcraft/drive_c/windows/syswow64/' && WINEPREFIX=~/'.wine/World of Warcraft' winetricks 'd3d12=native' 'd3d12core=native' && mkdir -p ~/'.wine/World of Warcraft/vkd3d_shader_cache' && sync
====== Settings ======
===== AddOns =====
* [[https://www.curseforge.com/wow/addons/details/files|Details! Damage Meter]]
* [[https://www.curseforge.com/wow/addons/auctionator/files|Auctionator]]
* [[https://www.curseforge.com/wow/addons/rarescanner/files|RareScanner]]
gio open 'https://www.curseforge.com/wow/addons/details/files' 'https://www.curseforge.com/wow/addons/auctionator/files' 'https://www.curseforge.com/wow/addons/rarescanner/files'
mkdir -p ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/_retail_/Interface/AddOns/' && gio open ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/_retail_/Interface/AddOns/'
===== Graphics =====
* 2023/10/10: DirectX 11 Legacy performs notably better than DirectX 11 and 12 on Intel UHD 630
===== Macros =====
==== Hide Time/Clock ====
* https://us.forums.blizzard.com/en/wow/t/hide-clock-on-df-minimap/1685525/2
* Hides the time on the minimap with Dragonflight, along with the hiding the time being shown on Calendar-button hover ((most if not all past expansions/clients had an in-game Interface option checkbox for this))
/run TimeManagerClockButton:Hide() TimeManagerClockButton:HookScript("OnShow", function(self) self:Hide() end) GameTimeFrame:HookScript("OnEnter", function() GameTooltip:SetOwner(UIParent) end)
====== Desktop Launcher ======
===== Initial =====
****
rm -Rf ~/'.local/share/applications/wine/Programs/Battle.net' ~/'.local/share/applications/wine/Programs/World of Warcraft' && mkdir -p ~/'.local/share/applications/wine/Programs/World of Warcraft'
===== World of Warcraft (Battle.net App) =====
nano ~/'.local/share/applications/wine/Programs/World of Warcraft/World of Warcraft.desktop'
[Desktop Entry]
Name=World of Warcraft
Categories=Game;AdventureGame;RolePlaying
Exec='/bin/bash' -c "cd ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft' wine ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/World of Warcraft Launcher.exe'"
Type=Application
StartupNotify=true
Icon=Wow.0
StartupWMClass=wow.exe
Actions=Cache;Kill;Notes;Direct;
[Desktop Action Cache]
Exec='/bin/bash' -c "rm -Rf ~/'.wine/World of Warcraft/mesa_shader_cache/'* ~/'.wine/World of Warcraft/dxvk_shader_cache/'* ~/'.wine/World of Warcraft/vkd3d_shader_cache/'* ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/_retail_/Cache/'* ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/_retail_/Fonts/'* && sync && notify-send 'The World of Warcraft cache has been cleaned.'"
Name=Cache Cleanup
[Desktop Action Kill]
Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/World of Warcraft' 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_retail'"
Name=Installation Notes
[Desktop Action Direct]
StartupNotify=false
Exec='/bin/bash' -c "cd ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft' wine ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/_retail_/Wow.exe'"
Name=Direct-launch Wow.exe
# End
===== Icon =====
* Requires ''wrestool''
mkdir -p ~/'.local/share/icons/hicolor/48x48/apps' && cd ~/'.local/share/icons/hicolor/48x48/apps' && wrestool --output='Wow.0.png' --extract --type='14' ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/_retail_/Wow.exe' && cd ~
====== Quick Commands ======
===== Winecfg =====
****
WINEPREFIX=~/'.wine/World of Warcraft' winecfg
===== Winetricks =====
****
WINEPREFIX=~/'.wine/World of Warcraft' winetricks
===== Registry Editor =====
****
WINEPREFIX=~/'.wine/World of Warcraft' regedit
===== Kill =====
****
WINEPREFIX=~/'.wine/World of Warcraft' wineserver --kill
===== Execute =====
==== Battle.net App ====
****
cd ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/Battle.net/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft' WINEDEBUG='' wine ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe'
==== World of Warcraft (Battle.net App) ====
****
cd ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft' WINEDEBUG='' wine ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/World of Warcraft Launcher.exe'
==== World of Warcraft ====
* Useful for quick graphical testing as this bypasses Battle.net launcher and boots WoW directly
cd ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft' DXVK_STATE_CACHE_PATH=~/'.wine/World of Warcraft/dxvk_shader_cache' VKD3D_SHADER_CACHE_PATH=~/'.wine/World of Warcraft/vkd3d_shader_cache' WINEPREFIX=~/'.wine/World of Warcraft' WINEDEBUG='' wine ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/_retail_/Wow.exe'
===== File Manager =====
==== Root ====
****
gio open ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/_retail_/'
==== AddOns ====
****
gio open ~/'.wine/World of Warcraft/drive_c/Program Files (x86)/World of Warcraft/_retail_/Interface/AddOns/'