**************************************************************************** * Version 5.2 7 Sep 2006 * **************************************************************************** Additions ========= * There's a new -errors option, which controls the maximum number of errors printed before giving up. * New program in the 'contrib' directory: asciimapper. This is a tool to create IFM maps from ASCII art maps, contributed by Elijah Griffin. * The GNU Emacs ifm-mode.el in the 'contrib' directory has new commands to display maps, items and tasks and various other things. Based on an initial version contributed by Lee Bigelow. Changes ======= * Several unused features which added needless complexity have been removed. These are: preprocessing by gpp, expressions for real/integer values, and variable interpolation in strings. * To reduce package size, the Vars library which IFM uses is no longer bundled with IFM. You must install it separately, before building IFM. See the README file for where to get it. Bug fixes ========= * An obscure bug has been fixed which involved the 'follow' and 'need' attributes combined. This caused some valid task orderings to be flagged as cycles. * A bug with modification of room attributes has been fixed. * Don't crash when trying to solve game and there are no rooms. * A crash when trying to print an error message about cyclic task dependencies has been fixed. **************************************************************************** * 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.