'Sprite Shareware Documentation Version 2.0
'Revised 4/29/97


SPRITE 2.0 is shareware. This means that you can try it before 
you buy it. SPRITE is fully functional except that only partial 
sprite files can be saved. This does not effect using the 
program. Images can still be saved and used by your Qbasic(r) 
programs.

SPRITE has an evaluation period of 15 Days. Should you
find SPRITE useful beyond the evaluation period I ask that
you please register the program. See "Registering SPRITE" below.  

Thanks for supporting the shareware idea.


-------------
Distribution
-------------
 The shareware version of SPRITE may be freely distributed 
 providing no changes are made to the program or its support 
 files. The Shareware version of SPRITE should have the 
 accompanying files:
 
 SWSPV.EXE     - The shareware Sprite program.
 ASCII.SPR     - Sample sprite file.
 CAR.SPR       - Ditto
 CATAPIL1.SPR  - Ditto
 CHAR1.SPR     - Ditto
 CREAPYI.SPR   - Ditto
 EXAMPLES.SPR  - Ditto
 SQEETER.SPR   - Ditto
 TILE1.SPR     - Ditto
 TILE2.SPR     - Ditto
 NUMS1.SPR     - Ditto
 SQEETER.PCX   - Sample PCX file
 ANIMATE1.BAS  - Qbasic(r) example program.  
 ANIMATE2.BAS  - Ditto
 ANIMATE3.BAS  - Ditto
 ANIMATE4.BAS  - Ditto
 ANIMATE5.BAS  - Ditto
 ASCII1.BAS    - Ditto 
 ASCII1.BAS    - Ditto 
 CREAPI.BAS    - Ditto
 LOADSPR1.BAS  - Ditto
 LOADSPR2.BAS  - Ditto
 LOADSPR3.BAS  - Ditto
 TILE1.BAS     - Ditto 
 TILE2.BAS     - Ditto
 SCORE.BAS     - Ditto
 SCROLL1.BAS   - Ditto
 SCROLL2.BAS   - Ditto
 SPRITE.TXT    - This file.
 ORDERFRM.TXT  - Order form for the full SPRITE program.

 Vendors please contact me (see Technical support) if you
 would like to distribute this program so I can make sure 
 you have the most recent version, and keep you supplied 
 with updates.

-------------
Introduction
-------------
 Thanks for downloading my program. You have the shareware
 version of Sprite 2.0. 

 Sprite is a full featured image editor utility that can make 
 adding colorfull detailed images to Qbasic(r) possible. Sprite 
 utilizes Mode 13 (320x200x256) and can edit multiple images at 
 once up to 64 X 64 pixels in 256 colors. Because SPRITE can 
 display and save multiple images at once, it is ideally suited 
 for developing graphics for programs that require numerous small 
 images, like those that are found in games.
 
 SPRITE has an extensive array of editing tools that help make 
 creating images quickly and easily. Pen, line, circle, box, 
 fill, moves, flips, scaling, rotation, animation, re-sizing,
 color editing and loading PCX files, are all part of 
 SPRITEs aresonal. 

 Creating images is only part of the story, though. Qbasic 
 programs need a fast way to load and display images. 
 SPRITE saves its files using the Qbasic statement BSAVE. 
 Its counter statement BLOAD is the fastest file function 
 Qbasic offers. Sprites are BLOADed into programs then displayed 
 using the PUT graphics statement. PUT is the fastest graphic 
 primitive statement provided in Qbasic and makes fast animation 
 possible. The included Qbasic Demo programs demonstrate loading 
 and displaying images, animating images and other useful concepts. 
 
 Sprite also has features that make combining several sprite 
 files, even files that contain images of different sizes, 
 possible. If you have used an ealier version of SPRITE you know 
 that there was no way to combine images from multiple sprite files. 
 Now SPRITE has a function 'COPY FROM' that allows you to 'COPY' 
 any image from another sprite file regardless of its image size.

 I think you will find SPRITE easy to use as I do. I have made 
 many games with the images made with this program. QBinvade and 
 QBroids to name a few. If you would like copies of these 
 programs visit my FTP site at: 

 ftp.aol.members/TimTruman

----------------
Starting Sprite
----------------

 For DOS users, I recommend putting SWSPV1.EXE in a directory that
 is specified in the path. This way the program can be started from 
 whatever directory you are working in at the time and make it easy 
 to edit the .SPR files you will be using in your programs. 
 Type SWSPV1 to start the program or add a filename to start 
 SPRITE and load the specified .spr file.  For example 
 "SWSPV1 EXAMPLES".

 For Win95 users it is easiest to make .SPR files registered. To 
 do this just double click on any .SPR file. Win95 will ask what 
 program to open the file with. Find and select SWSPV1.EXE. From 
 then on clicking on any .SPR file will Run SPRITE and load the 
 selected file.

