
               RiscOS Solitaire and Colotaire

         Version 5.13,     dated 18th December, 2000
          Sound modules updated 18th November,2002
                    by R.I.D.Macfarlane
                   For the Public Domain

This application demonstrates how a traditional board game
can be transferred into the RiscOS multitasking WIMP
system.  The author has used the application as a vehicle
to explore this system and unique routines for sprite, menu
and incarnation handling are included together with a drag
mechanism featuring pointer/sprite exchange.

A second passive window has been added which displays a
quarter scale snapshot of the window containing the game.
When you want to play the game or return to it, a 'Play'
and 'Small Window' selection is provided on the respective
window's menu.

The program will multi-task with itself or others.  Each
incarnation is given a different ball colour and screen
position initially.  The program continues with the same
game after a mode change, unless the mode changes from a
two colour to a multicolour mode.
                
The HelpPlay file which is available in this folder gives
instructions for playing, menu options and application
messages.

The HelpText file provides messages for ACORN's Interactive
Help application as well as error messages and menu items.

The Soli_Help and Colo_Help files provide a summary of the
rules of the games and how to play them.


INTERNATIONAL LANGUAGES

All text including menu items may be displayed in any
foreign language that is supported by the system's
international module.

All text files are to be found in folders named as the
country whose language they are written in.  Any text files
that are missing from a folder will be loaded in from the
default (English) folder.

If you wish to create another folder, use the same name for
the directory as given by the *Country command.  The text
files are in free format, except "HelpText".  This file
comprises strings of text that are separated by the code
&0d, Return and incrementing line numbers.  The program
finds the right string by counting down the number of
'Return' codes and checking against the embedded line
numbers, so that it is important that these are all
retained in the correct positions.

The two characters "|M" can be used to start newlines
within a string of text for display by the Interactive
Application.  However only the first part will be displayed
in the error message box.  Note that there are only four
lines of text which are displayed by the application.

Use the !Edit application; at the start, choose the CR<->LF
option in the edit submenu to make the job easier, but
remember to reset this option at the end of the edit,
before saving the file.


APPLICATION ENVIRONMENT

The application is RiscOS compatible.  If the monitor in
use is monochrome, it is suggested that a two colour mode
is chosen for display, since it is otherwise difficult to
distinguish colours in the Colotaire game.  Special sprites
have been constructed for the 2 colour modes and will be
loaded automatically.

The original program was designed to use the ColourTrans
module in order to plot scaled sprites and change the
pointer to a ball during a drag function.  !Run looks for
this module in the  directory, '<System$Path>.Modules'. The
system variable, System$Path, is setup when !System is
first seen.  Since this is not always available, the
program has been altered to run satisfactorally, but a
little differently, without the module.

The modules, 'HOLED' and 'BELL', written by Gordon J. Key,
from the excellent golf program 'HoledOut' [ Published by
the 4th Dimension ] have been added to the application's
directory to provide interesting sound effects.  These are
supplied with the permission of the owner of the copyright,
to whom the author expresses his thanks.  They have been
converted to be 26/32 bit neutral for use with RISC OS 5.

The default sound voice 'StringLib-Hard' is used to
indicate user errors.  If absent, the current bell voice
will be used.

The application attempts to make the sound facilities
multi-user friendly, by removing channel assignments and
voices at the end of use.  The sound menu selection will
also attempt to reload any voices and reselect any channels
that may have become deselected by other applications.


VERSION HISTORY

1.00   12-Jul-1990
1.01   24-Jul-1990  ShowColour ball bug corrected.
                    'Colour$' is initialised on NewBoard
                    request.  
2.00   21-Oct-1990  Second passive, quarterscale window
2.01   22-Oct-1990  Solution select: channel error is
                    detected
2.02    1-Nov-1990  Both windows can be on-screen and
                    updated together
2.03    2-Nov-1990  Small window's menu is shortened
                    The module 'HOLED' is added for sound
                    effects.
2.04    4-Nov-1990  The pointer's flashing rate is related
                    to the type of function that is
                    currently being used.            
2.05   10-Nov-1990  Error message hang up/out of room bug
                    corrected.
                    Congratulations message is extended.
2.06   26-Nov-1990  Adjust selection keeps menu displayed.
3.00   27-Dec-1990  Sound functions added.
4.00    7-Jan-1991  Standard routines to library.
4.01   22-Jan-1991  *LIB definition removed to !Run file.
4.02   30-Jan-1991  *RMEnsure StringLib removed to !Run.
4.03   15-Feb-1991  Escape from 'Help' corrected.
                    'Select' menu has been improved.
4.04   16-Feb-1991  Switching between windows when flashing
                    has been corrected.
4.05    1-Mar-1991  "Continue" option removed from menus.
4.06   12-Mar-1991  Response to shutdown is corrected.
4.07   21-Mar-1991  *LIB removed: ADSF only function. 
4.08-  31-Mar-1991  Interactive help is now available 
  4.15              All Text can be displayed in a foreign
                    language.  
5.00   07-Apr-1991  International text release
5.01   12-Apr-1991  'No file load possible' error fixed
5.02   28-Apr-1991  'Help'files loaded into window of owner 
                    of Alias$@RunType_FFF if available
5.03   09-May-1991  Error & message reporting separated.
5.04   06-Jul-1991  'About' window contents are dynamic.
5.05   16-Jul-1991  'HelpText' file now uses line numbers.
5.06   17-Jul-1991  Sound selection bug removed.
5.07   27-Aug-1991  German text revised.
5.08   09-Sep-1991  German text revised.
5.09   22-Sep-1991  Interactive help quit is now detected.
5.10   24-Sep-1991  Source code squeezed for space.
                    Application now runs in 64K WIMP slot.
5.11   09-Oct-1991  Ending of error message corrected.
5.12   20-Apr-1995  Country error [RiscOS 3+] fixed
                    Error reporting for RiscOS 3.5+
5.13   18-Dec-2000  Playback error corrected.  Drop back
                    in same hole for Ghost/Blind corrected
                    !Sprites22 file added
       18-Nov-2002  Sound modules converted.             

Note that this version is (probably) the last to support
Acorn Archimedes computer systems based on RiscOS versions
2.0 to 3.50.  Use a later version of Solitaire if you have
a later version of RiscOS and want to be able to use its
extended facilities.


SOFTWARE OWNERSHIP  &  TERMS OF USE

With the exception of the modules 'HOLED' & 'BELL'
mentioned above, the application has been written solely by
the author, R.I.D.Macfarlane, for the Public Domain.  This
means that you can copy the application and its files, but
no part of it can be copied for commercial purposes or
charged for or included on a disk for which a charge is
being made.  The application must not be changed, with the
exception of the !Boot and !Run files.

This readme file must always accompany the application.
The application must not be uploaded to a bulletin board.
These copying rights may be withdrawn if they are found to
be being misused.