History
~~~~~~~

This file details the development history of this port.  It deals
only with work done / bugs fixed in the RISC OS front-end code. There
should be other file(s) supplied that document the history of the
game itself.

1.31 (05 Jan 2004)
``````````````````
    The frontend now uses Jeffrey Lee's Absolutely module to ensure that
    the game has a large enough Wimpslot set when it is run instead of
    manually setting up Dynamic Area and non-Dynamic Area amounts in the
    !Variant file.

    Support for Zangband's new term package has been brought back into the
    main main-ros.c, this shouldn't cause any functional change, just makes
    maintenance easier.

    Various small changes have been made to make it easier to cross-compile
    and package the game from Linux, including the requirement of the
    32 bit Shared C Library.  The angband-kit has been reorganised for the
    same reason.


1.30 (06 Mar 2004)
``````````````````      
    Antony Sidwell took over as maintainer of front end code.

    Various changes he doesn't know about occurred.

    Bigscreen support has been added to the frontend.  Not all variants
    support the use of bigscreen (and some use it better than others).
    However in some variants it is now possible to resize your terminals
    to any size up to 255x255 (though it is still not possible to resize
    your main game terminal to less than 80x24).  Fullscreen mode is currently
    unaffected, and remains at 80x24 for the actual game area.

    The alarm code has been reworked so as to avoid slowdowns when an alarm
    is set on slower machines.

    The restoration of the mouse pointer on return from fullscreen mode has
    been changed to try and fix sporadic disappearance problems on some
    machines.

    Updated to use latest version of DeskLib (2.50)

    Various pieces of incidental code cleanup and consolidation, and some
    more to try and reduce the source code size a bit.

    There is now full support for a fullscreen-only compile, though this may
    be removed in future as it has a negligable efffect on the size of the
    resulting game.

    RISC OS 2 support has been removed.


1.26 (01 Sep 1999)
``````````````````
	The scrap directory is now deleted at exit, unless the -cP
	command line option is present.

	Term windows are now given the same names as used in the
	(W)indow options screen.

	The gamma correction window has been tweaked a bit.

	The sprites used by myself and Thomas have now been 'standardised'.

	The preferred scrap directory is now AngbandEtc.<Variant>.<Version>
	eg. Cthangband 3.1.2 would use a directory called:
	<Wimp$ScrapDir>.AngbandEtc.Cthangband.3_1_2

	The preferred location for the Choices file is now
	Choices:AngbandEtc.<VARIANT>.<VERSION>, eg. Zangband 2.2.5e would
	use a file called Choices:AngbandEtc.Zangband.2_2_5e for choices.

	A 'mirror' copy of the Choices file is written as
	Choices:AngbandEtc.<VARIANT>.Default so that new versions will
	acquire the most recently saved options by default.

	The preferred location of the Alarm choices file is now
	Choices:AngbandEtc.Global.Alarm.  This effectively means that
	Alarms are now shared between all installed variants.



1.25 (27 Jun 1999)
``````````````````
        Added an 'alarm' option (accessible via the user menu - press !)
        The alarm is quite primitive but useful nonetheless - see the
        !Help file for more details.

        Choices will now be saved in !Boot.Choices (if appropriate for
        your machine).

        The 'random file' cacheing has been substantially reworked - see
        the !Help file for more details.  Note that this feature only
        applies to some variants.

        The game start-up sequence has been made faster and also
        extended to do the work that the old !DeMunge files would
        have done.  This should also prevent nasty problems should you
        reformat your harddisc using the new RISC OS 4 format and then
        restore the game from a backup.

        'Hard' input flushing (see the !Help file) is now an option
        available from the user menu.

        The hourglass should now remain on until game startup is actually
        complete.


1.24 (18 May 1999)
``````````````````
        Fixed a problem with the automatic PlayIt loading that could
        crash the game.


