IMPORTANT NOTES BELOW
     - = PLEASE READ = - = PLEASE READ = - = PLEASE READ = -
                          INTRODUCTION:
So many things have changed, so  many  wonderful  improvements...
uhh  I  am so happy being able to present You my latest invention
that I don't know what to start with... You have to  see  it  for
yourselves!
Fifth release so far! Fifth..? yes, but  first  THAT  nice  :)  I
believe  that mostly gfx-card and/or faster machine users will be
happy seing this what I see on my screen at  the  moment..  well,
the improvements work also pretty nice on slower machines, so You
better check out what You can do :)
Few weeks ago I received a mail from spiral user, who felt a  bit
disappointed, since he thought it will at least place an animated
spiral on screenbar.  Well,  then...  if  You  want  an  animated
spiral, this shall not be a problem now! Just to prove it: I just
watch  an  animated  "waterfall"  on  my  screenbar..  it  really
impresses  me  8D.  now  it  is  YOUR turn to take care of spiral
development! I will of course send updates, but I WANT TO SEE YOU
writing at least -one- plugin for it! not really much, is it!?
Another step forward is the configuration file. I decided to skip
the  obsolete  and  a  bit  inflexible way and switched to config
file. this shall be easier for You and me. Please take a look  at
example configuration file to see what it can do.
                         CONFIGURATION:
there is an easy and flexible way to configure  spiral.  All  You
need is just an editor and patience. Configuration file uses some
keywords which will  be  now  introduced.  Spiral  picks  default
configuration from "ENV:Spiral.config" directory
1. SCREEN
This is the most important keyword in config  file.  spiral  will
not  work  if  this  one is not present. it is the name of public
screen which will be patched.
2. BARROUTINE
This specified a path to plugin [library] which will be  used  to
render  all those beauties You will see on Your screenbar. If not
present or equals to "pattern", a simple pattern filling  routine
will be used
3. MENUROUTINE
It is nearly same as barroutine, the difference  is:  it  is  not
really  supported,  yet.  You  may  either  skip  it or set it to
pattern. All other things will be ignored.
4. BARPATTERN, MENUPATTERN
if 2) and 3) are set to pattern [or omitted], these two point  to
imges which will be used to fill barlayer and menus respectively
5. AMIGA, LOGO, CHECKMARK0, CHECKMARK1, RADIO0, RADIO1, SUBMENU
these seven keywords  shall  be  followed  with  path  to  images
representing  a given thing. Amiga is an Amiga key image, Logo is
a screenbar logo a. s. o.. Soon I will probably introduce anims.
6. EXTRAWIDTH, EXTRAHEIGHT
these are used for menu rendering and represent extra  width  and
extra height respectively for each menu item
7. LEFTOFFSET, IMAGEOFFSET
here  You   can   specify   offset   between   left   frame   and
text/checkimage  and  between optional checkimage and menu title.
Experiment to see what it does exactly.
8. Comments
All the comments begin with hash-mark ["#"]
                            PLUGINS:
You will find two in current release, these are:
1. aga_waterfall.spiral
2. aga_fire.spiral
both were designed for AGA only machines [sorry, I am too poor to
buy myself gfxboard]. Both eat config files:
1. ENV:Spiral/AGA_Waterfall.config for waterfall
2. ENV:Spiral/AGA_Fire.config for fire.
please, don't blame me that something doesn't look exactly as  it
should.  My demo coding skills aren't THAT impressive ;) But back
to topic. Since both  config  files  look  same,  I  won't  write
separate docs about each. So.
1. COLOUR
this is a colour definition.  The  more  times  it  appears,  the
better  results  You  may get, but also, I don't think this would
have sense to define more than 8  colours.  "COLOUR"  has  to  be
followed  by  a single number which represents pen number. Please
note that pen declaration order is important!
2. SPEED
speed of Your animation. 8 is a good idea for most machines.
2. Comments
Comments shall be preceeded with hash-mark ["#"]
                     DEVELOPER INFORMATION:
if You are interested in writing plugin for spiral, the rules are
very  easy. Each plugin is a, uhm, library. Why library? well, it
is the most commonly used plugin file in Amiga OS thus I think it
is  not  a  bad  idea.  Moreover, libraries are supported by most
Amiga compilers... but back to  topic.  Spiral  uses  only  three
functions of each library:
1. Function  at  -30(A6) is an init code. Arguments are passed in
   -. A0 (rastport)
   -. D0 (width)
   -. D1 (height)
Your plugin has to make entire initialization here [well,  unless
it is not done in library startup code ;)]. It's really suggested
that You do allocations and parsing here. Result of Your function
is  a  delay which will occur between each Render() calls. if You
return 0, your render routine will be called only  once,  at  the
beginning.
2. Function at -36(A6) is the rendering routine. Argumens  passed
are  exactly same as for Init function (that is: A0 for rastport,
D0  for  width  and  D1  for  height).  You  shall  do  all  Your
calculations here and blit the results to given rastport.
3. Function at -42(A6) is an exit routine. it does  not  get  any
parameters at all
Each spiral plugin is recognized by so-called  magic  value.  the
magic  value  is  located  right  after  library base, that is at
offset 34(A6). You shall place a long 'SPRL' there  so  that  the
program  knows  it  is  a  plugin. Of course, You should do it in
libinit code, before OpenLibrary() returns.
                       PLEASE DO REGISTER
I have noticed really small interest in spiral from Your side. It
means  that  either  I am one of the very few Amiga users on this
world, or You are too lazy to send me at least "greetings"...  if
it keeps going that way [I haven't received even a floppy so far]
I will stop the development..
the status hasn't changed so far.  It's  still  audioware  and  I
really hope that You will support software development this cheap
way. CDRs and floppies are cheap even here although their  prices
grow  up  slowly  ;).  for  shorter files like chip mods etc even
email attachment would be appreciated, but please, not  too  much
hehehe :) I still believe that there are at least SOME people who
would send me their feedback.. My address:
   Tomasz Wiszkowski
   ul. Katowicka 23/4
   44-335 Jastrzebie Zdroj
   POLAND
                             THANKS:
I'd like to thank the following persons:
- Steven  Croy     - the  only  man  who  discovered  betatesting
                     abilities in himself so far ;) Thanks!
- Martin Kuchinka  - for great mails, support and frienship :)
- Thomas Richter   - for ideas, clues and help
- all the persons who mailed me about spiral
- all the artists making music on this world
          ©2001 Tomasz Wiszkowski / Bla Bla Productions
History:
   1.0a
   -. Finally done the menu checking (haven't thought this will be so easy)
   -. Fixed a bug causing mutual exclusive menus being displayed as checkable
   -. Introduced configuration file
   -. Menus and barlayer may use different patterns now
   -. Fixed bug with birdie
   -. PLUGIN support for bar layer!
   0.31a
   -. Delayed submenu opening
   -. Submenu marker
   -. Fixed several bugs
   0.3a
   -. Introduced graphics markers in menus
   -. Completely changed the input handling method
   -. Fixed RMB button behavior
   -. Fixed several smaller bugs
   0.2a
   -. Introduced menu routines
   -. Fixed bug with birdie
   -. Many smaller or bigger bugfixes
   0.1a
   -. Initial release
 |