====== 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 [[http://icculus.org/loki_setup/ | 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?\\
* $GameName: name of the game (multiple words have to be separated by a dot)
* $Version: version number of the game
* $Language: indicates in which language the game is, if it supports more than one language use //multilanguage// for this field
* $Special: normally this field can be omitted, it's used to distinguish special flavours of a game, e.g. our Serious Sam 2 installer is avaiable as a dvd, 4 cd and //Software Pyramide// dvd version (multiple words have to be separated by a dot)
* $Patchlevel: only used if a already released installer had to be fixed, so omit this field if it's the first release, it's //2// for the first fix, //3// for the second and so on
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 [[software: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 :-)).
* Scripttags and cd/dvds - https://bugzilla.icculus.org/show_bug.cgi?id=3085
* 'View Readme' button does not work all the time - https://bugzilla.icculus.org/show_bug.cgi?id=3022
* SETUP_CDROM PATH - Problem with setup.sh - https://bugzilla.icculus.org/show_bug.cgi?id=3010
* Exit - Quit inconsistency - https://bugzilla.icculus.org/show_bug.cgi?id=3009
* https://bugzilla.icculus.org/show_bug.cgi?id=1368
* binpath option misbehaves - http://bugzilla.icculus.org/show_bug.cgi?id=3563
Could be I missed some, so this list is not complete.