                             History of !PlaceIt
                             -------------------

1.00  First version only given to friends to test and play with

1.01  Bug fixes:
      Stopped flicker of screen when clicked on background

      Worked out whether to send DataLoad or DataSave message at end of drag
      operation

1.02  Bug fix:
      Decided not to complain if application didn't reply to DataLoad message
      as doesn't bother us anyway, and only resulted in unwanted error

1.03  Enhancements:
      Made some improvement to reduce the amount of flicker when removing
      icons and dragging them about the backdrop

      Stopped icons having filled backgrounds. This allows the icons to be put
      closer together without obscuring each other
      Thanks to Merlin Hughes for his comments

1.03a Bug fix:
      Background window was one pixel too small in both dimensions. This was
      pointed out by Roger Wilson and thanks goes to him

1.04  Bug fix:
      Bug associated with icon selected by menu. Thanks to Michael (no
      surname) for pointing this out. Why do I seem to be thanking so many
      people these days?

1.05  New features:
      Open viewer(s) and the directory changer. Because of these additions I
      have had to change the config file format. A program is included in the
      directory to update the configuration files, which is automatically run
      by !PlaceIt if need be
      See the !Help file for descriptions of the new features

1.05a Bug fixes:
      Incorrectly informed an application what the filetype of a file was.
      This bug was a consequence of the additions made to 1.05

1.06  Bug fixes:
      A few minor ones

      New feature:
      Restore backdrop menu entry
      Thanks to Howard for his idea of the restore backdrop menu entry

1.07  Bug fixes:
      Made menu stay open if clicked over greyed menu option.
      It used to crash if one restored the backdrop when there were no
      sprites on the backdrop.
      These bugs were reported by Slaine

      New feature:
      Locked option

1.08  Bug fix:
      When sent a dataload message I forgot to change the message type and
      replied with a dataload message. The filer didn't notice that this
      happened but Sticky did. Apologies to Brian for thinking the fault was
      in Sticky

1.09  Enhancement:
      Put most of the messages and all the menu entries of Place It in a
      message file (thanks to Ran Mokady of Acorn for explaining how the
      swis of the MessageTrans module work) for easier translation into a
      foreign language. The only messages that are not in the message file are
      the messages that occur before the message file has been opened (for
      example Not enough memory to load the message file). Would anyone
      translating the file into a foreign language send me a copy (see the
      !Help file for the address)

 1.10 Bug fixes:
      If the config file does not exist, the default states were not shown on
      the menus and not reset when the background was restored

      If the mode was changed into a one with more pixels that the mode in
      which Place It was run, then the background window was not expanded
      accordingly

      Enhancement:
      Changed a few of the error messages slightly and put the name of the
      directory changer icon into the message file

      New feature:
      The facility to display a centred or tiled sprite behind the icons. The
      config file format has again been updated

 1.11 Bug fixes:
      When a centred sprite was removed from the background some of it was
      left behind. A slightly larger area is redrawn so that all the sprite
      is removed

      If there was no sprite on the backdrop when the background type was
      changed (ie centred or tiled) then Place It used to crash

      Enhancements:
      Changed the format of this document so that it has bug fixes, new
      features and enhancements sections

      Now explicitly does *IconSprites !Sprites instead of calling
      Wimp_SpriteOp to merge !Sprites into the Wimp pool. The reason for this
      is that Roger Wilson (who supplied the code, not that I couldn't have
      written it as the changes were only minor (Roger agrees here), but it
      did save me the time and allow me to name drop a bit more) has made
      IconSprites look for !Sprites22 or 23 files on his machine and use
      those instead to allow the sprites to have higher resolution

      Improved the memory handling so that when the last block in the heap is
      removed, the wimp slot is shrunk if possible. Also if a sprite which
      required Place It to grab more than one page was loaded, but not enough
      memory was available any pages grabbed were not released, these are now
      returned to the wimp

      Changed the menu structure to shorten the length of the main menu. The
      menu is now based upon the filer menu. Open viewer(s) has been changed
      to open parent(s) to be more like the filer

      Changed the source of Updater to make it easier for me to change the
      config file format

      The error box warning you that you are about to remove the changer no
      longer appears if the changer was the only icon selected. In the case
      the File/Dir./App./Selection menu entry says Changer. It is no longer
      possible to select open viewer (open parent as it now is) when only the
      changer icon is selected, an error occurred when you tried to do this
      anyway

      Improved the background sprite handling so that fewer gaps appear. With
      my monitor (I have no hi-res or multisync) gaps only appear when
      displaying sprites defined in mode 12 or equivalent with an odd width
      in mode 2. So I guess problems occur when the resolution is quartered.
      But no one really uses these modes in practice for the desktop so all
      should be fine

      New features:
      The foreground and background colours of the text may be changed to any
      of the 16 desktop colours. This has meant that the config file format
      has been updated again

      Now supports interactive help

