Devilutionx: Automatically install Shareware version

Created on 22 Oct 2019  路  7Comments  路  Source: diasurgical/devilutionX

It would be nice if we had a tool that could automatically extract the spawn.mpq from the spawn installer. We could then include this tool in an installer that automatically fetches the shareware and extracts the mpq during installation.

This could be done using LibStorm so that it will work on any platform that DevilutionX works on.

image

http://ftp.blizzard.com/pub/demos/diablosw.exe

enhancement

Most helpful comment

To simplify this the spawn code has now been unified with the main program Meaning you only have to build one exec and future releases will be able to run the shareware version. This is either controlled per detection of mpq or you can force the retail version to run in spawned mode by providing --spawn as a parameter.

All 7 comments

Is it possible to do this by hand, I would like to play on Linux but before I buy the game to have original MPQ file I would like to test shareware version. I've found recently about Diablo Web and it use shareware version if one don't have MPQ file. https://d07riv.github.io/diabloweb/

Yes, use any MPQ tool on diablosw.exe and you will be able to extract spawn.mpq. Remember that you have to specify -DSPAWN=ON to CMake when you build DevilutionX for it to build the shareware version.

The menu for the shareware version is now fully implemented.

Added a tool in mewspring/spawn_mpq@f74ad5d which extracts spawn.mpq from diablosw.exe. The extracted spawn.mpq hashsum is validated against that of Zezula's MPQ Editor.

The spawn_mpq tool may be used as follows:

Extracts spawn.mpq from diablosw.exe.

$ spawn_mpq diablosw.exe
# Output:
#
# extracting "overlay.mpq" from "diablosw.exe"
# extracting "spawn.mpq" from "overlay.mpq"
# creating file "_dump_/spawn.mpq"

Extracts spawn.mpq from http://ftp.blizzard.com/pub/demos/diablosw.exe

$ spawn_mpq
# Output:
#
# downloading "http://ftp.blizzard.com/pub/demos/diablosw.exe" (please wait)
# creating file "_dump_/diablosw.exe"
# extracting "overlay.mpq" from "_dump_/diablosw.exe"
# extracting "spawn.mpq" from "overlay.mpq"
# creating file "_dump_/spawn.mpq"

To download the spawn_mpq tool, run:

go get github.com/mewspring/spawn_mpq

Excellent this would go well with a Debian package 馃槉

@AJenbo
I added -DSPAWN=ON flag to rules file, now devilutionX works only with demo version of diablo.
I try execute: go get github.com/mewspring/spawn_mpq
This command do nothing in Ubuntu, it seems to have some issues.
I try to set up go from google search, export path in .profile add latest PPA, but without success.

To simplify this the spawn code has now been unified with the main program Meaning you only have to build one exec and future releases will be able to run the shareware version. This is either controlled per detection of mpq or you can force the retail version to run in spawned mode by providing --spawn as a parameter.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

cain05 picture cain05  路  18Comments

predator8bit picture predator8bit  路  21Comments

ctrl-meta-f picture ctrl-meta-f  路  30Comments

Chance4us picture Chance4us  路  15Comments

mbreskovec picture mbreskovec  路  49Comments