| Next revision | Previous revision |
| games:bsd:wine:diablo_2 [2024/09/06 02:16] – created Sean Rhone | games:bsd:wine:diablo_2 [2025/09/11 06:43] (current) – external edit 127.0.0.1 |
|---|
| * Diablo II ((http://us.blizzard.com/en-us/games/d2/)) | * Diablo II ((http://us.blizzard.com/en-us/games/d2/)) |
| * Diablo II: Lord of Destruction | * Diablo II: Lord of Destruction |
| * GLIDE3-to-OpenGL-Wrapper ((http://www.svenswrapper.de/english/index.html)) | |
| |
| ===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| * [[bsd;freebsd_14.1|FreeBSD 14.1]] | * [[bsd;freebsd_14.2_xfce|FreeBSD 14.2 (Xfce)]] |
| * [[bsd;notes;wine|Wine]] | * [[bsd;notes;wine|Wine]] |
| |
| |
| * **Lord of Destruction** is not standalone and requires **Diablo II** | * **Lord of Destruction** is not standalone and requires **Diablo II** |
| * This is the original client with CD keys and TCP/IP multiplayer; see [[games;linux;wine;diablo_2_resurrected|Diablo II: Resurrected]] for the modern version | * This is the original client with CD keys and TCP/IP multiplayer (not Resurrected) |
| |
| ====== Install ====== | ====== Install ====== |
| **** | **** |
| |
| mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II' WINEARCH='win32' winetricks 'winxp' && sync && WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/D2-1.14b-Installer-enUS/Installer.exe' | mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II' WINEARCH='win32' winecfg /v 'winxp' && sync && WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/D2-1.14b-Installer-enUS/Installer.exe' |
| |
| ===== Lord of Destruction ===== | ===== Lord of Destruction ===== |
| * 1.14d | * 1.14d |
| |
| sync && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/LODPatch_114d.exe' | sync && mesa_glthread='false' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/LODPatch_114d.exe' |
| |
| ===== Glide Wrapper ===== | ===== Glide Wrapper ===== |
| |
| * TODO: Local file commands like above | * http://www.svenswrapper.de/english/index.html |
| | * TODO: Local file commands like Patch above |
| |
| ==== Online ==== | ==== Online ==== |
| * The following command expects ''gl32ogl14e.zip'' (1.4e) to exist at http://www.svenswrapper.de/gl32ogl14e.zip | * 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' && 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 | 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 ===== | ===== Clean Up ===== |
| **** | **** |
| |
| rm -R ~/'Downloads/Diablo II' ~/'Desktop/Diablo II - Lord of Destruction.desktop' && sync | rm -R ~/'Downloads/Diablo II' ~/'Desktop/Diablo II'*'.desktop' && sync |
| |
| ====== Glide Wrapper ====== | ====== Glide Wrapper ====== |
| * Quit | * Quit |
| |
| cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe' | cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && mesa_glthread='false' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe' |
| |
| ===== Reset Settings ===== | ===== Reset Settings ===== |
| |
| ====== Desktop Launcher ====== | ====== Desktop Launcher ====== |
| |
| * :!: 2024/09/06: Desktop launchers all TODO; manual launching is fine | |
| |
| ===== Initial ===== | ===== 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' | rm -Rf ~/'.local/share/applications/wine/Programs/Diablo II' ~/'.config/menus/applications-merged/wine-Programs-Diablo II'*'.menu' && update-desktop-database --quiet ~/'.local/share/applications' && mkdir -p ~/'.local/share/applications/wine/Programs/Diablo II' |
| |
| ===== Lord of Destruction ===== | ===== Lord of Destruction ===== |
| |
| nano ~/'.local/share/applications/wine/Programs/Diablo II/Diablo II: Lord of Destruction.desktop' | ee ~/'.local/share/applications/wine/Programs/Diablo II/Diablo II: Lord of Destruction.desktop' && update-desktop-database --quiet ~/'.local/share/applications' |
| |
| <code> | <code> |
| Name=Diablo II: Lord of Destruction | Name=Diablo II: Lord of Destruction |
| Categories=Game;AdventureGame;RolePlaying | Categories=Game;AdventureGame;RolePlaying |
| Exec='/bin/bash' -c "cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx" | Exec='/bin/sh' -c "cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && mesa_glthread='false' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx" |
| Type=Application | Type=Application |
| StartupNotify=true | StartupNotify=true |
| |
| [Desktop Action Kill] | [Desktop Action Kill] |
| Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Diablo II' wineserver --kill" | Exec='/bin/sh' -c "WINEPREFIX=~/'.wine/Diablo II' wineserver --kill" |
| Exec='/bin/killall' -9 'Game.exe' | |
| Name=Force-close Diablo II | Name=Force-close Diablo II |
| |
| [Desktop Action Glide] | [Desktop Action Glide] |
| Exec='/bin/bash' -c "MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe'" | Exec='/bin/sh' -c "mesa_glthread='false' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe'" |
| Name=Glide Wrapper Configuration | Name=Glide Wrapper Configuration |
| |
| [Desktop Action Saves] | [Desktop Action Saves] |
| StartupNotify=false | StartupNotify=false |
| Exec='/bin/bash' -c "~/'.wine/Diablo II/save-backup.sh'" | Exec='/bin/sh' -c "~/'.wine/Diablo II/save-backup.sh'" |
| Name=Save Data Back-up | Name=Save Data Back-up |
| |
| [Desktop Action Notes] | [Desktop Action Notes] |
| StartupNotify=false | StartupNotify=false |
| Exec=gio open 'https://wiki.realmofespionage.xyz/games:wine:diablo_2' | Exec=gio open 'https://wiki.realmofespionage.xyz/games:bsd:wine:diablo_2' |
| Name=Installation Notes | Name=Installation Notes |
| |
| ===== Save Data Back-up Script ===== | ===== Save Data Back-up Script ===== |
| |
| nano ~/'.wine/Diablo II/save-backup.sh' && chmod +x ~/'.wine/Diablo II/save-backup.sh' | ee ~/'.wine/Diablo II/save-backup.sh' && chmod +x ~/'.wine/Diablo II/save-backup.sh' |
| |
| <code> | <code> |
| #!/bin/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' | 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 | sync |
| notify-send 'Diablo II save data has been successfully archived and placed in the Downloads folder.' | notify-send -i ~/'.local/share/icons/hicolor/32x32/apps/0913_Diablo II.0.png' 'Diablo II Save Data Backed-up Successfully to Downloads' |
| |
| # End</code> | # End</code> |
| ===== Kill ===== | ===== Kill ===== |
| |
| * TODO: Test ''killall'' for FreeBSD | WINEPREFIX=~/'.wine/Diablo II' wineserver --kill |
| |
| WINEPREFIX=~/'.wine/Diablo II' wineserver --kill && killall -9 'Game.exe' | killall -9 'wine.bin' |
| |
| ===== Execute ===== | ===== Execute ===== |
| ==== Command-line Arguments ==== | ==== Command-line Arguments ==== |
| |
| **** | * https://www.purediablo.com/diablo-2/diablo-2-commands#Command_Line_Commands |
| | |
| <code>-3dfx</code> | |
| |
| ==== Lord of Destruction ==== | ==== Lord of Destruction ==== |
| |
| **** | * ''-3dfx'' |
| |
| cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx | cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && mesa_glthread='false' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx |
| |
| ===== File Manager ===== | ===== File Manager ===== |
| **** | **** |
| |
| gio open ~/'.wine/Diablo II/drive_c/users/'$USER/'Saved Games/Diablo II' | mkdir -p ~/'.wine/Diablo II/drive_c/users/'$USER/'Saved Games/Diablo II' && gio open ~/'.wine/Diablo II/drive_c/users/'$USER/'Saved Games/Diablo II' |
| |
| ===== Saved Games Data ===== | ===== Saved Games Data ===== |