1.23 (7 May 1999)
`````````````````
        Fixed a bug introduced in 1.22 that could hang the machine if
        AngSound wasn't available :-/

        Now automatically loads PlayIt from AngSound if it isn't loaded
        and sounds are configured to be (or are turned) on.  This means
        that it now makes much more sense to put AngSound in
        !Boot.Resources (on RPCs, etc) and forget about it. (NB: This
        requires AngSound rel.4 or later - a (small) upgrade from rel.3
        is available from the webpage)


1.22 (5 May 1999)
`````````````````
        Fixed a silly problem that could case a gruesome software bug
        when modifying the gamma correction using the ! menu thanks to
        a strange compiler problem.

        Command line options should now be specified in a separate
        file called !Options rather than in the !Run file.  See the
        !Help file for more details.

        If no sound path is set for the variant then the default
        path will be used (obviously this will only work if
        !AngSound has at least been 'seen').

        The 'use hourglass' option is now no longer on by default.



1.21 (6 Apr 1999)
`````````````````
        New option (setable in the !Run file): -w (or -waitrelease).
        If present this causes input flushes to wait until any pressed
        keys are released.  If you find that holding a movement key down
        causes problems for you because disturbances don't stop you
        moving then adding -w to the marked place in the !Run file
        may help.



1.20 (7 Mar 1999)
`````````````````
        Now uses Ctrl rather than Alt to open the lib.user directory

        "Start fullscreen" and "Use hourglass" are now options available
        from the '!' screen.

        The savefile filetype is no longer hard-coded and can be
        set/changed in the !Variant obey file.

        When returning to the desktop from full-screen mode, the
        pointer should "stay where it was" rather than jumping to
        a fixed point on the screen.

        Removed a stray . from the Savefile location window... /sheesh/!

        Work around for a problem with IClear that stopped the cursor
        keys working in fullscreen mode.  See the !Help file, etc.


1.18 and 1.19 were interim releases for a couple of variants with most of
the stuff from 1.20



1.17 (18 Jan 1999)
``````````````````
        Fixed a (tiny) bug in the code used to decide whether to
        truncate all filenames to 10 characters or let the OS do it.



1.16 (15 Jan 1999)
``````````````````
        Selecting a submenu from the font menu now selects the
        first entry of its submenu, but only if that menu is a leaf.

        Sound code slightly tweaked to allow 'no new sound' (filename
        "*" in sound/cfg).

        The hourglass is now fixed in place (in the top-right of the
        screen) in full-screen mode.

        Term windows now have horizontal scroll-bars.


1.15 was an interim release for a couple of variants with some of the
stuff from 1.16


1.14 (08 Dec 1998)
``````````````````
        Added some code to cause panic saves to be made to a file
        called !!PANIC!! in the same directory as the savefile.
        This should prevent 'broken' savefiles that get panic saved
        from wiping out characters, IYSWIM.

        Added some code to check that attempts to free memory in the
        game's heap (when using Dynamic Areas) aren't trying to free
        invalid blocks.  Previously this could cause the game to
        vanish without an error message - now you'll at least get
        an error message and an attempt to save the game.

        The hourglass should now be used during long initialisation
        (eg. Zangband 2.2.x) - it seems to have been being forgotten
        before.


1.12 (06 Dec 1998)
``````````````````
        Fixed a bug that could cause crashes upon returning to desktop
        mode after using a small (eg. 8x8) font in a high resolution
        full screen mode.


1.11 (10 Nov 1998)
``````````````````
        Added a check to prevent saves to <wimp$scrap> (eg. from dragging
        a savefile to another application).  This wouldn't work, anyway...

        Fixed the 'lock up until escape is pressed' problem with RISC OS 3.1
        (yet another Obey 0.29 problem...)

        Fixed the Font menu code to work properly if Zap's fonts aren't found.


1.10 (07 Nov 1998)
``````````````````
        It's now possible to have more than one collection of ZapFonts
        in the Fonts menu.  This does mean, however, that you'll need to
        reselect your fonts and resave your choices - sorry.

        Some changes to the way that the game is started (mainly to ease
        maintenance of the !Run file for different variants, etc)

        If you run the game (by double-clicking a savefile or the game
        itself, etc) with Alt held down, the game's Lib.User directory
        will be opened instead of running the game.

        New font: 06x12.CboldPC (ie. Cbold but with IBM graphics
        characters added by me).

        Small tweaks and some "bugs" (ie. odd things - but nothing that
        would cause a crash) fixed.

        !Help file updated and new !RelNote file added.