--------------------------
Creating your first image
--------------------------
 Start Sprite without specifying a file name. A copyright box is 
 displayed on startup. Click anywhere on the screen to remove it, 
 and click again to remove the information box.(These are sprinkled 
 throughout the program to help you use SPRITE in case you didn't 
 read this first!)  The gray boxes left on the screen are the 
 image frames. The upper left frame is frame 0, the next one to 
 the right is 1 and so on. Remember this when accessing images 
 with your programs. Also, the frames are sizable, but for now we 
 will concentrate on creating an image. (see Using The Main Menu)

 Click on a frame with left mouse button to display the Edit 
 menu. All the edit menu options manipulate a frame in some 
 way. But most options won't do anything until there is an image 
 in the frame, so start by clicking on the'Edit' option. A new 
 screen will be displayed containing a scaled up frame, an actual 
 size frame, a color palette and a bunch of editing tools. First, 
 select a color from the color palette by clicking on a color with 
 the left mouse button. Then select a drawing tool, again using the 
 left mouse button. (By the way all drawing functions use the left 
 mouse button. Pressing the right mouse button will return the 
 program to the Frame screen.) 

 Here's the drawing tools do :

 Pen  - Draws like a pen. Click on an area to color it. Hold the 
        left mouse button(drag the mouse)and move the mouse to 
        drag the pen.

 Line - Drag the mouse from one point to another. Release the 
        mouse when done.
 
 Box  - Draws a box with it's corners defined by dragging the 
        mouse. Release the mouse when done.

 Circle - Draws a circle whose size is changeable by dragging 
          the mouse. Release the mouse when done.

 Solid Box - Same as box but solid.

 Solid Circle - Same as circle but solid.

 Fill - Fills an area with the currently selected color.

 Undo - Un-does the last color edit.

 Arrow left - Move the image left

 Arrow up - Move the image up

 Arrow right - Move the image right

 Arrow down - Move the image down

 Mask - Creates a mask of the image. 


 Select an edit tool and try it out. When you have a image you 
 would like to keep left click on the 'actual size frame' to 
 return to the frame screen. Your image will be displayed in the 
 frame originally clicked on. 

 Now that you have an image you can use some of the other editing 
 options. Click on your image again to display the Edit menu. 
 Let's make some copies of your image in case it's get mutilated 
 by accident. Select 'Copy' from the menu. This copies the image 
 to the clipboard. Then, left click on an empty frame. Select 
 'Paste' and your image will be pasted in that frame. Make about 
 four copies to be safe. You don't have to 'Copy' the image each 
 time because 'Paste' uses the image currently in the clipboard. 
 
 Know that you have your original image safe, left click again 
 on one of the copies and try some of the different editing 
 functions on them. Here's what they do although most are 
 pretty self explanatory. (Load the EXAMPLES.SPR file to see 
 examples of most functions.)

 Undo      - Un-does last edit function to image except 'Edit'
 Copy      - Copies the select frame to the clipboard
 Edit      - Goes to editing screen
 Paste     - Pastes an image from the clipboard  
 Spaste    - Same as paste but has other special paste features  
 Flipx     - Produces a mirror image 
 Flipy     - Turns an image upside down
 Zoom In   - Make the picture bigger 
 Zoom Out  - Make the picture smaller
 Squish x  - Like Zoom Out only it works on the x direction
 Squish y  - Like Zoom Out only it works on the y direction
 Strech x  - Like Zoom In only it works on the x direction
 Stretch y - Like Zoom In only it works on the y direction
 Turn 90   - Rotates an image 90 degrees
 Rotate    - Rotates an image in the specified degrees
 Color     - Displays color change screen
 Animate   - Plays frames in sequence 
 Resize    - Re-sizes all images to a new selectable smaller size



 Now that you have created some masterpieces you'll surely want
 to save them. Click the right mouse button to display the 
 Main menu. Click on Save. Without holding the mouse buttons,
 just move the mouse, drag the yellow outline over the images 
 to be saved. Click the left mouse button and enter a name for 
 the file. Press enter on the keyboard when finished. Your 
 images are saved !
 
 Note on saving images : 
   This shareware version of sprite can only save the first four 
   frames. Copy any sprites you want to save into these frames. 


