Binary Sprite Wizard v3.83
TI-82, TI-83, TI-83+ Basic
(C) 1999-2000
Kevtiva Interactive

Introduction:
-------------
The Binary Sprite Wizard is an easy to use, graphical way of creating and
compressing binary sprites in basic. The Binary Sprite Wizard is the easiest,
fastest, and smallest way to create small graphics in Basic. Although this
technique isn't as fast as just using pxl-On, pxl-Off, it saves a lot of
memory, and it is much easier to use. It takes about 2 sec. to draw a graphic,
whereas using pxl-On would take less than one second. Due to this limitation,
it might not be fast enough for some games :-(  But it is fast enough for
most programs (I hope!!) The reason it is slower is because the data is
compressed. (it takes up less memory!)
Besides sprites, you can use this to create any kind of basic graphics.
For more information, visit
http://spleenworks.homestead.com/wizard.html

Instructions:
-------------

Send Wizard.83g to your calculator.  Create a sprite on the graph, and run
prgmWIZARD.  Follow the easy online directions, and you will soon have a
sprite. The + is the cursor. Note: help is not available on some screens.
prgmWIZ and prgmWIZARD are both needed!! Please note that in some instances
the sprite is stored to Str5, and other times to lWIZ.  The wizard will tell
you what is going on. For convenience, each time a sprite is stored to list
wiz, it is added on, so sprites will never get deleted, and each element in
the list contains a sprite (except the first one). So once you have been
working with the Wizard for a while, all of your sprites are stored to list
WIZ. But also note, that each time a sprite is written to Str5, it erases
the previous sprite stored to Str5. So if you have used Str5, edit your
program and Rcl Str5, so it doesn't get erased. You should have 1K free of
memory before you run the wizard.


                             *    *    *    *
                             
     Please visit this website for more info before reading this section:

                http://spleenworks.homestead.com/wizard.html

There is also a new way of sprite loading that is .3 seconds faster per sprite
which is quite good.  What it does is uses decompressed data (decompressed
to a list) and then uses that; this lets it go a little faster. This will
make your program load slower, but gameplay (and map loading time) will be
much faster.

Here's how to use this technology:

1)Create your sprite as normal, using the Binary Sprite Wizard.
2)Put this compressed sprite data (like the number 6391) in your program as
normal. Also be sure to keep the dimensions of the sprite.
3)But now, instead of using prgmPUT7UP, store the sprite data to A as a real
number, and have your program run prgmDECSPRTE, which converts it to a binary
list.
4)Now, use L1->SPRITENAME to save your sprite for future reference.
5)When you want to use the sprite, do SPRITENAME->L1, recall the dimensions
to V and W, store the coordinates to X and Y, and run prgmPUTSP.
6)Be sure to delete all unneeded variables at the end of your program.

The following files are needed for this new method:

WIZ
WIZARD
DECSPRTE
PUTSP

These 2 files are only demos and are not needed:

PUTNEW - the new method
PUTOLD - the old method.

The following files are needed for the old method:

WIZ
WIZARD
PUT7UP

                             *    *    *    *


Wizard deletes Pic Sx if it exists on your calc. Please note this.

To get the exact version of Binary Sprite Wizard, quit the program and
type 'Ans' and press Enter. The program will return the exact version, i.e.,
3.833 compared to 3.83.

Some information on sprites:
----------------------------

Use internal sprites if you will keep the data stored inside of your program;
see Internal.83p for an example.
Use external sprites if you will store the data to a list outside of your
program; see external.83g.

Your sprite should be 7*7, but it can be 6*8, 5*9, etc.
It is also possible to make larger sprites, but they won't always work.

Only prgmWIZ,WIZARD,and PUT7UP are needed. The rest are examples.

To see how to put your sprite on the graph, view one of the demos.
The Binary Sprite Wizard can also just be used for creating any kind of basic
graphics; you could use it in games, or just make everyday programs more
graphical; ICONS-Yes, someone could use this technology for icons, you could
store a list full of sprites to lICON, and then a GUI could draw them; the
possiblities for this program are endless....

PROGRAM:PUT7UP
--------------
This program puts a sprite on the graph with the following variables as input:

V:W:ROW*COL (dimensions of your sprite)
X:Y:POSITION (X is between 0,94 Y is between 0,62)
Theta:::BINARYDATA (Theta is the sprite data)
U:Z:TEMPVARS (these are used by PUT7UP, so your program can't use them.)

PUT7UP destroys U,Z, and S, so your program may only use them as temporary
storage space.

PUT7UP 'and's the sprite with the graph, so you must clear the area before
drawing the sprite!!

Changes since v1.83:
--------------------

	-Improved sprite creation.
        -Serious bugs fixed in the sprite creation (prgmWIZ, prgmWIZARD);
	these bugs caused the sprite sometimes to become distorted.
	-No longer destroys Theta; destroys S instead.
	-No change in program size.

Changes since v2.83:
--------------------

	-Minor bug fixes and improvements.
        -New way of loading/decompressing sprites.
        -v3.83 released June 1, 2000 at Spleenworks.

Changes in future versions:
---------------------------

	-Hopefully faster.
	-up to 10*10 sprites!

Credits:
--------

Robert Maresh-The Binary Sprite Wizard and PUT7UP
Chris Dietz-For Pic40

Kevtiva:
--------
http://calc.kevtiva.com/
kevtiva@netzero.net

http://spleenworks.homestead.com/wizard.html
