Table of Contents

WORK IN PROGRESS

About

This dummy is the base of all our installers and was build on top of loki_setup which is part of the Loki Setup tools.

The installer supports x86 and x86_64 systems but most of the helper scripts and tools do not at the moment.

How to make an installer

Get the dummy:

Get a clone of the LIFLG repository:

hg clone https://kratz00.org/hg/liflg/

Rename the upcomming installer:

Create your working copy:

cp -pr liflg/setup_dummy_gtk2/ $GameName_$Version-$Language.$Special-$Patchlevel

What do all those fields mean?

Example 1: mohaa_1.11beta3-dutch.warchest.edition

$GameName $Version $Language $Special $Patchlevel
mohaa 1.11beta3 dutch warchest.edition

Example 2: true.combat.elite_0.49b-english-4

$GameName $Version $Language $Special $Patchlevel
true.combat.elite 0.49b english 4

About binaries, libaries and startscripts

If we have the possibility we try to provide binaries for x86 and x86_64 but of course this is not always possible. For example most commercial games only offer binaries for x86. There are two potential scenarios (the third is almost unlikely).

Scenario 1: x86 binaries only

Place the binary or rather the binaries in the bin directory and change the mode of the file(s) to 644 (chmod 644).

Scenario 2: x86 and x86_64 binaries

cd bin &&
mkdir -p Linux/{x86,x86_64} &&
ln -s x86_64 Linux/amd64

The binary file(s) for x86 go in the x86 directory and the one(s) for 64 bit platforms go in the x86_64 directory. Like in scenario 1, all file have to be “chmoded” to 644.

…tbd

The icon file

A splashscreen for the installer

Edit README.liflg

Three kinds of installers

1. No extra optical media needed

Get rid of some unneeded files:

rm setup.data/{cabextract,install-disc*,tmp_check.sh,unshield}

2. Extra optical media needed

Get rid of some unneeded files:

rm setup.data/{cabextract,install-disc*,tmp_check.sh,unshield}

3. Extra optical media needed which contains some proprietary compressed files

setup.xml

Packaging the installer

We use makeself for this job.

makeself.sh $GameName_$Version-$Language.$Special-$Patchlevel/ $GameName_$Version-$Language.$Special-$Patchlevel.run "$GameTitle $Version-$Type.$Special-$Patchlevel Installer" sh ./setup.sh

The fields are mostly the same as in Rename the upcomming installer chapter, the only new one is $GameTitle which should be the full name of the game. For example:

$GameName $GameTitle
mohaa Medal of Honor
serious.sam2 Serious Sam 2

Know bugs

As our dummy is based on loki_setup most bugs are the fault of this (not all of course :-)).

Could be I missed some, so this list is not complete.