====== Information ====== * Diablo II * Patch 1.06b * 2025/02/08: WIP ===== Media ===== * [[https://media.realmofespionage.xyz/index/category/12|Progress Pics]] ===== Prerequisites ===== * [[linux;distros;fedora_workstation_gnome|Fedora Workstation]] * [[linux;notes;wine|Wine]] (old WoW64) ===== Notes ===== * Installed from the 3 Install/Cinematic/Play discs * 1.06b is the last Classic patch before Lord of Destruction expansion ((LoD disc includes 1.07 and patched to 1.08 release-day)) * Has [[https://media.realmofespionage.xyz/picture/237/category/13|Flamespike The Crawler]] ====== Install ====== ===== Mount Discs ===== sudo mkdir -p '/media/'$USER'/Install' '/media/'$USER'/Cinematics' '/media/'$USER'/Play' sudo mount -o 'loop' ~/'Downloads/Diablo II Classic (1.06b)/Install.iso' '/media/'$USER'/Install' sudo mount -o 'loop' ~/'Downloads/Diablo II Classic (1.06b)/Cinematics.iso' '/media/'$USER'/Cinematics' sudo mount -o 'loop' ~/'Downloads/Diablo II Classic (1.06b)/Play.iso' '/media/'$USER'/Play' ===== Install ===== ==== Create Prefix ==== **** mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II Classic' WINEARCH='win32' winecfg /v 'winxp' ==== Install ==== * ''VidTest'' window pop-up after install may get hidden behind other windows WINEPREFIX=~/'.wine/Diablo II Classic' WINEDLLOVERRIDES='winemenubuilder.exe=d' wine 'D:\Setup.exe' ===== Patch ===== WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'Downloads/Diablo II Classic (1.06b)/1.06b/D2Patch_106b.exe' WINEPREFIX=~/'.wine/Diablo II Classic' wineserver -k ==== Online ==== * http://ftp.blizzard.com/pub/diablo2/patches/PC/D2Patch_106b.exe * [[games;windows;notes;diablo_2_patches|Other versions]] sha384sum ~/'Downloads/D2Patch_106b.exe' | grep '84b465bffeab842828d3ab86769f8c20a6b3c616632748bc2219086aea5de9b8641a7a576a80b4ac1422a5e6e4c5b8ad' > '/dev/null' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'Downloads/D2Patch_106b.exe' WINEPREFIX=~/'.wine/Diablo II Classic' wineserver -k ===== Glide Wrapper ===== **** bsdunzip -o ~/'Downloads/Diablo II Classic (1.06b)/Glide/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' ==== Online ==== * http://www.svenswrapper.de/gl32ogl14e.zip md5sum ~/'Downloads/gl32ogl14e.zip' | grep '1c65a0150665f715ce0fc0a23885c6b8' && unzip -o ~/'Downloads/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' ===== No-CD ===== mv -fv ~/'Downloads/Diablo II Classic (1.06b)/1.06b/Game.exe' ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/Game.exe' cp -vf '/mnt/D2-Play/d2music.mpq' ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/d2music.mpq' ==== Online ==== * https://d2mods.info/forum/viewtopic.php?f=7&t=61484 md5sum ~/'Downloads/d2nocd_pack.zip' | grep 'aadf35034f29afcdd9c20bb461e4efad' && bsdunzip -j -o ~/'Downloads/d2nocd_pack.zip' 'Classic/1.06b/Game.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' ===== Clean Up ===== ==== Remove Mounts ==== **** WINEPREFIX=~/'.wine/Diablo II Classic' winecfg ==== Unmount Discs ==== **** sudo umount '/media/'$USER'/Install' '/media/'$USER'/Cinematics' '/media/'$USER'/Play' && sudo rm -Rf '/media/'$USER'/Install' '/media/'$USER'/Cinematics' '/media/'$USER'/Play' && sync ==== Files ==== **** rm -Rf ~/'Downloads/Diablo II Classic (1.06b)' && sync ===== Patch ===== **** WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'Downloads/Diablo II Classic (1.06b)/D2Patch_106b.exe' ==== Online ==== * http://ftp.blizzard.com/pub/diablo2/patches/PC/D2Patch_106b.exe * [[games;windows;notes;diablo_2_patches|Other versions]] md5sum ~/'Downloads/D2Patch_106b.exe' | grep 'b354004f32da834ab07ea8c42399d256' && WINEPREFIX=~/'.wine/Diablo II Classic' WINEDLLOVERRIDES='winemenubuilder.exe=d' wine ~/'Downloads/D2Patch_106b.exe' ===== Glide Wrapper ===== **** unzip -o ~/'Downloads/Diablo II Classic (1.06b)/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' ==== Online ==== * http://www.svenswrapper.de/gl32ogl14e.zip md5sum ~/'Downloads/gl32ogl14e.zip' | grep '1c65a0150665f715ce0fc0a23885c6b8' && unzip -o ~/'Downloads/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' ===== No-CD ===== * Also copy Play disc's ''D2MUSIC.MPQ'' to ''Diablo II'' folder unzip -j -o ~/'Downloads/Diablo II Classic (1.06b)/d2nocd_pack.zip' 'Classic/1.06b/Game.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' gio open ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' ls -la ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/D2MUSIC.MPQ' ==== Online ==== * https://d2mods.info/forum/viewtopic.php?f=7&t=61484 md5sum ~/'Downloads/d2nocd_pack.zip' | grep 'aadf35034f29afcdd9c20bb461e4efad' && unzip -j -B -o ~/'Downloads/d2nocd_pack.zip' 'Classic/1.06b/Game.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' ====== Glide Wrapper ====== * Hauptmenu -> Deutsch/English * OpenGL-infos -> Query OpenGL-infos * settings -> [x] captured mouse * settings -> ''no'' fps-limit * :!: settings -> ''60 Hz'' refreshrate ((with TCL 55S405 and unchecked ''desktopresolution'' it does 75Hz which causes improper gamma)) * renderer -> 108 MB texture-memory * renderer -> 4096x4096 buffer-texture-size * renderer -> [x] 32 bit rendering * renderer -> [x] bilinear filtering * Test ((ideally should allow gamma adjustments (click and drag on color bars) and maintain 60+ fps)) * Quit cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/glide-init.exe' ===== Reset Settings ===== **** WINEPREFIX=~/'.wine/Diablo II Classic' wine REG DELETE 'HKEY_CURRENT_USER\Software\GLIDE3toOpenGL' /f ====== Settings ====== * ''R'' -> Run * Sound Options -> Music: Max * Video Options -> Contrast: Max ((Gamma at half (should be default); only available fullscreen)) * 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/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/Game.exe' -w ====== Desktop Launcher ====== * TODO: Icon and ''notifiy-send'' icon * :!: TODO: Save backup as script mkdir -p ~/'.local/share/applications/wine/Programs/Diablo II Classic' && nano ~/'.local/share/applications/wine/Programs/Diablo II Classic/Diablo II Classic.desktop' [Desktop Entry] Name=Diablo II Classic Exec='/bin/bash' -c "cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/Game.exe' -3dfx" Type=Application StartupNotify=true Icon=0913_Diablo II.0 StartupWMClass=game.exe Actions=Kill;Window;Glide;Saves;Notes; [Desktop Action Kill] Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Diablo II Classic' wineserver --kill" Exec='/bin/killall' -9 'Game.exe' Name=Force-close Diablo II [Desktop Action Window] Exec='/bin/bash' -c "cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/Game.exe' -w" Name=Start Diablo II Windowed [Desktop Action Glide] Exec='/bin/bash' -c "cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/glide-init.exe'" Name=Glide Wrapper Configuration [Desktop Action Saves] StartupNotify=false Exec='/bin/bash' -c "tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-Diablo-2-Classic-Saves.tar.gz' -C ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' 'save' && notify-send 'Diablo II Classic Save Data Backed-up Successfully to Downloads'" Name=Save Data Back-up [Desktop Action Notes] StartupNotify=false Exec=gio open 'https://wiki.realmofespionage.xyz/games;linux;wine;diablo_2_classic_1.06b' Name=Install Notes # End ====== TODO ====== **** cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/Game.exe' -3dfx ===== Save Data ===== ==== Backup ==== **** tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-Diablo-2-Classic-Saves.tar.gz' -C ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' 'save' ==== Restore ==== **** ls ~/'Downloads/'*'-Diablo-2-Classic-Saves.tar.gz' && rm -Rf ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/save' && mkdir -p ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/save' && tar -xvzf ~/'Downloads/'*'-Diablo-2-Classic-Saves.tar.gz' -C ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' 'save'