Pentagram

Documentation

last changed: 3 August 2007 (GMT)


A text only version can be found here


1. Building CVS
1.1. Build dependencies
1.2. Linux/Unix
1.3. Windows
1.4. Mac OS X

2. Configuration
2.1. Quick guide
2.2. Advanced Configuration
2.3. Optional MIDI settings for Linux

3. Movement and Keys
3.1. Movement
3.2. Keyboard commands

4. Other stuff
4.1. Console commands
4.2. Supported games and versions

5. Changes to the Documentation
5.1. - 3 August 2007
5.2. - 19 February 2006
5.3. - 22 May 2005
5.4. - 21 May 2005
5.5. - 14 October 2004


1. Building CVS
 
1.1. Build dependencies

Before you build Pentagram, make sure you have the following tools/libraries.

  • SDL;
  • SDL_ttf;
  • zlib;
  • libpng;
  • for Linux/Unix, you need autoconf and automake.
 
1.2. Linux/Unix
  1. Run the "bootstrap" script to create the "configure" script:
    ./bootstrap
  2. Now run configure:
    ./configure
  3. Finally, start the build as usual:
    make
 
1.3. Windows

nothing here yet

 
1.4. Mac OS X

Under OS X, the dependencies are built into the application bundle as embedded frameworks, with the exception of zlib, which is already provided by OS X. SDL.framwork and SDL_ttf.framework can be obtained from libsdl.org. libpng.framework can be obtained the download page or built from source using the Xcode project files also available on the download page.

  1. Place all three frameworks in system/xcode/Frameworks
  2. Build from within Xcode using the Pentagram.xcodeproj project under system/xcode/Pentagram or from a terminal run xcodebuild:
    xcodebuild -configuration Release
  3. The application bundle will be located at system/xcode/Pentagram/build/Release/Pentagram.app

2. Configuration
 
2.1. Quick guide

Pentagram needs a pentagram.ini file to point it to the game data files. In Linux, pentagram.ini has to be in the ~/.pentagram directory. In Windows, it has to be in the current directory. In OS X, it has to be in the ~/Library/Application Support/Pentagram directory
A sample pentagram.ini is included below (this is all that is needed at the moment to run Pentagram). Comments are marked with # and are above the ini-entries.
You can copy/paste these settings with the comments to your ini file as Pentagram will ignore lines beginning with #.

[u8]
# replace 'path to U8 directory' with the directory containing 'u8.exe'
path=path to U8 directory
 
2.2. Advanced Configuration

Right now Pentagram assumes some default settings that don't need to be set to make Pentagram work. The settings below are these default settings.

[pentagram]
defaultgame=u8
fullscreen=no
# Width of the game resolution.
scalex=320
# height of the game resolution.
scaley=240
# Select the scaler you want to use. Currently you can choose between
# point, bilinear, scale2x, 2xSaI, hq2x.
scaler=point
# The game resolution is scaled to this width.
width=640
# The game resolution is scaled to this height.
height=480
bpp=32
# Enable this to use the BitStream Vera font for conversations and object descriptions.
ttf=no
# If you don't specify midi_driver, Pentagram will automatically select one,
# based on your platform.
# (Note: Windows will only work on Windows. CoreAudio only on Mac OS X.
# Alsa is Linux-only and UnixSeq will only work on Unix variants.)
# See further down for more options on Linux.
midi_driver=disabled/windows/fmopl/timidity/alsa/unixseq/coreaudio
# Enable this to skip the intro of U8 and initial conversation with Devon.
skipstart=no
# Conversation speed. Higher is slower.
textdelay=8
[u8]
# replace 'path to U8 directory' with the directory containing 'u8.exe'
path=path to U8 directory
# replace with the directory you want Pentagram to save games to.
# (no, loading of the original's savegames is not supported)
save=path to U8 savegames directory

