home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Kosovo Orphans' Appeal Charity CD
/
KosovoOrphansAppeal.iso
/
archimedesworld_cd2
/
utilities
/
_addsprite
/
addhelp
< prev
next >
Wrap
Text File
|
1995-07-19
|
5KB
|
106 lines
<============================================================================
A D D S P R I T E S
Version 0.05, 20 May 1995
⌐ Andrew Clover of DoggySoft
============================================================================>
==> What's it all about?
If you have designed your own sprites, or use a desktop new-look program
such as NewLook, DeskPatch, or our own NewerLook, you will no doubt be
annoyed when an application replaces your lovely 3D, high-resolution icons
with its own poor-looking 2D blocky nasty ones. This happens a lot with
shared filetypes like drawfiles, and badly-behaved applications which place
new option icons, arrow icons and such in the WIMP pool.
You will also be concerned, if you don't have lots of memory, at all the
memory those small icons will be taking up, if you only use large icons,
and so don't need them.
You may even get annoyed when applications use their own private sprites for
window furniture (option, radio, arrow and gright) instead of the nice ones
you've loaded into your WIMP pool. This is getting more and more of a problem
as applications designers think it's a good idea to build NewLook icons into
the application, which is bad (especially if you don't use NewLook).
This module fixes these problems. It intercepts the OS_SpriteOp "merge
sprites file" call, and alters the action of the SWI action to disallow small
icons, and to make sure new icons do not replace old ones. But it must know
that the pool involved is indeed the WIMP sprite pool, otherwise it would
change all sprite merges, which could cause undesired effects. So you must
mark the WIMP sprite pool with a sprite called "ëwimppoolmeê", *IconSpritesed
with your main sprite file or separately, probably through your !Boot system,
if you have one. If you use NewerLook, you need not worry - that does
everything for you.
AddSprites forces applications to use WIMP sprites for window furniture by
intercepting the OS_SpriteOp "plot sprite" call, and replacing it with a call
to Wimp_SpriteOp as long as the following case applies: the sprite being
plotted must be the same size (in OS units, not necessarily pixels) as its
counterpart in the Wimp pool, and its name is one of the special names (which
are the opts, the radios, the arrows and the grights). So that AddSprites
doesn't get into an infinite loop changing OS_SpriteOps to Wimp_SpriteOps,
you do need the "ëwimppoolmeê" in the WIMP pool again.
Of course, you might occasionally want *IconSprites to work as normal,
when some sprites need to be replaced, without having to kill the module.
AddSprites deactivates itself when the system variable <AddSprites$Control>
is set to "Off". So, to disable AddSprites, press F12 and type (or include in
an obey file):
*Set AddSprites$Control Off
And to turn it back on:
*Set AddSprites$Control On [actually, anything other than "Off" will do]
Also, you might use IconDir or Menon, and thus need small icons anyway. To
do this, use the AddSprites$Small variable:
*Set AddSprites$Small [On|Off|Filer]
The three settings mean: On - small sprites are always added (this is the
setting you want if you use IconDir or Menon); Off - small sprites are never
added to the WIMP sprite pool; Filer - small sprites are added to the WIMP
pool only if the Filer is set to display them. If the variable is not set
to any of these, the default, Filer, is chosen. Note that newer versions of
IconDir automatically set AddSprites$Small to On.
You can also disable the WIMP-forcing feature by setting the system variable
<AddSprites$ForceWimp> to "Off".
Oh, one last NB: this module only protects sprites loaded into the RAM WIMP
pool. It won't protect ROM-based sprites. Sorry.
That's about it really. Enjoy!
==> History
0.01 : Stops replacement of existing WIMP sprites. Not publically released.
0.02 : Now includes <AddSprites$Control> variable to allow module to be
temporarily disabled. Included with NewerLook release 1.00.
0.03 : Stops small icons from being added if the Filer is configured to
'large icons'. Not publically released.
0.04 : Now allows the adding of small icons to be controlled with another
variable. Released separately and with NewerLook releases 1.01 to
2.01.
0.05 : Now intercepts OS_SpriteOp sprite plots in order to make sure certain
standard sprites are plotted from the WIMP pool. Released separately
and with NewerLook release 2.02 and later.
==> Contacts
To contact me, for praise, to suggest new bits to add, or, heaven forbid,
to report a bug, please write to:
7 Blackhorse Crescent,
Amersham,
Bucks.,
HP6 6HP.
You can phone me on 01494-431916, send a fax on 01494-675878, send me some
email as ajc@doggysft.demon.co.uk or even telex on 83675 Brit G.