Skip to content

Old 3rd party Launcher

Jaka Kranjc edited this page Dec 1, 2019 · 1 revision

GemRB Launcher

If you've ever wanted an easier way to start GemRB that didn't involve infinitely editing config files, you're in luck. Thanks to the GemRB launcher, starting your favorite Infinity Engine games is now only a click or two away! The launcher even handles CD images automatically, if you need it to.

The rest of this page is a how-to on using the launcher. The basic steps are:

  1. Make sure you have the latest version of Python 2 and PyGTK.
  2. Download and unpack the launcher.
  3. Edit the gemrb_launcher/src/gemrb_launcher.ini file. Change the executable line to the full path to your GemRB executable.
  4. Do a full install of any games with NJW's GemRB Installer.
  5. Run the launcher by double-clicking gemrb_launcher.py or by running python gemrb_launcher.py in a terminal.

Preparing the Launcher

Download the launcher's latest version, or get the 0.9 release.

If you want the very latest state, install mercurial and then run:

  $ hg clone http://bitbucket.com/nickdaly/gemrb_launcher

Configuring the Launcher

The launcher requires no configuration on its own, but you will have to change your GemRB.cfg settings.

Prerequisites

Now that you've acquired the launcher, you'll also need it's prerequisites, including:

  • Python (2.7 should work, Python 3 probably won't work)
  • PyGTK (2.12 or later, maybe 2.10?)

If you have GemRB, you probably already have Python. If you can, use your distribution's recommended method of acquiring these packages. Search Google if you need to.

If you want to use CD (ISO) images, you'll also need:

Configuring the Launcher

Just open up the gemrb_launcher.ini file and edit the entries in the GemRB section. You'll probably want to set:

  • executable: The full path to the GemRB executable.

You might also want to set:

  • gui: The GUI library to use (check the src/guis for available GUIs).

Installing the Games

You can use NJW's GemRB Installer, or install it yourself. Any effort to integrate those three pages would be appreciated.

If you use NJW's installer, simply unpack the installer, insert the first disc of your game, and run bash auto-installer.sh. Assuming your disc is recognized by the installer (everything but Icewind Dale 2, as far as I know), it will then be installed automatically. NJW's installer correctly handles ~/.gemrb/installations.ini automatically.

If you installed the games manually, you'll want to create a file named ~/.gemrb/installations.ini and put the directory you installed each game to on a separate line in that file, for example:

~/bg1
~/bg2
~/games/icewindDale/icewindDale1

The launcher will look in those directories for .cfg files to launch the games.

Configuring CDs

If you didn't do a full installation, you can run the game from ISO images. First, edit the game's GemRB.cfg file and add 3 types of keys:

  • CD#
  • CD#image
  • CD#mount
  • CD#: These lines store the location of the CD's data. For example, if you're mounting disks to /tmp/bg2/, you'll want to mount CD3 to /tmp/bg2/3 and include the line CD3=/tmp/bg2/3 in your config file.
  • CD#image: These lines point to the CD's image file. If you're not using actual CDs, but CD images instead, you'll set these values to the location of the CD image on your hard drive. These lines should look like CD3image=~/bg2/cd3.iso.
  • CD#mount: These lines point to where the CD's image file should be mounted. In this CD3 example that we're using, you'd want to include the line CD3mount=/tmp/bg2. Notice how that line includes the location specified in the "CD#" variable, above.

Example

Let's take the most complicated example possible, the third disc of BG:TOS (the original Baldur's Gate with the Tales of the Sword Coast expansion included, sold some time in the early 2000's). This is a 3 CD set in total, containing data that was originally stored across 6 physical discs. If you can understand this example, any working configuration can be derived from this one.

First, we'll need to start with a directory listing of CD3:

BG_TOS_CD3/
    CD3/
    CD4/
    CD6/

As you can see, the third CD contains 3 subdirectories, each containing one of the original six discs in and of itself, making things annoyingly complex for the rest of us who tend to assume that 1 CD actually is 1 CD. The launcher, however, can handle even this strange situation. You'll need to add another entry in your config file though:

CD#mount=

This tells the launcher where to mount a disc, great when using meta-discs like this one. The trick is to mount the meta-disc itself as a primary directory and then have gemrb search for the CD data in the sub-directories. In the case of BG:TOS CD3, your config file would look like:

# the disc image
CD3image=/home/nick/bg_tos_cd3.iso

# where to mount the disc image
CD3mount=/tmp/bg_tos/disc3

# where GemRB will read the CD data from
CD3=/tmp/bg_tos/disc3/CD3
CD4=/tmp/bg_tos/disc3/CD4
CD6=/tmp/bg_tos/disc3/CD6

Just remember, each disc image contains the data from several CDs. GemRB needs to see each individual CD's data, not the list of CD folders.

Running the Launcher

Just double-click the gemrb_launcher.py file or run python gemrb_launcher.py in a terminal.

Hacking

The launcher has many opportunities for the interested hacker. You can add your own GUI, your own theme, or whatever you'd like! Check out the upstream homepage or the project's README file for more details.