====== Information ======
* Warcraft III
* Patch 1.26a
* :!: 2026/09/17: WIP
===== Prerequisites =====
* [[linux:distros:opensuse_tumbleweed_xfce|openSUSE Tumbleweed (Xfce)]]
* [[linux:notes:wine|Wine]] (old WoW64)
====== Install ======
===== Initial Prefix =====
mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Warcraft III (1.26a)' WINEARCH='win32' wine wineboot --init && WINEPREFIX=~/'.wine/Warcraft III (1.26a)' winecfg /v 'win98' && WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Drivers' /v 'Graphics' /t 'REG_SZ' /d 'x11' /f
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Direct3D' /v 'renderer' /t 'REG_SZ' /d 'gl' /f
===== Reign of Chaos =====
* TODO: Needs extracted (HFS)
==== Disc Mount ====
udisksctl loop-setup --file ~/'Downloads/Warcraft III/Warcraft 3 Reign of Chaos.iso'
udisksctl mount --block-device '/dev/loop0'
ln -s -f '/run/media/'$USER'/WoW-1.0.1.3989-eNUS' ~/'.wine/World of Warcraft 3.3.5/dosdevices/y:'
==== Install ====
* Default install directory ((''C:\Program Files\World of Warcraft''))
WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wine 'Y:\Installer.exe'
==== Disc Unmount ====
umount '/run/media/'$USER'/WoW-1.0.1.3989-eNUS'
udisksctl loop-delete --block-device '/dev/loop0'
rm -f ~/'.wine/World of Warcraft 3.3.5/dosdevices/y:'
===== The Frozen Throne =====
==== Disc Mount ====
udisksctl loop-setup --file ~/'Downloads/WoW (localhost)/TBC 2.4.3.8606/WoW-2.0.0.6080-enUS-expansion.iso'
udisksctl mount --block-device '/dev/loop0'
ln -s -f '/run/media/'$USER'/WoW-2.0.0.6080-eNUS-EXPANSION' ~/'.wine/World of Warcraft 3.3.5/dosdevices/x:'
==== Install ====
WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' winecfg /v 'win2k' && WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wine 'X:\Installer.exe'
==== Disc Unmount ====
umount '/run/media/'$USER'/WoW-2.0.0.6080-eNUS-EXPANSION'
udisksctl loop-delete --block-device '/dev/loop0'
rm -f ~/'.wine/World of Warcraft 3.3.5/dosdevices/x:'
==== Patch ====
* End patch: ''2.4.3.8606''
WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wine ~/'Downloads/WoW (localhost)/TBC 2.4.3.8606/wow-2.4.0-enus-patch.exe'
===== Clean-up =====
rm -f ~/'Downloads/D2Patch_106b.exe' ~/'Downloads/prepatch.log'
====== Scripts ======
===== Save Data Back-up =====
mkdir -p ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/scripts' && nano ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/scripts/save-backup.sh' && chmod +x ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/scripts/save-backup.sh'
#!/bin/bash
cd '/tmp'
tar -czf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-Diablo-2-Classic-Saves.tar.gz' -C ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II' 'save'
zenity --title 'Diablo II Save Backup' --text 'Save Data Backed-up to Downloads' --icon ~/'.wine/Icons/D2-32.ico' --timeout '1' --info
# End
~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/scripts/save-backup.sh'
====== Settings ======
===== Registry =====
* Going into Options changes ''refreshrate'' to ''75''
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine REG ADD 'HKEY_CURRENT_USER\SOFTWARE\Blizzard Entertainment\Warcraft III\Video' /v 'lockfb' /t 'REG_DWORD' /d '0' /f
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine REG ADD 'HKEY_CURRENT_USER\SOFTWARE\Blizzard Entertainment\Warcraft III\Video' /v 'refreshrate' /t 'REG_DWORD' /d '79' /f
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine REG ADD 'HKEY_CURRENT_USER\SOFTWARE\Blizzard Entertainment\Warcraft III\Video' /v 'cinematicrefresh' /t 'REG_DWORD' /d '79' /f
===== Glide Wrapper =====
==== nGlide ====
* Video backend: DirectX
* Screen resolution: By desktop
* Aspect ratio: Aspect correction
* Refresh rate: By desktop
* Vertical synchronization: Off
* Gamma correction: 1.0 (Default)
* 3Dfx logo splash screen: Off
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine ~/'.wine/Warcraft III (1.26a)/drive_c/windows/syswow64/nglide_config.exe'
=== Reset Settings ===
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine REG DELETE 'HKEY_CURRENT_USER\Software\Zeus Software\nGlide2' /f
===== Diablo II =====
* ''R'' -> Run
* Sound Options -> Music: Max
* Video Options -> Contrast: Max ((Gamma at half (should be default); only available fullscreen)) ((:?: might not be adjustable with nGlide at [[#nglide1|DirectX]]))
* Configure Controls -> Show Items: Mouse 5 (forward)
* Configure Controls -> Screen Shot: Mouse 4 (back) ((''Screenshot#.jpg''s saved to Diablo II root folder))
cd ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II' && WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/Game.exe' -w
====== Desktop Launcher ======
===== Warcraft III (1.26a) =====
mkdir -p ~/'.local/share/applications/wine/Programs/Diablo II' && nano ~/'.local/share/applications/wine/Programs/Diablo II/Warcraft III (1.26a).desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/wine/Programs/Diablo II/Warcraft III (1.26a).desktop' && update-desktop-database --quiet ~/'.local/share/applications'
[Desktop Entry]
Name=Warcraft III (1.26a)
Categories=Game;
Exec='/bin/bash' -c "cd ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II' && WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/Game.exe' -3dfx"
Type=Application
StartupNotify=false
Icon=/home/CHANGEME/.wine/Icons/D2-32.ico
StartupWMClass=game.exe
Actions=Screenshots;Window;Saves;Kill;Glide;Root;Notes;
[Desktop Action Screenshots]
Exec='/bin/bash' -c "loupe ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/Screenshot'*'.jpg'"
Name=Screenshots
[Desktop Action Window]
Exec='/bin/bash' -c "cd ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II' && WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/Game.exe' -w"
Name=Diablo II (Windowed)
[Desktop Action Saves]
Exec='/bin/bash' -c "~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/scripts/save-backup.sh'"
Name=Save Data Back-up
[Desktop Action Kill]
Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wineserver -k"
Name=Force-close Diablo II
[Desktop Action Glide]
Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine ~/'.wine/Warcraft III (1.26a)/drive_c/windows/syswow64/nglide_config.exe'"
Name=nGlide Configuration
[Desktop Action Root]
Exec='/bin/bash' -c "gio open ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II'"
Name=Root Folder
[Desktop Action Notes]
Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:linux:wine:diablo_2_classic_1.06b'"
Name=Install Notes
# End
===== Icon =====
mkdir -p ~/'.wine/Icons' && wrestool --output=$HOME/'.wine/Icons/D2-32.ico' --extract --type='14' ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/Game.exe'
====== Quick Commands ======
===== Winecfg =====
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' winecfg
===== Winetricks =====
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' winetricks
===== Registry Editor =====
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' regedit
===== Kill =====
WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wineserver --kill
killall -9 'Game.exe'
===== Execute =====
==== TFT ====
cd ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files/Warcraft III' && WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files/Warcraft III/war3.exe' -opengl
=== Windowed ===
cd ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files/Warcraft III' && WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files/Warcraft III/war3.exe' -opengl -window
===== Video Test =====
cd ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II' && WINEPREFIX=~/'.wine/Warcraft III (1.26a)' wine ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/D2VidTst.exe'
===== Save Data =====
==== Backup ====
tar -czvf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-Diablo-2-Classic-Saves.tar.gz' -C ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II' 'save'
==== Restore ====
* ''save/Espionage.d2s''
* ''save/Espionage.key''
* ''save/Espionage.ma0''
* ''save/Espionage.ma1''
* ''save/Espionage.ma2''
* ''save/Espionage.ma3''
* ''save/Espionage.map''
mkdir -p ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/save' && gio open ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II/save'
===== Root Folder =====
gio open ~/'.wine/Warcraft III (1.26a)/drive_c/Program Files (x86)/Diablo II'