[ ELiter ]
[ v 2.2 beta 1 ]

Note: This version is a beta to demostrate the new scripting engine and allow users to begin developing their own levels. If you have questions regarding scripting, or if you have bugs reports, crashes, or suggestions, please e-mail sailorh@chibinet.com. Thanks!

This text file has grown too large for me to manage right now. I just wanted to get version 2.2 out in the wild, so forgive me for the parts of this document that are outdated. Also make sure to read scripting.txt for a (very) brief overview of how to write custom missions. Have fun!

Send bug reports, comment, suggestions and custom level scripts to sailorh@chibinet.com . If I like your scripts I may include them in future releases.

Release Notes:
	- The midi music is defaulted to "off" because it makes the game load a lot slower. You can turn it on by pressing 'm' but it is slow.
	- There may still be a problem with the mouse cursor moving left when it is placed at the top of the screen on some computers. This doesn't seem to happen in all cases and it may be related to how different processors handle floating point processing.
    - This is a beta release, please report bugs to sailorh@chibinet.com.
    - Move Zig is gone. :( It should be back in the next version.


"the game that's soda like space invaders'

IDEAS FOR FUTURE RELEASES:
	- Add ability for custom functions to scripts
	- Add "Its a new record!" message
	- Add Internet Ranking feature
	- Encrypt Highscore data
	- Make things look nicer:
	  - Weapon Selection
	  - Mission Status Screen
    - Make enemy health tracker look cooler
    - HUD type coolness
    - Triscuts with turrets
    - Triscuts with self destruct (?)
    - Nacho chains follow each other like NES shooters
	- Add a sound for slowmode
	- AN OPTIONS MENU FOR SUMO
	- add some sort of in game menu
	- Make better scripting documentation
    - Text wrapping does not work when highscore data is not available (?)
	
To Do For This Release:
	- Everythings done, time for release.

Ideas to add in future versions (?):
	DISTANCE INDICATOR
	MAKE JONES HARDER
	FIX SHEILD WIPE BUG
	ADD TUMS
	
	GOOD IDEA!!! STATS ABOUT HOW MANY TRISCUTS KILLED/DORITIS KILLED/ETC
	MISSION IDEAS:
	- Protect Jones
	- Hunt Jones
	- Kill X Enemy in X Time
	- Mine X Triscuits in X time
	- Missions based on gamespeed


VERSION HISTORY

2.2 [02-06-04]
	- Fixed the mouse sliding bug
	- Nevermind, it is not fixed in window mode because of the offset of the window title
	- Added scripting 2.0
	  - (Adds Nesting and Blocks to Scripts)
	- Cleaned up code a bit and removed all the compiler warnings
	- fixed problem with specifying no/invalid tile image causing issues
	- made it so that esc no longer quits immediately. (as per user request)
	- By request, ESC no longer terminates the program immediately, but must be held for brief period
	- Fixed a potential crash due to changing the number of stars between missions
	- Made it so when you complete a mission it looks a but cooler
	- P or BREAK keys now pause the game (also by request)
	- Score Popups is now the E key for Exploding Scores, so it will not be confused with Pause
	- Added support for custom sprite bmps using job_spritesbmp() (this may be buggy still? havent had problems yet tho)
	- Rebuilt all the old levels using the new scripting language, except Triscut field and Move Zig
	  Note: Move Zig requires recursive function support which was remove since the new scripts can't call files
	  I plan to add support for custom functions in the next version which will allow me to bring back Move Zig. :)

