====== 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.