1.12  Bug fixes:
      Very peculiar things happened when the load background or info windows
      were dragged over the iconbar. If you have an old version have a look

      On multisync and high resolution monitors there used to be a gap of one
      pixel between the iconbar and the bottom of the window

      Changes:
      Uses a template file instead of embedding the window definitions within
      the code. This was done to allow me to add more windows easily as
      creating the data blocks by hand is an arduous task to say the least

      Updated the directory structure considerably. The config and background
      files will be automatically renamed when you run Place It to put them
      in their new locations

      Has been innoculated against the Archie and Extend Viruses

      New features:
      Several backdrops may be examined without reopening the load backdrop
      window by selecting the stay open button. See the !Help file for more
      details

      Simon Huntington's inferface module is used to improve the look of the
      program. This module is thoroughly recommended

2.00  Bug fixes:
      Fixed minor bug to do with running out of memory during start up

      Changes:
      The version and date in the info window are set by the application
      during start up instead of being hardwired into the template

      Removed any references to my now defunct email address

      Defined all menus (by calling MessageTrans_MakeMenus) during
      initialisation rather than when menu was clicked. This makes Place It
      more responsive. While doing this I also made the
      file/app/dir/selection menu have the title Changer if only the Changer
      icon is selected (it used to be Directory)

      Enhancements:
      Speeded up the sprite plotting where possible. This is most noticeable
      if the sprite has the current palette and so no colour mapping is
      required

      New features:
      Added selection of sprites by dragging an area

      Added the support for extension modules to Place It (this is a MAJOR
      upgrade and took several weeks)

      Wrote two modules; swimmer and clock

2.01  Bug fix:
      Was problem with adding the directory changer to a backdrop

2.02  Cosmetic changes:
      Removed the space before the ... on the menu entries which opened up
      windows
      Swapped the Use new and Cancel icons arounds so that cancel is on the
      right

      Enhancements:
      The hourglass is turned on during start up

2.03  Bug fix:
      Used to crash whenever one clicked 'menu' over the info window. Thanks
      very much Jeremy (honestly)

2.04  Bug fixes:
      Problems with registered icons. These fixes were provided by Denis Howe
      (thanks very much)

      Used to crash if !Help was run and the pointer over the info window
      (thanks again to Denis)

2.05 Bug fix:
     When trying to remove registered icons that could not be removed (eg the
     clock) the icon was unselected in the internal data structure but left
     selected on the screen

2.06 Bug fix:
     If we get sent a message for window which does not belong to Place It or
     one of its extension modules we crashed. In fact this should never
     happen but it does due to Alex Hopkins' *CRAP* programming in !Address
     where he broadcasts the dataload acknowledge message as opposed to
     replying to the sender. If you are reading Alex the mask to pass to
     Wimp_Poll is not stored in the first word of the block pointed to by r1
     but passed in r0. Also you *must* not shorten the length of the dataload
     acknowledge message to 20 (stored in r1!0) incase the recieving
     application wants to use the data towards the end of the message

2.07 Enhancement for RISCOS 3:
     When the desktop boot file is create by the task manager Place It
     registers its startup command.  I could have included help on menu
     entries as well but I think Place It is simple enough to use without
     this feature.  If anyone thinks this feature would be worth implementing
     let me know
