System: Haiku

What is GemRB?

GemRB is an open source implementation of Bioware's Infinity Engine. This engine is the basis of many popular D&D-based RPG games, such as Baldur's Gate (1 and 2), Icewind Dale (again, 1 and 2) and Planescape: Torment. It's not 100% completed, but people have successfully reported being able to play through all of Baldur's Gate 2: Shadows of Amn (the game that has received the most attention by developers of this program) without major hold-ups.

Does it work with Haiku?

Yes. Thanks to michaelvoliveira's port it works even on the most recent revisions of Haiku, including the R1 A3 release candidates (tested with r41612). Quite unexpected, since most sdl games are gcc4hybrid only and Alphas are gcc2hybrid.

Installing GemRB

The first thing to do to make GemRB work is to install the SDL libraries optional package, it's done issuing this command in a terminal:

installoptionalpackage <color="dark blue">sdllib     Installing SDL Libs over HaikuDepot

Then grab GemRB from Haikuware

And unpack the files to "/boot".

Configuring GemRB

Now, after unpacking, GemRB and its files are/should be located in "/boot/apps/gemrb". The first thing to do is to tweak GemRB.cfg according to your needs. Either Pe or StyledEdit should do the trick. The whole configuration file is well documented and mostly configured to work with Haiku, so here I'll just point to the parameters you'll probably have to edit and give some explainations:

  • GameType: set it to your game (bg1, bg2, iwd, pst etc.)
  • GameName: modifies the name of the GemRB window, change it as you like.
  • Width, Height, Bpp, Fullscreen: Name says it all, remember that resolutions higher than 800x600x32 weren't officially supported by the Infinity Engine but worked anyway.
  • AudioDriver: The default is openal, I advise against changing it, as it "works just fine".
  • CaseSensitive: IMPORTANT, if the game files are in a case sensitive filesystem (ext, BeFS) uncomment the line (remove the #) and set it to 1, NTFS and FAT are not case sensitive.
  • GamePath: Path to the game files. Put the path to the main game folder.
  • CD1: Path to CD1. In case of Baldur's Gate 2 it is the same as the main game folder.
  • CD2-X: Put the path to the corresponding CD[X] folders included in the main game folder. (or in the CDs, I guess)
Example:
GamePath=/Shared/Giochi/BGII - SoA/
CD1=/Shared/Giochi/BGII - SoA/
CD2=/Shared/Giochi/BGII - SoA/CD2/
CD3=/Shared/Giochi/BGII - SoA/CD3/
CD4=/Shared/Giochi/BGII - SoA/CD4/
CD5=/Shared/Giochi/BGII - SoA/CD5/
Note that the standard configuration file has only from CD1 to CD4 as parameters. Throne of Bhaal uses 5 CDs, so you need to add a "CD5" parameter if you want to play it correctly.
  • - SavePath: Path to the folder cointaining the "save" folder. If you intend to play games installed on a read-only filesystem you'll have to uncomment this line, create a save folder somewhere (the main GemRB folder is the best pick) and point the parameter to it.
Example:

SavePath=/boot/apps/gemrb/
GemRB seems unable to load games saved by anything that is not GemRB itself. Either that or it must be my bad luck again.

Playing GemRB

Create a script or open a terminal in "/boot/apps/gemrb" and type "gemrb". Ta-da! It works!

Tutorial by Michael Peppers, May 2011
Made available by BeSly, the BeOS, Haiku and Zeta knowledge base.