====== Information ====== * Diablo II ((http://us.blizzard.com/en-us/games/d2/)) * Diablo II: Lord of Destruction * GLIDE3-to-OpenGL-Wrapper ((http://www.svenswrapper.de/english/index.html)) ===== Prerequisites ===== * [[linux;distros;fedora_workstation_gnome|Fedora Workstation]] * [[linux;notes;wine|Wine]] ===== Notes ===== * **Lord of Destruction** is not standalone and requires **Diablo II** * This is the original client with CD keys and TCP/IP multiplayer ====== Install ====== ===== Diablo II ===== **** mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II' WINEARCH='win32' winecfg /v 'winxp' && sync && WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/D2-1.14b-Installer-enUS/Installer.exe' ===== Lord of Destruction ===== **** sync && WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/D2LOD-1.14b-Installer-enUS/Installer.exe' ===== Patch ===== * 1.14d sync && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/LODPatch_114d.exe' ===== Glide Wrapper ===== * TODO: Local file commands like above ==== Online ==== * The following command expects ''gl32ogl14e.zip'' (1.4e) to exist at http://www.svenswrapper.de/gl32ogl14e.zip wget -O '/tmp/gl32ogl14e.zip' 'http://www.svenswrapper.de/gl32ogl14e.zip' && md5sum '/tmp/gl32ogl14e.zip' | grep '1c65a0150665f715ce0fc0a23885c6b8' && unzip '/tmp/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && rm -f '/tmp/gl32ogl14e.zip' && sync ===== Clean Up ===== **** rm -R ~/'Downloads/Diablo II' ~/'Desktop/Diablo II - Lord of Destruction.desktop' && sync ====== Glide Wrapper ====== * Hauptmenu -> Deutsch/English * OpenGL-infos -> Query OpenGL-infos * settings -> [x] captured mouse * settings -> ''76.9 fps'' fps-limit * settings -> [x] desktopresolution * renderer -> 108 MB texture-memory * renderer -> 4096x4096 buffer-texture-size * renderer -> [x] 32 bit rendering * renderer -> [x] bilinear filtering * renderer -> [x] keep desktop composition * Extensions -> [ ] WGL_ARB_render_texture (checking usually causes Test to crash) * renderer -> [x] supersampling (requires ''WGL_ARB_render_texture'') * Test ((ideally should allow gamma adjustments (click and drag on color bars) and maintain 60+ fps)) * Quit * Zink cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' mesa_glthread='false' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe' ===== Native OpenGL ===== **** cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' mesa_glthread='false' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe' ===== Reset Settings ===== **** WINEPREFIX=~/'.wine/Diablo II' wine reg DELETE 'HKCU\Software\GLIDE3toOpenGL' /f ====== Desktop Launcher ====== ===== Initial ===== **** rm -Rf ~/'.local/share/applications/wine/Programs/Diablo II' ~/'.local/share/applications/wine/Programs/Diablo II' && mkdir -p ~/'.local/share/applications/wine/Programs/Diablo II' ===== Lord of Destruction ===== * Zink nano ~/'.local/share/applications/wine/Programs/Diablo II/Diablo II: Lord of Destruction.desktop' [Desktop Entry] Name=Diablo II: Lord of Destruction Categories=Game;AdventureGame;RolePlaying Exec='/bin/bash' -c "cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' mesa_glthread='false' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx" Type=Application StartupNotify=true Icon=0913_Diablo II.0 StartupWMClass=game.exe Actions=Kill;Glide;Saves;Notes; [Desktop Action Kill] Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Diablo II' wineserver --kill" Exec='/bin/killall' -9 'Game.exe' Name=Force-close Diablo II [Desktop Action Glide] Exec='/bin/bash' -c "MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' mesa_glthread='false' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe'" Name=Glide Wrapper Configuration [Desktop Action Saves] StartupNotify=false Exec='/bin/bash' -c "~/'.wine/Diablo II/save-backup.sh'" Name=Save Data Back-up [Desktop Action Notes] StartupNotify=false Exec=gio open 'https://wiki.realmofespionage.xyz/games;linux;wine;diablo_2' Name=Installation Notes # End ===== Save Data Back-up Script ===== nano ~/'.wine/Diablo II/save-backup.sh' && chmod +x ~/'.wine/Diablo II/save-backup.sh' #!/bin/sh ls ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games/Diablo II' tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-manual-D2-Saves.tar.gz' -C ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' 'Diablo II' sync notify-send 'Diablo II save data has been successfully archived and placed in the Downloads folder.' # End ====== Quick Commands ====== ===== Winecfg ===== **** WINEPREFIX=~/'.wine/Diablo II' winecfg ===== Winetricks ===== **** WINEPREFIX=~/'.wine/Diablo II' winetricks ===== Registry Editor ===== **** WINEPREFIX=~/'.wine/Diablo II' regedit ===== Kill ===== **** WINEPREFIX=~/'.wine/Diablo II' wineserver --kill && killall -9 'Game.exe' ===== Execute ===== ==== Command-line Arguments ==== **** -3dfx ==== Lord of Destruction ==== **** cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' mesa_glthread='false' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx ==== Zink ==== **** cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' mesa_glthread='false' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx ===== File Manager ===== ==== Root ==== **** gio open ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' ==== Saved Games ==== **** gio open ~/'.wine/Diablo II/drive_c/users/'$USER/'Saved Games/Diablo II' ===== Saved Games Data ===== ==== Backup ==== * Creates ''{DATE}-manual-D2-Saves.tar.gz'' in ''~/Downloads'' tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-manual-D2-Saves.tar.gz' -C ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' 'Diablo II' && ls ~/'Downloads/'*'-manual-D2-Saves.tar.gz' ==== Restore ==== * Expects ''*-manual-D2-Saves.tar.gz'' in ''~/Downloads'' * :!: If that tarball exists, this series of commands will **irreversibly**, without warning or prompt, **delete** the existing ''Saved Games'' folder and replace it with whatever is in that tarball ls ~/'Downloads/'*'-manual-D2-Saves.tar.gz' && rm -Rf ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' && mkdir -p ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' && tar -xvzf ~/'Downloads/'*'-manual-D2-Saves.tar.gz' -C ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' 'Diablo II' && sync