-------------------
Using The Main Menu
-------------------

 As you already know, clicking the right mouse button 
 displays the main menu and holds the key to saving your
 images, but it has other interesting options too. 
 Here's a breakdown of the Main menu options (Later each one is 
 explained in more detail where necessary).


 New               - Clears all images and resets the image size 
                     specified using the 'Set Sprite Size' option 
                     below
 Load              - Load an existing sprite, PCX or palette file
 Copy From         - Copy an image from an existing sprite file 
 Save              - Save the current images to file
 Set Sprite Size   - Set the working image size  
 Show Current Size - Display the current working size
 Set Cursor Color  - Set the editing cursor color
 Quit              - Exits the SPRITE program


 Details ...

 Load :

  (1) Loading a PCX file 

  After selecting a PCX file to load a menu will appear with 
  three options. You can :

  (A) Use PCX Palette : Load the PCX file and use its palette. 
  (B) Best Match      : Try and match the colors in the PCX 
                        palette to the current palette.
  (C) Don't Match     : Just load the PCX file using the current 
                        palette. 
  
  Selecting (A)  will show the image in with it's original 
  colors. Except for the first sixteen which are re-maped because 
  SPRITE uses them for it's own colors. This may cause some 
  noticeable  color abnormalities in the image. The PCX palette 
  becomes the current working palette so you will have to reload 
  any palette you were working with previously. Unless of course 
  you want to use the PCX palette.
 
  Select(B) and SPRITE will color match the palette information 
  in the PCX file to the current palette as best as possible. 
  The results will vary depending on the color selections of 
  the current palette. I recommend using the DEFAULT palette. 
  It has an adequate color range for good color matching results 
  without having to resort to color editing. 
  
  
  Selecting (C) will load the PCX file without using its palette 
  or trying to match colors. It uses the current palette verbatim. 
  The results can be interesting.


  (2) Loading a Palette

  Stick with the Default palette if you can. If you edit images 
  with different palettes you will have to contend the color 
  differences when incorporating images into your program. 
  And believe me it gets pretty messy. On the other hand 
  loading different palettes can create some interesting effects 
  and may be necessary if you incorporate sprite saved PCX images 
  into your programs that were unusable when color matched 
  (This will be rare). 

  Another useful purpose for using different palettes is to 
  extend color selection. For instance you may want a screen that 
  is primarily blue like the setup screens in WIN 95. The default
  palette may not provide enough blues for a smooth transition 
  found in such a background. You could load in a different 
  palette for this screen and then load in another palette 
  for the rest of the program. 

  How do I make new palettes? When you load in a PCX picture 
  and use it's palette you will be asked if you want to save the 
  palette in a format sprite can use. Answer yes and it will be 
  saved to the current working directory. Most paint programs 
  allow you to edit palettes and support PCX file formats. So, 
  you could make a PCX picture that has the colors you need and 
  load it into Sprite.


Copy From :

  'Copy From' will grab an image the size of the current working 
  size from another sprite file. Move the yellow highlighted box 
  over the area you wish to copy and click the left mouse button. 
  When you return to the original frame screen left click on a 
  frame and select 'Paste' from the edit menu.

Save :
  
  This unregistered version can only save the first four frames.
  You will need to register for the ability to save all of the 
  frames.


Set Sprite Size :

  'Set Sprite Size' allows you to determine the width and the 
  height of the images to edit. After clicking on this function 
  you will be prompted to enter a width and a height. Determining 
  image size depends on the application. A shooting game, for 
  instance, may use a fairly small sprite size because of the 
  many images that must fit on the confines of the screen. An 
  introduction screen may use a large image, a company logo, for 
  example . It's all preference, of course, but read 
  'Sprite Size Considerations' below for information regarding 
  animation speed. After setting the sprite size select 'New' 
  from the main menu. 
 
Set Cursor Color :

  'Set Cursor Color' sets the color of the editing cursor 
  displayed on the edit screen. It may come in handy to change 
  this value if your images contain a lot the same color as the 
  cursor. Otherwise the cursor may become invisible.
 
  

--------------------------
Sprite Size Considerations
-------------------------- 
 Think ahead! Depending on your application different images size
 will be in order. Here's a few pointers.

 First and most important, larger images take more time to move. 
 The PUT statement in Qbasic (r) is fast but it is only so fast. 
 Larger images take more time than smaller ones. The more 
 animation a program requires, the smaller the image size should 
 be. For instance, on a Pentium 90 Qbasic can animate about 
 fifteen 10 x 10 sprites before screen shear occurs(images 
 disappear). QuickBASIC 4.5 can handle almost twice that. 
 Moral...use the smallest image size which provides an effective 
 display. 
 
 Tiling the screen is a great way to produce backgrounds, 
 especially in an RPG type game. Creating a sprite size too big 
 will reduce the effectiveness of the display. A good image size 
 for tiling is about 16x16.(16 /320 = 20), about twenty tiles 
 across the screen and twelve down. Keep in mind this is just a 
 guideline. I have used images much larger for tiling. It all 
 depends on what you need to accomplish. 

 
