github.com/nokka/slashdiablo-launcher

A lightweight cross platform Slashdiablo game launcher for Diablo II, written in Go & QML.


Keywords
game, go, qml, qt5, diablo-ii
License
MIT
Install
go get github.com/nokka/slashdiablo-launcher

Documentation

Slashdiablo launcher

Go Report Card GoDoc

launcher screenshot

About the project

Slashdiablo launcher is a cross platform game launcher for Diablo II and specifically the Slashdiablo community. It was built to help new players install patches, updating registries and help with other technical issues to lower the barrier of entry into the Slashdiablo community, while also assisting more experienced players with more advanced settings such as HD mods and launching multiple boxes.

Features

  • Patching Diablo II up to 1.13c from previous game versions
  • Applying Slashdiablo patches automatically
  • Allows for multiple installs of Diablo II with different settings (such as Maphack & HD)
  • Automatically installs and updates Maphack & HD mod
  • Launch multiple Diablo II boxes from multiple installs
  • Help with OS specific configuration such as DEP issues
  • View ingame top ladder
  • Patch Diablo II from 1.14+ down to 1.13c

Full OS support

  • Windows
  • OSX (missing some D2 specific features)
  • Linux (missing some D2 specific features)

Development

Go

Install Go 1.12 or higher by following install instructions for your OS.

Qt bindings for Go

Before you can build you need to install the Go/Qt bindings.

Install Qt5

OSX

On OSX using brew is by far the most simple way of installing Qt5.

$ brew install qt

Windows

Use the installer provided by Qt (Make sure you install the MinGW build of Qt).

Building Slashdiablo launcher

# Get binding source
$ go get -u -v -tags=no_env github.com/therecipe/qt/cmd/...

# Download the repository with dependencies
$ go get -d -u -v github.com/nokka/slashdiablo-launcher

# Build the launcher
$ cd $(go env GOPATH)/src/github.com/nokka/slashdiablo-launcher
$ qtdeploy build

# Start launcher (different depending on OS)
$ ./deploy/darwin/slashdiablo-launcher.app/Contents/MacOS/slashdiablo-launcher

Deploying

Deploying to a target can be done from any host OS if there's a docker image available, otherwise the target OS and the host must be the same.

Windows

Build in docker

$ docker pull therecipe/qt:windows_64_static
$ qtdeploy -docker build windows_64_static

Build on local machine

$ qtdeploy build desktop

Updating application binary version and manifest data

# Download goversioninfo tool
$ go get github.com/josephspurrier/goversioninfo/cmd/goversioninfo

# Make your changes to the manifest file.
$ vim versioninfo.json

# Generate a new resource.syso including manifest.
$  go generate

MacOS (from MacOS only)

$ qtdeploy build darwin github.com/nokka/slashdiablo-launcher