home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 3
/
PDCD_3.iso
/
utilities
/
utilsf
/
hourmake
/
!HourMake
/
!Help
next >
Wrap
Text File
|
1992-12-01
|
7KB
|
177 lines
HourMake 0.13 (26-Nov-1992)
===========================
© Jon Ribbens and DoggySoft, 1992
This program is PUBLIC DOMAIN; this means you can copy it around as much as
you like as long as you don't make any money out of and you include all the
files.
This program is the logical next step from my previous program, 'Hourglass',
which redefined the hourglass to be a nice wood-and-sand one with a
percentage bar up the side. 'Hourglass' is my most successful program to
date, in that (as far as I know) the most people use it and I've actually
received two LETTERS about it! (Cor! Paper and ink!)
HourMake should be reasonably easy to use. After loading, click on the
iconbar icon to open the setup window. There are three main things that
hourglasses 'do' - the animation, the percentange indicator and the LEDs.
HourMake lets you define all of these, partly through sprite files and partly
through the setup window.
The first section in the setup window is the 'Sprite files' section. You can
specify a list of sprite files, with commas between each filename. If you
drag a sprite file to the icon, it will be added to the list, unless you are
pressing SHIFT, in which case it replaces the list. When you click 'Create'
later, all the sprite files will be merged together in memory before they
are processed.
The sprites needed are:
'hour1','hour2'... the hourglass animations
they must all be the same size
'percent1','percent2'... the percentage indicator animations (optional)
they must all be the same size
'led1','led2'... the LEDs (optional)
they must be the same size as 'hour1'
Remember that the entire hourglass has a maximum size of 32x32 pixels. The
sprites should be in mode 1 (low resolution) or mode 8 (high resolution).
Note that mode 1 sprites will look thin in high resolution modes and mode 8
sprites will look fat in low resolution modes (sorry, but there's not much I
can do about it).
The palette for the hourglass is taken from 'hour1'. If it has no palette
then the palette is not altered - ie. the hourglass will be displayed in
whatever the current mouse colours are when Hourglass_On is called.
The second section, 'Animation', allows you to setup the type of animation
your hourglass will have. 'None' means the hourglass won't change, 'Cycle'
means it will continually change from first to last sprite in order, and
'Yo-yo' means it will go from first to last and then back again.
'Frame delay' specifies the time delay between each frame of the animation.
The minimum is about 10cs, and the maximum is 99cs. 'End delay' specifies the
pause at the end of each run through the animation - ie. after the last frame
is shown in 'Cycle', and after the first or last frame is shown in 'Yo-yo'.
The third section, 'Percentage', allows you to define what sort of percentage
indicator your hourglass has:
'None'
Hourglass_Percentage calls will be ignored.
'Bar'
You must have defined two sprites, 'percent1' and 'percent2', as empty
and full bars respectively. HourMake will then automatically animate the
bar for you - eg. if the percentage is at 50% then the top half of the
bar will be shown from 'percent1', and the bottom half from 'percent2'.
The bar can be on the left or right of the hourglass.
'Animation'
You must have defined at least two sprites, 'percent1', 'percent2'...
If the percentage is set to n% then the sprite n% of the way through the
list will be displayed. The animation can be on the left or right, or
above or below the hourglass.
'Numerals'
You must have defined 10 or 11 sprites, 'percent1', 'percent2'...
Sprites 1-9 are the digits 1-9, sprite 10 is 0, and sprite 11 (if
present) is a percent symbol. The percentage will be displayed as a
decimal number above or below the hourglass.
The last section contains a couple of miscellaneous options. 'Name' allows
you to enter your name to be included in the module. The message 'The sprites
for this hourglass were designed by <name>.' will be included in the
'*Help Hourglass' display.
Custom LEDs are specified entirely from a sprite file. You need sprites
'led1', 'led2', etc. You can have up to 8 LEDs (although no existing software
will use any above 2). To define an LED, copy your 'hour1' sprite to 'led<x>'
(substitute the LED number for <x>) and alter it to include the LED. HourMake
will work out what's changed between 'hour1' and 'led<x>' and store this
information as the LED data.
Once you have set up all the options, click 'Create'. There will be a pause
of a few seconds while the sprites are converted and the module is created.
A save box will then appear for you to save your module.
The new hourglass module provides two extra *Commands:
*Hourglass [ON|OFF|SMASH|<percentage>]
*Mode [<mode>]
It also provides the SWI 'Hourglass_Colours' which is recognised by
RISC OS 3. This SWI allows you to temporarily change the palette of the
hourglass. It won't do anything on this version of HourMake as I haven't
worked out what the parameters are yet. (Not having RO3 doesn't help).
Just in case you don't have the PRMs, here's what the SWIs do:
SWI Hourglass_On &406C0
-------------------------------
Calls Hourglass_Start with R0 set to 33.
SWI Hourglass_Off &406C1
-------------------------------
Decrements the count of the number of times the hourglass has been switched
on. If the count reaches zero then the hourglass is turned off.
SWI Hourglass_Smash &406C2
-------------------------------
Turns the hourglass off immediately (zeros the 'on count').
SWI Hourglass_Start &406C3
-------------------------------
R0 = Delay in centiseconds
Sets the hourglass to be turned on after the specified delay. If you specify
a delay of zero and the hourglass is currently off then it will be disabled
until the matching Hourglass_Off to the call or an Hourglass_Smash.
SWI Hourglass_Percentage &406C4
-------------------------------
R0 = Percentage (0-99) otherwise turn off percentage display
Sets the percentage indicator to the specified value if it's in the range
0-99, otherwise turns off the percentage indicator.
SWI Hourglass_LEDs &406C5
-------------------------------
R0 = Bit mask
R1 = EOR word
Exit:
R0 = Old value of LEDs status
The LEDs control word is altered as follows:
New value = (Old value AND R1) EOR R0
The old value is returned in R0.
SWI Hourglass_Colours &406C6
-------------------------------
I'm not entirely sure...
Changes the colour of the hourglass, anyway.
Not supported by HourMake (does nothing).
Any information, cash, letters, luxury yachts, etc. to:
Jon Ribbens
39 Nutkins Way
Chesham
Bucks.
HP5 2BE
I can also be contacted through Arcade BBS. (It may take a while as I don't
have a modem, but I know a man who does.)