2.1 [01-12-04]
	- Scripting added!!!!
	- wav files moved to /sound/
	- midi files moved to /midi/
	- bmp files moved to /gfx/
	- scripts moved to /scripts/
	- Added some bug to crash us somewhere yay
	- Set VSYNC to 3 for WINDOWED MODE (which can use odd SCREENX/Y values)
	- Added EliterJob class
	- Reads /scripts/*.job files into the EliterJobs looped link list
	- Added basic menu to select jobs!!! woot!
	- Found a problem with running in windowed mode and using mouse_event
	  The mouse coordinates are relative to the screen, not the window, so
	  I need to write a way to know the size of the screen... Mendokusai.
	- Fixed the mouse problem. Using SetMouse custom function now, works well
	  AutoCenter 'A' still has problems in windowed mode. I don't really care
	  though, since I don't think anyone used this feature. I may remove it
	  later, but for now it is kind of fun to play with. :)
	- Taking advantage of a new feature in the engine to allow resolution
	  changes at anytime. Use the keys F and V to toggle Fullscreen and VSync!
	- Added script caching for the last script called (may speed up certain cases?)
	- Optimized script parsing functions a bit (10 FPS speed up on my machine)
	- Fixed bullet-time and die bug
	- Fixed bullet-time FPS counter bug
	- Fixed "random" crashing from scripting (?)
	- Matrix Time Uses One Missile
	- Changed Missiles to "Specials" (S)
	- Added friendly clean-up code and fixed MANY (all?) memory leaks
	- Cleaned up script parsing routines. Should be more solid now.
	- REALLY fixed "random" crashing bug (I hope)
	- Fixed spawn entities having a blip on the radar.
	
	- Updated to Hilgard 1.30 engine
	- Started adding ability to change Tile image for different jobs
	- Changed explosion look and feel
	- Made MIDI music not load unless it is actually going to be played - speeds up startup time when MIDI music is disabled
	- Fixed Text display stuff, but Game Messages option no longer functions
	- Added timer to keep track of how long you played a each mission for
	- Fixed problem with commas in scripts, multiple statements per line in onkill now work
	- Fixed onkill not happening during the first few seconds of gameplay while the player was in PLAYERINV state
	- Fixed selecting a job and clicking accept before it had finished changing backgrounds from causing problems
	- Made setting health higher than maxhealth not change the maxhealth (allows for the first spawn of an object to take longer than future spawns)
	- Removed AutoCenter
	- Moved distancecounter to player.distance
	- Cleaning up a lot of the main game loop code
	- High scores are temporarily broken
	- Scripts now need to call GAMEOVER to end a game after using SUCCESS
	- Fixed GameMessage and Added Messages to changing weapons
	- Added Highscore/Time on per Mission basis
	- Fixed Items showing one type and then changing (?)
	- Made Triscuts rotate
	- Fixed changing of speed in stars/tiles when loading different levels
	- Mouse no longer gets "caught" at the top of the screen (problems with sliding to the left?)

2.0n - Special Doritis Flood Version
	- Fix to the way Radar handles offscreen objects
	- Added simple Warning when approaching enemy
	- Tweaked the variables a bit
		- items spawn slightly more often
		- individual debris/fire fade time are randomized now
		- jones spawn distance changed maybe?
		- increased tracking speed of doritis
	- Added Slow Down speed hacks, scroll mousewheel down and then hold right mouse button
	- Started planning of Mission system. This will be a lot of coding still, but I
	  hope to implement it in a piece by piece fashion so I can demonstrate it as I
	  develop it...
	- This build only spawns doritis. Have fun with it and see how long you can last without
	  using the speed hack. :)

2.0m [11-11-02]
	- Engine version .24
	- Added score popups
	- New options
		'P' - Toggles Score Popups
		'T' - Toggles screen blur effect, this is now saved
		'G' - Toggles in-game text messages such as "Sounds Toggled"
	- These options are added to eliter.cfg but are not changable at runtime
		GAMESPEED - changes the gamespeed (10 is default)
	                higher values = slower (dont set it to 0)
		VSNYC - replaced bitdepth - turns on off vsync

2.0l [10-30-02]
	- Engine version .22 - Uses DirectX 8.1 Direct3d
	- ALPHA BLENDING
	- ROTATE BLIT!!
	- changed the way triscuits and debris spin to use rotate
	- changed particles to fade away with alpha blending
	- changed player to rotate as he faces different directions
	- shots rotate to face angle player shoots them at.
	- Added basic switching of weapons with mouse wheel
	- Press 'T' to turn on a leet blur effect

2.0k [25-2002-02]
	- Broke Stars. Then fixed them (kind of).
	- Fixed bug where clicking the mouse button fast could cause you to shoot faster than holding it down.
	- Updated code to run on new 1.21 engine.
	- Made Particle class out of old Debris class
	- Added bullet trails - getting ready to add "macross missiles"
	- Changed speed variables a bit
	- Need to rewrite particle class for speed
	- Made Midi Music Repeat - Yay for System J
	- Options class written, now saves settings like Midi and Debug Mode
	- Added Macross Missiles - temporarily disabled standard missiles
	- eliter.cfg now stores settings for options class (including resolution!)
	- Added sound toggle key - 's'
	- Your Y coordinate on the screen now has a stronger effect on the speed you are moving at.
	- Doritis pathfinding is slightly changed.. Perhaps a little easier now, but it looks smoother.
	- Enemy 2Liters now move a bit faster.
	- Fixed Z-Order so enemies are always on top, shots are always on bottom. (maybe?)
	- Fixed an accuracy bug with the radar. (maybe?)
	- A lot of code has changed in this build, it is primarily a test build for my friends. Please give me feedback.

2.0j	[10-05-02]
	- Major rework on Statusbar stuff
	- Added Enemy Life Gauge
	- Added Power Gauge to who how much longer until your next gun runs out
	- Added Missile Counter Display to show how many missiles you have
	- The is now a limit of 10 missiles that you can carry
	- Jones takes half as many hits to defeat
	- Weapon Powerups wear off twice as fast
	- Modified graphics for Fire explosions (more smooth looking now)
	- Removed the strecthblt explosion - it didnt look good on some video cards
	- Cleared the High Score and set a new default one (killed two jones to get it)
	- Fixed a bug where right-clicking would wear down your gun powerups
	- Changed how the soda pop cans move once again

2.0i    [08-14-02]
    - Has it really been two years since I added anything to this game? Wow...
	- Upgraded the game to work with the new Hilgard 1.14 engine. Featuring:
		- Working Stretchblt (used for jones)
		- Midi and Sound Capabilities
		- Recovery after minimize and alt-tab
        - More accurate framerate counter
        - Various other optimizations and cleanups
	- Added sounds:
		- explode.wav
		- gunshot.wav
		- gunbeam.wav
		- item.wav
		- missile.wav
    - Changes around the shield code a little bit, now limited to 10 shield balls max.
    - Fixed a bug in the explosion momentum caused by the addition of the gunshot momentum (it was added wrong)
    - Then removed gunshot momentum affects on enemies alltogether cause I didn't like the look of it
    - Played around with stuff...
    - Added Distance-counter
    - Jones Soda appears when you reach a certain distance
    - You can now kill Jones soda - it just takes a (huge) amount of damage to do it
    - Changed to 16 bit color - lemme know if you notice a difference (good or bad)
    - Updated this document to be more up to date.

2.0h	[12-21-00]
	- Boy, it's been awhile. Haven't updated this game in ages it seems.
	- Added a radar system to the top right corner of the screen. You like?
	- Soda cans that come from off the screen now have half the speed of ones that come from in sight. This makes it a little bit easier. I hope. :)
	- Radar now has 4 different size indicators. So you can distinguish between most enemies.
	- Yay! I fixed the long confusing bug which plagued me for several versions. The game would sometimes crash a few seconds into play if it was located in certain directory names. Not neccessarily long names though, so I still don't understand fully why those directories caused the problem.. But regardless it should be fixed now.
	- Corrected a bug were the sheild would sometimes stop spinning.
	- Changes the sheild code so that it evenly distributes the balls when some are lost.
	- 'R' button toggles on/off radar display

	[To do for next release:]
	- Find some way to get that 'J' jones soda into the game. Either as a boss, or as a mothership to protect, or something... We'll see...
	- Add new weapon: "Spank-ray" to spank your enemies to death.
	- Insert a nice blantant plug for Chibinet.com

2.0g	[4-17-00]
	- Fixed a bug which caused you to get extra points for 'overkilling' an enemy. (Hitting them with more than one shot when their health was already at 0 and they had not been deleted yet)
	- Trying a new style for the missiles. Let me know what you think. Like the old one better? 
	- Items no longer appear randomly at the top. They now appear when you kill some enemies.
	- Working on some new ideas for a future version. Hit 'J'  to check it out. :)
	- For those who complained the 'Speed Up' Gun Powerup was a Powerdown since it left you with less shots on the screen, it now also doubles the rate of fire. So it is now a definate powerUP.
	- Added a 'Sheild' powerup. Very cool, desu ne?
	- Since the game is getting a bit to easy, I added a feature so your gun powerups slowly wear off.
	- Back by popular request. The ships that fly from the bottom of the screen are no longer allies. (Yes, they were SUPPOSED to be before.) Since everyone just shot them anyways, they no give you a positive score. So go ahead and shoot the crap outta them. :)
	- You start with 5 missiles now.
	- Using a new version of the Engine. You probably won't notice much, but there are a few new speed ups to graphics routines... Sprite stretching, etc...
	- Midi music can be toggled by pressing 'M'. Sorry still doesn't loop. Maybe next release. As usual it can be disabled completely by deleting song.mid . This no longer gives you an error message either.
	- Removed a bunch of keys used for developing.
	- Changed stars a bit more. This should be a speed up now. Before the game was processing stars that were off the screen. This is no longer an issue. Also you can change the number of stars on the screen by pressing/holding the 'K' and 'L' keys. 
	- And ahh!!! I finally found the mysterious crash that recently I was having. I doubt anyone else has seen it... It was recently caused when the score text string exceeded the 255 character limit I had stupidly (and lazily) put in when I first made the score system. I never expected to be showing all that info in the score system. :)
	- For those of you who think the big score system gets in the way, I have now put a toggle on it. Press 'D' to toggle between normal score display and 'Developer Mode' to see all sorts of usless stats. :)
	- Changed redraw code so the system only redraws on IDLE events. This may cause a lowered framerate, but will provide better responsivness to the user input. This helps a lot on slower systems (like the ones at school). :P

2.0f	[4-2-00]
	- Fixed a small problem with the ally movements... They only went right.
	- Added some more counters: debris, stars, and enemies. Counts the total number since the game was started. The number in parenthesis is the number in existance currently (both on and off screen). 
	- Changed the stars. They no longer use layers... Now they are individual particles. This should be a significant speed increase from the old 3layer method, however I still use one layer for a black background so 640 users probably won't notice a speed up. But they WILL notice the stars look more random now instead of a tiled pattern and they WILL notice that there a three 'layers' of stars moving at different speeds.
	- Modified the missiles. Right click to fire a missile, right click again to detonate it. They also have a larger explosion size now. Send me comments on what you think of the new missiles.
	- A few changes to the graphics. Trying some different shading on some sprites and the items pickups look different now. Also the title screen and ready message are shaded. 
	- Messed around with the explosion variables a bit. Nothing too major.
	- Default resolution is now 800x600x16. This release does not include a 1024 or 640 dll. If you would like me to continue including those options in future releases e-mail me and I will.

2.0e	[3-26-00]
	- Added framerate counter! Yes!
	- Changed the code around which was limiting the visible framerate to about 20 FPS.
	- The visible framerate is now limited to about 100 FPS. However, the FPS counter shows your actual FPS.
	- Removed all the tile-layers except for the bottom layer. This was turning out to be a signifacant speed problem for some systems. The game should run a lot faster on older video cards now.
	- New version of Hilgard Engine. This version has a much faster tile-drawing routine. However, it may not be that noticable on ELiter since, the game isn't very tile-dependant. It makes a big difference in my Zelda clone though. What? You haven't tried it? Go download it from my site then!!!
	- New High Score! Yes, I've got a new high score. Can you beat it?
	- Some Enemy behavior changes. Pop cans move different, and so do friendly 2-liter ships. Triscuits are slower and some other stuff I forgot.
	- Various changes to explosions/debris.
	- Annoying MIDI music added. If you want it disabled just delete/rename song.mid and it will go away.
	- Gun shots are now deleted when you start a new game. So missiles can't be leeched from a previos game...
	- New easter egg added if you hit Alt-F4. (It's a secret, so don't tell people!)

2.0d	[2-1-00]
	- Added left/right scrolling based on x position.
	- Removed 'A' and 'Z' acceleration keys. Forward speed is now based on y position.
	- Added 'AutoCenter' option press 'A' to toggle.
	- Added speed display under score.
	- Tweaked the difficulty settings a bit.
	- Added new "Fly in" animation for when the player starts a new game.
	* Added "Ready" message.

2.0c	[10-16-99]
	- Added a display for score, hish score, and missiles.
	- Added High Score system with save functionality. (Can you beat my highscore?)
	- Made a small speed up by taking away the third stars layer. This should help game performance on slower systems. I guess since I got a fast computer now, I just assumed everyone did. :P
	- I added an icon for ELiter.
	- Added 'Speed' gun powerup.
	- Changed the guns a bit and redid most of the power up graphics.
	- Added a title screen.

2.0b	[7-31-99]
	- Added a new gun system (as many as 32 possible gun combonations!) and missiles (right click)
	- Added enemy cracker asteriods. 
	- Ally 2 liter fighters come from the bottom of the screen. (Don't kill them, they are on your side and will deduct from your score. Well, as soon as I add a score/high score display. Maybe in the next release...) 
	- Did a little work on various other visual things.
	- Missiles are fired with the right mouse button.
	- Switched the game to 640x480x16 instead of 800x600x16 to speed it up on slower systems.

2.0a 	[7-29-99]
	- First Release


OLD PLANS THAT NEVER GOT USED:

	- I want to add levels to the game so as you go on the difficulty increases.
	- Considering adding a boss of some sort. 
	- Ideas? E-mail me!


DESCRIPTION

	ELiter is my first C++ game I have released. ELiter is my elite space-invaders's like game. Well, it isn't really that much like space invaders, but that is the best description I can think of. You are a two-liter pop bottle with wings, and you are flying through space blasting various junk food on your way. 


HILGARD (1.30)

	The game now uses version 1.30 of the Hilgard Engine. The engine was designed by my friend Ben and I for a school project (Programmed by him originally, but I'm working on it too now). 
ELiter was originally written as a demonstration of Hilgard for our class. However, everyone enjoyed it so much that I have rewritten it outside of school and updated it for the latest version of Hilgard.


DIRECTX REQUIRED

	In order to use Hilgard (and this game), you will need to have <A HREF="http://www.microsoft.com/directx/">DirectX</A> 7.0 installed. Ummm... I dunno why I put HTML in a text file. Get it at this address: 
	http://www.microsoft.com/directx/


INSTALLATION

	Installation is simple. Extract the game into a directory of your choice and double-click engine.exe . (Note: the exe file is actually the Hilgard Engine, the game is actually stored in the dll named prog.dll) DO NOT RENAME ANY OF THE FILES. THIS MAY PREVENT THE GAME FROM FUNCTIONING.


FILES

	The following files are included with this release:

	eliter.exe	- The Hilgard Engine, which executes prog.dll
	prog.dll	- The actual ELiter game file.
	sprites.bmp	- These are the sprite graphics (you can edit them with paint! fun!)
	tiles.bmp	- These are the tile graphics (yes, you can modify these too!)
	text.bmp	- The font for the scoring system.
	eliter.cfg	- The file that stores the options.
	eliter.txt	- Gee, I forget what this one is for.
	eliter.ico	- This is an icon incase you want to make a shortcut on your desktop.
	song.mid	- This is the midi file that gets played when you run the engine. Delete it to disable midi music.
	explode.wav - Sound for explosion
	gunshot.wav - Sound for standard gun
	gunbeam.wav - Sound for beam gun
	item.wav    - Sound for item pickup
	missile.wav - Sound for missile shots


CONTROLS

	Use your mouse to move around on the screen, press (and hold) the left mouse button to fire your gun. You have unlimited ammo, but your powerups will wear off after shooting a whole lot, so conserve your gunfire. Pressing 'A' toggles "AutoCenter". Right-click to fire missiles, you get 5 to start with. Right-click again to detonate them. Press 'D' to toggle Debug display and 'R' to toggle Radar display. Press 'S' to toggle sound effects and 'M' to toggle music, these settings will be saved when you leave the game. Press 'F' to toggle fullscreen mode, and 'V' to toggle VSync.


CREDITS
		Programmer:
					Jeff Van Boxtel
		Graphics:
					Jeff Van Boxtel
		Engine Programmers:
					Ben Higgins
					Jeff Van Boxtel
		Special Thanks:
					John A. Van Boxtel
					Jones Soda
		Midi Music:
					Wesley Backous
        Sounds:
                    Jeff Van Boxtel


CONTACT

	Please send comments, suggestions, bug-reports to SailorH@chibinet.com . Visit my website at http://www.chibinet.com/ .


NEW GRAPHICS

	If you are creative and would like to, you may change the graphics to the game by editing the BMP files. Have fun designing various different looks. However, you may NOT redistribute the game with your modified graphics. If you would like other people to use your graphics e-mail them to me and if I like them I will put them on my website for others to download with the latest version of the game. I will ofcourse give you credit for your work and if you like a link to your email or site. But I repeat, DO NOT distribute modified versions of ELiter. This means no modified graphics, sound or anything else. Thank you for your respect. 


LEGAL
	ELiter is freeware. You may distribute it unaltered and in original form. In fact, the author encourages you to do so. Give it to your friends, your neighbors, your pets... Just make sure that you are including all of the files listed in the 'FILES' section of this document. (That includes this document).
	Any similiarity between the graphics in this game and any real life snack food is purely purposeful. I love junk food. So I made a game about my favorite kinds. Ofcourse, I am will not mention any of my favorite food's names, but you can probably guess.. And my favorite soda, ofcourse, is represented by the game's main character.
	ELiter is Copyright (C) 1999, Jeff Van Boxtel, All Rights Reserved. To see some of my creative work please visit my website at http://www.chibinet.com/
	Jones Soda is a Trademark of Jones Soda... They were kind enough to grant me permission to use their graphics in the game. Visit their site at http://www.jonessoda.com. And if you haven't tried their soda yet, you should! Cause it's good stuff!

ENJOY!