IMPORTANT NOTES BELOW
- = PLEASE READ = - = PLEASE READ = - = PLEASE READ = -
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
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.
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
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.
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
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.
All the comments begin with hash-mark ["#"]
You will find two in current release, these are:
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.
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!
speed of Your animation. 8 is a good idea for most machines.
Comments shall be preceeded with hash-mark ["#"]
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
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:
ul. Katowicka 23/4
44-335 Jastrzebie Zdroj
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
-. 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!
-. Delayed submenu opening
-. Submenu marker
-. Fixed several bugs
-. Introduced graphics markers in menus
-. Completely changed the input handling method
-. Fixed RMB button behavior
-. Fixed several smaller bugs
-. Introduced menu routines
-. Fixed bug with birdie
-. Many smaller or bigger bugfixes
-. Initial release