It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
high rated
Diablo is not officially supported by ./play.it yet, but it already works on our development version.
The process is a bit trickier than with our usual scripts, as we don't have support for InnoSetup 5.6.2 either (the packaging format currently used for Diablo GOG installers).

This ./play.it script could not have been done without two nice Free Software projects:
innoextract, an installer unpacker supporting GOG Windows installers
devilutionX, a modern multi-platform engine for Diablo

Here is a small guide to get it working.

1. Install innoextract 1.8 development version

Install innoextract build dependencies, then:
git clone https://github.com/dscharrer/innoextract.git ~/innoextract.git
mkdir ~/innoextract.git/build
cd ~/innoextract.git/build
cmake ..
make
mkdir ~/bin
cp innoextract ~/bin/
cd
rm --force --recursive ~/innoextract.git
2. Install the patched ./play.it library allowing to use the development version of innoextract + the ./play.it script for Diablo
git clone https://framagit.org/vv221/play.it.git ~/play.it.git
cd ~/play.it.git
git checkout dev-2.x/games/new/diablo-1
./play.it-2/patches/skip-innoextract-version-check.sh
make
make install
cd
rm --force --recursive ~/play.it.git
3. Run the ./play.it script

Put both your GOG installer and devilutionx-linux-i386.tar.xz is a same directory, open a terminal in this directory, then:
PATH="$HOME/bin:$PATH"
play.it "./setup_diablo_1.09_v6_(28378).exe"
4. Follow the instructions given by the script to install the game

5. Enjoy ;)
Post edited May 26, 2019 by vv221
Nice work, do you plan to add InnoSetup support in later versions?
avatar
Anders_Jenbo: Nice work, do you plan to add InnoSetup support in later versions?
We already have InnoSetup support thanks to innoextract, the issue is only with GOG latest installers using a development build of InnoSetup 5.6.2.
The patch to the library is to disable a check that would stop the script when trying to process an unsupported version of InnoSetup.

We'll have full support fo InnoSetup 5.6.2 when it is added in a stable version of innoextract.
Post edited March 23, 2019 by vv221
Sorry, I have problem in first step:

make: *** No targets specified and no makefile found. Stop.

(I'm new new to linux)
avatar
SDMAx: (…)
You probably had an error in the previous step, the "cmake" one.
Please run these two commands and post the full console output here:
cd ~/innoextract.git/build
cmake ..
avatar
vv221: You probably had an error in the previous step, the "cmake" one.
The cmake requirements are lowered again in master and builds fine on Mint 19.1 (Ubuntu 18.04 base). Probably easier for him to build master or I guess wait until 0.4.0 is pushed. Also, I realize this is still in ./play.it devel, but I would mention the source port by name in the OP and a link to their github page would not be amiss, IMHO.
avatar
Gydion: The cmake requirements are lowered again in master and builds fine on Mint 19.1 (Ubuntu 18.04 base). Probably easier for him to build master or I guess wait until 0.4.0 is pushed.
That's innoextract build that failed, not the devilutionX one ;)
avatar
Gydion: Also, I realize this is still in ./play.it devel, but I would mention the source port by name in the OP and a link to their github page would not be amiss, IMHO.
You're right, I'm going to do this. (EDIT: Done!)
Post edited March 26, 2019 by vv221
Update

First version of the script only supported one GOG installer:
setup_diablo_1.09_v4_(27989).exe

In addition, the following ones are now supported too:
setup_diablo_1.09_v6_(28378).exe
setup_diablo_1.09_v3_(27965).exe
setup_diablo_1.09_v2_(27882).exe
setup_diablo_1.09_(27873).exe
avatar
vv221: That's innoextract build that failed, not the devilutionX one ;)
High quality reading right there.
avatar
vv221: You're right, I'm going to do this. (EDIT: Done!)
Cheers.
Post edited March 29, 2019 by Gydion
Instructions updated, as one step was no longer required since our 2.11.2 release.
avatar
vv221: Instructions updated, as one step was no longer required since our 2.11.2 release.
Nice, we hope to have devilutionX 0.4.0 out with in a few days.
avatar
Anders_Jenbo: (…)
I’m following your project closely, but feel free to ping me if I don’t post any update here after the 0.4.0 release ;)
I'm unable to get it working D:

Any points in the right direction would be greatly appreciated.

Followed directions above. Error / output is as follows with both versions 27882 and 28378

myusername@myhostname:~/$ diablo-1
DUMMY: SetUnhandledExceptionFilter @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:431
DUMMY: SetUnhandledExceptionFilter @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:431
DUMMY: FindWindowA : class: DIABLO window: (null)
DUMMY: LoadIconA @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:355
DUMMY: LoadCursorA @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:370
DUMMY: LoadImageA @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:364
DUMMY: RegisterClassExA @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:323
dbus[25800]: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../../dbus/dbus-message.c line 1362.
This is normally a bug in some application using the D-Bus library.

D-Bus not built with -rdynamic so unable to print a backtrace
Aborted (core dumped)
myusername@myhostname:~/$

As may be obvious, ajenbo is not my username but appears to be the username of the developer of devilutionX . Is there something hardcoded there that I need to update?
avatar
thecravenone: I'm unable to get it working D:

Any points in the right direction would be greatly appreciated.

Followed directions above. Error / output is as follows with both versions 27882 and 28378

myusername@myhostname:~/$ diablo-1
DUMMY: SetUnhandledExceptionFilter @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:431
DUMMY: SetUnhandledExceptionFilter @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:431
DUMMY: FindWindowA : class: DIABLO window: (null)
DUMMY: LoadIconA @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:355
DUMMY: LoadCursorA @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:370
DUMMY: LoadImageA @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:364
DUMMY: RegisterClassExA @ /home/ajenbo/devilutionX/SourceX/miniwin/misc.cpp:323
dbus[25800]: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../../dbus/dbus-message.c line 1362.
This is normally a bug in some application using the D-Bus library.

D-Bus not built with -rdynamic so unable to print a backtrace
Aborted (core dumped)
myusername@myhostname:~/$

As may be obvious, ajenbo is not my username but appears to be the username of the developer of devilutionX . Is there something hardcoded there that I need to update?
The issue you are having is described in the README.txt and release notes, it's a bug in the 32bit SDL in Ubuntu, you can find the solution here:
https://github.com/diasurgical/devilutionX/issues/20
(simply run "DBUS_FATAL_WARNINGS=0 ./devilutionx")

You can disregard the paths they are just auto-generated debug messages based on my system.
Post edited May 20, 2019 by Anders_Jenbo
avatar
Anders_Jenbo: (…)
avatar
vv221: I’m following your project closely, but feel free to ping me if I don’t post any update here after the 0.4.0 release ;)
0.4.0 is finally out, it turned in to a huge update with over 50.000 lines of code being cleaned up and we wanted to make sure that thing where stabilized before doing another release.

Features
- Fixed flickering mouse in caves
- 32bit ARM build (Raspberry Pi)
- 32bit FreeBSD build
- 32bit Haiku support (see HaikuDepot)
- Included font for rendering credits and progress screen
- Upscaling can be disabled in diablo.ini
- Direct file access implemented (mods won't need to pack their files in an MPQ)
- Music and speech memory leaks fixed