1.09 (28 Oct 1998) [unreleased]
``````````````````
        Implemented the "Save As" box.

        Added code to cope with systems that generate errors for filenames
        longer than 10 characters (eg. RISC OS 2 or RO3 with "Truncate"
        configured off, etc).

        All code is now RISC OS 2 compatible.  NB: The binaries aren't -
        you need to recompile using GCC or Acorn C rel.4 (etc) for that.
        Mail me for more info.

        Uses 2D templates under RO2, or if the "3D bit" in the CMOS RAM
        is clear under RO3.

        DeMunge obey scripts to cope with (older) SparkPlugs extracting
        "foo.bar" as "foo_bar" rather than "foo/bar".



1.08 (18 Oct 1998)
``````````````````
        If you use Adjust to close the main window the other Terms
        aren't closed.

        Better file-cacheing for variants that use 'random line files'.



1.07 (15 Oct 1998)
``````````````````
        Added some code to turn the hourglass on if the game is
        a long time (over half a second) returning control to the
        player.  (This can be enabled/disabled in the !Run file).
        This is especially useful for Kamband which can have some
        quite long pauses at certain times.

        Better code for finding Zap's fonts.

        Auto-repeat when setting the gamma correction on the ! options
        screen now updates the screen properly (ie. once per step)




1.06 (23 Sep 1998)
``````````````````
        Added sound effect volume option.  Sound on/off and volume is
        now controlled from a window available from the iconbar menu.

        Added '!' front-end options screen.  You can now change the gamma
        correction, sound on/off and sound volume from the game itself
        (via the '!' user menu) as well as using the iconbar menu.

        Added some cacheing for those variants that use files of random
        messages/names.  These files will now be loaded when the game
        starts to avoid (possibly lots of) disc accesses later.  This
        improves Kamband *dramatically* when the "named humanoids" option,
        etc. are on at the expense of a little memory.
        [ This doesn't affect Angband or Sangband ].



1.05 (14 Sep 1998)
``````````````````
        Minor fix: now much smarter about finding Zap's fonts
        (previously if you loaded Angband before a recent version
        of Zap (that'd been seen by the Filer) the fonts wouldn't be
        found at all).

        Nicer handling of shutdown confirmation under RISC OS 3.5+
        (or older machines using the new Wimp).

        Fixed !Angband's !Run (the non-Borg version still had the Borg
        sized wimpslot... Doh!)



1.04 (13 Sep 1998) [first general release]
``````````````````````````````````````````
        Added sound support (very crude I'm afraid)
        (See the AngSound thingy for more details).

        Now complains if Wimp$Scrap is unset at startup
        (If it is then the game could lock up at one of
        the ~ options)

        Now confirms Shutdown (and Quit from the Task manager)

        Added silly '!' screen - this will (hopefully) be
        replaced in the next version with a menu of things
        a menu of .prf files, sound settings, etc.



1.03 (01 Sep 1998) [final? beta]
````````````````````````````````
        Now tries to get a better refresh rate in full-screen mode if
        possible.
        [ another TH request :) ]

        If a font load/cache fails a warning is now reported.  The system
        font is still substituted.
        [ guess who <grin> ]

        The Starter now uses a much smaller window - the old one was too
        big for crowded desktops (such as TH's ;)

        Slight re-organisation of files (!Read1st! is now !Angband.!Help,
        a new !Read1st! is supplied).




1.02 (28 Aug 1998) [beta]
`````````````````````````
        Fixed the font loading if ZapFonts$Path is itself a path reference
        (eg. "ZapFontsSource:") - this would stop the menu working.
        [ thanks TH ]

        Small internal change to the memory allocation function (Zangband
        no longer needs a different function prototype)



1.01 (19 Aug 1998) [beta]
`````````````````````````
        Now uses Dynamic Areas if possible;  helps to speed things up
        under RO3.5 and 3.6

        Terms can now be dragged around the screen by their backgrounds

        Gamma correction can be set from the iccybar menu (and is saved
        in the choices).

        (Much) better handling of colours>15 in full screen mode



1.00 (16 Aug 1998) [beta]
`````````````````````````
        Initial release to beta testers.




Musus Umbra, 1998.