home *** CD-ROM | disk | FTP | other *** search
- <============================================================================
- 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.
-