IPBT

From NetHackWiki
Revision as of 16:24, 22 September 2006 by Kernigh (talk | contribs) (Good reasons to use IPBT; the bad reason is not so bad.)
Jump to navigation Jump to search

IPBT is a ttyrec player written by Simon Tatham. It is easiest to run on Unix, but can be made to work on other operating systems. It stands for It's Play-Back Time.

There are several good reasons to use IPBT: it allows you to rewind files, it allows you to play at linear or logarithmic speeds, it allows you to jump to specific frames. The disadvantage is that IPBT must load the entire ttyrec file before it begins play; this is less of a problem for NetHack than for large, repetitive games like Angband.

Downloading, installing and compiling

You will need a working compiler and related utilities. This includes at least gcc and make. You will also need the ncurses headers. On Debian, Ubuntu, and some other distributions, they are in the package libncurses5-dev.

Download the latest version of IPBT from http://www.chiark.greenend.org.uk/~sgtatham/ipbt/ (direct link), unarchive, and make:

$ wget http://www.chiark.greenend.org.uk/~sgtatham/ipbt/ipbt-r6770.tar.gz
$ tar zxfv ipbt-r6770.tar.gz
$ cd ipbt-r6770/
$ make

You can now run IPBT from the current directory:

./ipbt <ttyrecfile>

The included README contains these instructions:

* `q' (or `Q') quits ipbt.
* Space moves on by a frame. Prefix it by a number to move on by
  multiple frames at a time.
* `b' moves back by a frame. Prefix it by a number to move backwards by
  multiple frames at a time.
* `o' toggles the on-screen display, which shows the current status
  of ipbt.
* `L' toggles logarithmic time compression (designed to have little
  effect on small delays but massively compress long ones).
* Typing a number followed by `x' causes play to proceed at that
  many times normal speed (e.g. `3x' means play at triple speed).
  Typing just `x' is equivalent to `1x': it restores normal speed.
* `X' is like `x', but slows down rather than speeding up: `2X'
  means half speed and `3X' means one third speed. `X' on its own
  restores normal speed, just like `x'.
* `g' jumps to the beginning of the animation. Prefixing a number
  jumps to a particular frame.
* `G' jumps to the end of the animation. Prefixing a number jumps
  to that many frames from the end.
* `p' (and also `s', for historical reasons) toggles pause mode.
  Pause mode is initially enabled.