The Allegro Sprite Editor
Version 1.0 beta.  Public release 2 (May 1996).
Copyright (c) 1996 Jason McIntosh.  All rights reserved.

Note: This is not a part of the Allegro graphics library, by Shawn Hargreaves,
but it is intended for use with the library.
===============================================================================
Disclaimer: The author is not liable for damages caused by use of this program.
Provided AS IS, with no warranty.  Especially for this beta release.



Running ASE - Requirements
-------------------------------------------------------------------------------
You must have at least a 486.  The Allegro library is built this way, but if
there's any interest, I can rebuild it to run on a 386.  Also, since ASE is a 
protected mode, 32-bit application, a DPMI host must be running for the editor 
itself to run.  I have provided the CWSDPMI program provided with the DJGPP 
compiler distribution.  Simply keep this program in the same directory with 
ASE and XCONV.  If you are running Win95, you won't need CWSDPMI but ASE might
not run okay.  I have experienced no serious problems, but Windows did warn me
to run it in MSDOS mode (in which case I think you will need CWSDPMI).

The file "ASE.PAL" is the default palette.  If this is not found at startup in
the current directory, then the system palette is used... it's icky!




Beta Release?
-------------------------------------------------------------------------------
Since I haven't unleashed this on the world up to now, I consider it virtually
untested; thus, beta test.  If you find any creepy crawlies, please report
them to me (see below for contact info).  Granted, what you might think is a 
bug may be my *ahem* implementation.  :)




What is the Allegro Sprite Editor (ASE)?
-------------------------------------------------------------------------------
In my search for a good sprite editor, I found nothing.  As usual, I had to
create my own tool.  Oh well, great for learning, and I've a lot to learn.

I had just begun to mess around with Shawn Hargreaves' wonderful graphics lib,
Allegro, and decided that I wanted to use it for a serious project.  Well,
the serious project happens to be a game.  For this game, I need sprites of
multiple sizes.  So, after 3 days of intensive coding, I came up with this
sprite editor.  Note that it saves sprites in a format that may not be
compatible with XLib (ie, the size header is 2 dwords, not 2 bytes).  What this
means is that sprites can be any size you care to make them with Allegro.
Fortunately the incompatibility is a trivial affair (see below).

Some features:
  - Sprites from 1x1 to 64x64, and any size in between.
  - 320x200 mode 13h (not really a feature, I guess).
  - Optional/limited 640x480 VESA SVGA (sprites still limited to 64x64 max, 
    the display is very small-- makes a good vision test).
  - Load/Save as linear bitmap or RLE.
  - Lines, circles, flip, rotate, fill, smooth, undo.
  - Some unimplemented features (like auto-outlining).
  - Simple GUI.

It's not the end-all editor, but it's made for me so don't complain :p




Editing Resolutions
-------------------------------------------------------------------------------
You can run ASE in either 320x200 (default) or 640x480.  To run in hires SVGA, 
you must enter the command line option 'h' (for hires :)

C:\>ASE h

Improvement of the SVGA support may appear in the future, but I am rarely using
that resolution right now.




The Confusing Icons
-------------------------------------------------------------------------------
I'm only going to talk about what might confuse you, as most of the GUI is very
simple.  To the right of the edit window, you see several numbers and some 
"+"/"-" icons.  The top row, labelled "Sprite," is the size of the current 
sprite.  The row below it, labelled "Max," is the largest this sprite can be 
without changing this size.  The "Max" options only affect the edit window and 
not the sprite's actual bitmap.  If you are drawing a 10x10 sprite, switching 
the "Max" options to 16x16 will make editing easier since the pixels will be 
bigger, sort of like a magnifier.  Try it and see.

The "Raw" toggle is for palette loading.  Allegro saves palettes with 1,024
bytes, while raw palettes are only 768.  Most people use raw format, and this
is the default.  Below the Raw icon is the "LoadP" icon, which means "Load
Palette."

The "Smooth" icon probably won't confuse you, but the result might.  It is a
home-grown algorithm and I've never done anything quite like it before.  You
have to be careful about dragging the mouse when in Smooth mode, because each
motion causes a Smooth action, which makes pixels go dark real fast.  I
suggest gentle clicks.  :)

When you are drawing lines or circles, be careful not to move out of the edit
box or the line/circle gets finalized without option to undo.  This will be
addressed in a future release, as will (probably) the Smoothing problems.




XLib Compatibility
-------------------------------------------------------------------------------
The provided utility XCONV.EXE will convert ASE's output (either bitmap or
RLE) to a format compatible with XLib.  At least, as far as I know.  Tell me
if it doesn't work.  You simply specify the input and output names, which must
not be the same.

C:\>XCONV ase.spr xlib.spr




Contact Information
-------------------------------------------------------------------------------
If you have questions, comments, or algorithmic assistance to offer, please
email me at...
	
	stugbond@acs.eku.edu
	
This account should be valid only until June or July of 1996.  I will re-
emerge sometime in August I hope (next semester).  If all else fails, write to 
me via snail mail...

	Jason McIntosh
	1427 Fairlane Dr.
	Richmond, KY 40475
	USA

Good luck.   This is freeware, but if you want to give me gifts (but no bombs, 
please), feel obligated.  Special thanks to Shawn Hargreaves and Yael Touboul
for technical assistance.