You may also override most settings under [pentagram] by writing them under [u8]. Except for defaultgame all can be overriden.
Right now this is not necessary as we only support U8 but if we start to support other games it might come in handy.

 
2.3. Optional MIDI settings for Linux

MIDI used on Linux might need some fine tuning in pentagram.ini to work correctly. Below are the settings you can configure.

[pentagram]
# If you don't specify midi_driver, Pentagram will automatically select one,
# based on your platform.
#(Note: Windows will only work on Windows. CoreAudio only on MacOSX.)
midi_driver=disabled/windows/fmopl/timidity/alsa/unixseq/coreaudio
# You may need to set timiditycfg if you choose midi_driver=timidity.
timiditycfg=path to timidity.cfg
# You may need to set alsa_port if you choose midi_driver=alsa.
alsa_port=alsa:port
# You may need to set unixseqdevice if you choose midi_driver=unixseq.
unixseqdevice=/dev/sequencer

3. Movement and Keys
 
3.1. Movement
  • Double-click with the right mouse button will make the Avatar find a path to the selected spot.
  • Left-click on NPCs or objects to identify them.
  • Double-left-click on NPCs or objects to initiate conversations or use the item.
  • On pressing the right mouse button down the Avatar walks or runs (depending on distance between cursor and Avatar).
  • Pressing right and left mouse button, makes the Avatar jump or while running a running jump.
  • You can also move the Avatar with the keypad. Details are in the keycommands table below.

Note that on Mac OS you have to hold down the 'Cmd' key and the mouse button to have the functionality of a right mouse button.

 
3.2. Keyboard commands

All key commands of Pentagram can be changed by editing u8bindings.ini or via the options menu in the game. 'KP' means keypad.

Default keyboard commands
~ hides/restores console
arrow keys moves Avatar around the map (no walking)
home,end moves Avatar vertically
KP Avatar walks (one animation cycle)
Shift+KP Avatar runs (one animation cycle)
Ctrl+KP Avatar makes a little step (one animation cycle)
Alt+KP Avatar jumps long (one animation cycle)
s toggles "avatarInStasis"
t outputs kernel/usecode/world/location stats to the console
e toggles editor items
h highlights any item you are "hitting", colliding with
i open backpack
z open paperdoll/status
r recall
c switches combat mode on/off
ESC main menu
alt+x quit
ctrl+q quits without confirmation
backspace close all open containers
F7 Quicksave (savegames are not yet stable!)
F8 Quickload
F11 Shapeviewer
F12 toggles frame by frame
shift quarter speed mode. needs to be held down
[ clears the screen, multiple presses show the paint order
] above backwards

4. Other stuff
 
4.1. Console commands

Pentagram has a debugging console with various useful commands. A selection is listed below.

Console commands
GUIApp::quit quit
ConsoleGump::toggle open/close console
Cheat::heal heal the avatar
Cheat::equip equip the avatar with magic armour
Cheat::maxstats set str/dex/int to 25
Cheat::toggleInvincibility toggle avatar invincibility
MainActor::name <name> set avatar name
MainActor::teleport <map> <x> <y> <z> teleport to coordinates
MiniMapGump::toggle show/hide minimap
 
4.2. Supported games and versions

At the moment we only support the English versions of Ultima 8, both pre-patch and post-patch. The German, French, Spanish versions should also work, but are less well-tested. The Japanese version has a chance of working, but has hardly been tested at all.


5. Changes to the Documentation
 
5.1. - 3 August 2007

4.1. Console commands: added (short) list of console commands.

 
5.2. - 19 February 2006

4.2. Supported games and versions: updated status of non-English U8.

 
5.3. - 22 May 2005

2.2. Advanced Configuration some more configurations added.
2.3. Optional MIDI settings for Linux added.

 
5.4. - 21 May 2005

cleaned up outdated sections

 
5.5. - 14 October 2004

2.2. Advanced Configuration enable font replacement.



Last modified: 2007-08-03