---------------
Sprite Hints
---------------
 
  Use that 'Copy' function:

  (1) Make copies so you don't lose a good image. Sometimes 
      several images can be made from an existing image.
  
  Rotating an image :
   
  (1) Make the image smaller than the frame. This will prevent 
      edges from being clipped except when rotating or TURNing 
      an image 90 degrees. 

  (2) Larger images rotate better than smaller ones because 
      they have more detail. 

  (3) Make copies and experiment. Do I want a 30 or 40 degree 
      rotation? Maybe a 35. Experiment to see what looks best but 
      always make copies. Also, don't rotate an image 40 degrees 
      then rotate the same one another 10 for 50 degrees. The 
      image will become distorted. 

  Rotating an image for 360 degree animation :

  (1) Figure out how many rotations you need and make copies. 
     Rotate each copy some degree (step) more than the last. The 
     less degrees between rotated images the smoother they will 
     look when animated. I usually find a 20 degree step per 
     image (18 images) a good trade off between smoothness and 
     file size when dealing with smaller sprite sizes. 
       
    
  Palettes :

   Use the Default palette for all your image editing. This will 
   keep all your images color consistent and make copying images 
   from different sprite files hassle free. It is also a good 
   palette for color matching when loading PCX pictures. It will 
   save you the headaches of major color editing. 


  Using PCX pictures :

    Being able to load PCX pictures opens up a lot of opportunity. 
    Sprite can load 320 x 200 x 256 color pcx files. Most all 
    paint and scanner utilities support this file type. For 
    instance, the SPRITE file 'sqeeter.spr' was scanned and saved 
    as a 256 color PCX. 

    PCX pictures that are larger than the boundaries of the 
    frames are clipped. Non 256 color pictures can be loaded, but 
    the resulting colors can be unpredictable .

    Before loading a PCX picture you intend to copy pieces from,  
    you may find it best to use a sprite size of 64 x 64 
    (unless you have purposely edited images in a PCX picture to 
    fall between the frame lines of course). This way the PCX 
    image is less likely to have frame lines dividing an area 
    you want to copy. Save the image as a Sprite file and set 
    your preferred sprite size. (Don't forget to select 'New' 
    from the main menu.)  Now you can copy pieces of that file 
    using 'Copy From' with the current sprite size. 


-------------------
Technical support 
-------------------

 Having trouble with SPRITE?  Registered or not let me know 
 and I'll try to correct it. 

 CompuServe :74734,2203
 Internet   :TimTruman@aol.com
 AOL        :TimTruman


Visit my FTP site:
------------------

ftp.aol.members/TimTruman

Download my best Qbasic programs and utilitys :

FX Sound creator/editor for Qbasic. 
  If you're like me you want sound effects that
  sound excellent ,load easy and play in the background.
  If you are then you want FX ! The code to play FX sounds is 
  minimal. About 7 lines ! Fx makes sounds that play back using 
  the FM hardware on any sound card ! Create an unlimited, 
  interesting number of sound effects with an easy to use 
  graphical interface! Never programmed a sound card? Don't worry 
  FX takes care of all that. You just click , listen and add 'em 
  to your program. If you're serious about adding sound to Qbasic 
  check this program out.
     

QBmatrix 
  A full featured 256 color tetris variation.
  Included with "The Revolutionary Guide to Qbasic", by Wrox 
  Press.

QBdefend 
  Classic defender for your Qbasic. 

Qbroids 
  Asteroids for Qbasic. Sprite graphics. Adlib sounds.



Registering SPRITE
------------------

 Would you like the registered version of SPRITE so you can save 
 all the frames ? This will be useful for a programs that require 
 lots of pictures. 
 
 Print out the ORDERFRM.TXT file and send with a check or money 
 order to:

 Tim Truman
 110 Homestead Ave.
 Springfield, MA 01151
 USA

 SPRITE will be under constant improvement. If you would like to 
 see a feature added or improved let me know. If you register, I 
 will send you the next two revisions and any new example 
 programs through e-mail at no charge. 

 Thanks again, Happy SPRITEing.
 
 Microsoft(r), Qbasic(r) and QuickBASIC(r) are registered 
 trademarks of microsoft corporation.

