**************************************************************************** * Version 5.1 30 Nov 2004 * **************************************************************************** Additions ========= * The tkifm program now supports line numbering and syntax highlighting, thanks to a contributor who wishes to remain anonymous. * There is now a man page summarizing the command-line options. Changes ======= * In PostScript output, up/down and in/out labels are now drawn separately, next to their respective rooms. Also, if a link leaves a room and returns to the same room, it's drawn as a small circle. Thanks to Dan Eble (eble@ticalc.org). Bug fixes ========= * Hopefully, the Windoze port should work properly now. * Fixed weird bug with scaled arcs in PostScript output. More thanks to Dan Eble (eble@ticalc.org). * Fixed bug in ifm2tex with converting strings to TeX format (specifically, ones with embedded zeros). * Fixed crash when using 'it' in some circumstances. **************************************************************************** * Version 5.0 23 Jan 2003 * **************************************************************************** Additions ========= * New map output: Fig format, suitable for viewing or editing with Xfig, or exporting to other formats. * New utility program: ifm2dev, which pipes IFM output in Fig format through fig2dev repeatedly to write each map section to its own file. * New utility program: ifm2tex, which converts Fig files to EPS and includes them in a LaTeX document together with tables of items and tasks. * New task output: graphviz (dot) format, which dumps a task dependency graph. * New 'keep with' and 'keep until' syntax for items, allowing items to be kept until certain tasks are done or certain other items are dropped. * New room 'nodrop' attribute, indicating that no items should be dropped there. * New task and item 'ignore' attribute, indicating that these things should be ignored when finding a solution. * New task 'do' attribute, indicating that when a task is done, it also does one or more other tasks automatically. * New option: -style, which sets global styles for all IFM objects. * New option: -set, which lets you set variables from the command line. To support this, the variable-setting syntax has been changed -- instead of a space separating the driver name from the variable, there's now a period. * New -show option: 'maps', which lists all the map sections and their sizes. * The -map option now accepts an optional list of map sections to print. * There's a bunch of new variables to control things, including the overall behaviour of the game solver. * IFM input is now "preprocessed", in a similar way to C programs. As a result, the old 'include' and 'alias' features have been replaced with the preprocessor equivalents. * There's a new 'require' keyword, which lets you say that a certain version of IFM (or later) is required for a map. Changes ======= * Changed implicit-link style behaviour -- the 'style' clause on a room now applies to both the room and the implicit link, so it's now independent of its position relative to the 'dir' clause. * The command-line option `-debug' has been removed; its functionality has been replaced by a control variable. * The old 'puzzle' and 'special' attributes have finally been removed; if you have any old maps which use these, you must replace them with the corresponding styles instead. * Documentation is now distributed in HTML and PDF formats, instead of GNU Info. * The GNU Emacs IFM mode in the 'contrib' directory now has font lock support. The ifm.vim file has also been updated with the latest keywords. Bug fixes ========= * Fixed bug with room 'link' and 'join' attributes: it didn't work to use 'last' as an argument. * Fixed glitch in room text on PostScript output: now tries reducing font size before squishing, so that text is filled better. **************************************************************************** * Version 4.1 10 May 1999 * **************************************************************************** Bug fixes ========= * Fixed minor task bug -- in special cases, giving items caused solver to fail to find newly-opened paths. * Fixed stupid blunder with DOS \r characters in one of the source files. * Fixed core dump problem when reading colour definitions (on FreeBSD, at least). **************************************************************************** * Version 4.0 21 Apr 1999 * **************************************************************************** Additions ========= * PostScript driver can now print in colour. * New 3D room shadowing effect on maps. * Many new output variables to control new map features. * Variables can now be set via expressions, not just values. Variables can now be used to customize many aspects of the input (e.g. notes, repeat counts). * Individual parts of the map can now be customized using 'display styles'. * New 'include' syntax, which allows files to include other files, either explicitly or via a path search. * New -include (-I) option to prepend directories to the search path from the command line. * New -show option to show various things (defined variables, search path), also included in tkifm menus. * More information is now printed in item lists -- which tasks require an item, which tasks an item requires, etc. * Some example maps are now bundled with IFM, in the 'demos' subdirectory. Changes ======= * Names and defaults of many output variables have been changed in order to make them more consistent. * Extra complexity in variable syntax has been removed, as it wasn't being used. Specifically, variables can't be set according to type of output or per-map-section any more, only by output driver. * Removed formatted man page documentation -- now only Info, HTML and text documentation is distributed. If there are enough complaints, I'll put it back. * The 'puzzle' and 'special' attributes are now obsolete -- they're replaced by display styles. * Tkifm now redisplays old map windows when refreshing the map. * Win32 version is now compiled with Cygwin b20, and so requires cygwin1.dll (not cygwin.dll) -- included in the distribution. See README.win32 for details. **************************************************************************** * Version 3.0 1 Oct 1998 * **************************************************************************** Additions ========= * There's a new program 'scr2ifm' in the distribution, which attempts to convert a game transcript into IFM format. It's a perl script, and gets installed on Unix-type systems if perl is detected. * New 'nolink' attribute for rooms, which suppresses generation of an implicit link between this and the previous room. * New 'nopath' attribute for rooms, links and joins, which stops those map connections from being used by the game solver. * New task 'cmd none' syntax, for tasks that don't need any special user commands (e.g. visiting a room for the first time). * New PostScript variable 'link_arrowsize', which allows you to change the size of arrowheads on one-way links. Changes ======= * tkifm is now installed automatically on Unix-type systems if wish (or one of its namesakes) is detected. * tkifm now shows busy-cursor when doing something CPU-intensive. * Improved solver failure messages, which give more information about what's wrong. * Removed PostScript documentation from distribution. * The 'times' keyword is now obsolete (but still works, for compatibility) -- just the repeat count is used instead. Bug fixes ========= * Fixed bug with 'drop all except' clause -- was treating it as just a simple 'drop' clause. * Fixed bug in task path calculation -- didn't always choose the best route between rooms. * Linking a room to itself with no 'dir' clause now results in an error, instead of failing mysteriously at the map-drawing stage. * Minor fixes to make installation smoother on FreeBSD. **************************************************************************** * Version 2.1 26 Aug 1998 * **************************************************************************** Bug fixes ========= * Fixed bug which caused some types of variable not to be set properly. * Minor fixes to library functions to link properly under Solaris. **************************************************************************** * Version 2.0 19 Aug 1998 * **************************************************************************** Additions ========= * Lots of new keywords for use by the game solver, which has been considerably enhanced. * New commands to modify previous definitions, which allow you to keep all game hacks in one place. * New 'show_tags' variable, which toggles addition of room tag names to room descriptions. * New -debug command-line option, which gives the gory details of what the game solver is up to. * New recording output, which can generate commands to play back in interpreters. * Package now has a test suite. Changes ======= * Links and joins can now be 'hidden' -- which means they're used only for task purposes. * Removed groff output -- it's not worth supporting any more, now that PostScript output works so well. * Text task output now prints details of the rooms you move through to get places, including directions moved in (or commands typed to move that way). * PostScript driver now has some standard page sizes. Also there's a variable 'page_rotate' which can override the default decisions on whether to print landscape or not. * Having no rooms defined is not an error any more, in order to placate tkifm. * Changed list attributes to be cumulative, instead of overriding previous value. * Variables can now be set to 'undef', which allows their default setting to reappear. * Various tkifm enhancements to make it convenient to use your preferred editor. * Unix version now uses GNU autoconf/automake for installation. Bug fixes ========= * Got tkifm save-as option to set current filename properly. * Stopped 'outside grid' warnings from causing tkifm to fail when drawing map. * Library function now doesn't clobber read-only strings. **************************************************************************** * Version 1.0 11 Jun 1998 * **************************************************************************** * First release.