===================================================================================================

Toggles (c) 2006 by Solo Games
Version 1.1.0, created 1st August 2006
Solo Games is a virtual company organized and maintained by Steven Silvey (aka Onewing)

===================================================================================================
**************
1. CONTENTS
**************

	1. Contents
	2. License
	3. Compiling
	4. Minimal Requirements
	5. How to Play
	6. Additional Game Elements
	7. Scoring
	8. Change Log
	9. Designer's Cut
	10. Inspirations
	11. Software Used
	12. Credits
	13. Contacts

===================================================================================================
**************
2. LICENSE
**************

	Toggles is freeware.  It was built with the intention of dispersing
	freely to the community.  You have the right to use, play, modify,
	redistribute and/or whatever else you can come up with of this product.
	If you do choose any of the above options, it is strongly encouraged
	that you acknowledge Solo Games by either sending personal comments, bug
	reports, etc. to its owners, moreover, Steven Silvey.  And it is even
	more encouraged that in the case should you use the code in any manner, that
	you place the following general disclaimer in your own code and that 
	you accredit Solo Games in your product during runtime.  However, you are
	not required to do either, as this game is freeware.

	GENERAL DISCLAIMER:
	I HAVE MODIFIED, COPIED, STUDIED AND/OR USED CODE FROM SOLO GAMES' AUGUST
	2006 PRODUCT, TOGGLES.  TOGGLES IS A FREEWARE PRODUCT AND PERMITS THE USE
	OF ITS CODE FOR PERSONAL AND/OR COMMERCIAL REDISTRIBUTION.  TOGGLES WAS
	MADE USING ALLEGRO WITH C/C++ AND HAS NO CONTRACTUAL AGREEMENTS OR LEGAL
	BINDINGS.

	LICENSE DISCLAIMER:
	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
	FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
	SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
	FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
	ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
	DEALINGS IN THE SOFTWARE.

===================================================================================================
**************
3. COMPILING
**************

If you are interested in compiling the source files, then please read the following.  Compiling the source is helpful if you are using the code in some form or for ports to other operating systems.

	******* WINDOWS ********
	Windows compilation should be reasonably straight forward.  You have to have allegro version 4.2.0 installed on your machine and you need to link with the alogg library.
	Other than that, it should be as simple as compiling like you always do through whatever IDE you are using.
        THIS PACKAGE IS INTENDED FOR USE ON LINUX.  IF YOU WANT THE WINDOWS PACKAGE, GET THE RIGHT ONE!

	******* LINUX *********
        If you have the right libraries, you should be able to build the source code rather easily.  SHOULD.  However, linux often complains to new attempts.  Here's what you'll need to build Toggles.

        1)  allegro (newest version)
            - Get this at www.allegro.cc.  There's a side bar with a "Files" section.  Get the linux source code and follow the instructions on the site or ask for help.
        NOTE:  I ran "./configure --prefix=$HOME --enable-static --disable-shared" followed by "make install" and "make" to completely build allegro within my home directory.  You can do similar things with the following libraries.
        2)  libcurl
            - You can get this at http://curl.haxx.se/download.html.  I ran --without-zlib and --without-ssl to stop libcurl from including too much on the configure line.  Just ask if you're lost...
 	3)  alogg
            - You can get this library off the allegro website (www.allegro.cc).  On the left, there's a section called "libraries".  Click that and then go to the "Audio" link.  You should see "alogg" in that listing.  NOTE:  You will have to get libogg and libvorbis in order for this library to compile.  They can be found all over the internet.

Let me know if you have any problems!  NOTE:  The background music is currently not working for Linux.  Check http://www.silvey-games.blogspot.com for patches to fix this problem.

The rest of the instructions should be straightforward in the makefile itself.

===================================================================================================
***********************
4. MINIMAL REQUIREMENTS
***********************

OS:  		Windows 98/2000/ME/XP
Processor:  	1.0 GHz / Pentium III
Memory: 	512MB
NOTE:		Game may not run on older computers and is untested with the currently listed
		minimal requirements.

===================================================================================================
***********************
5. How to Play
***********************

	GOAL
	1.  Using your mouse, click on "Start New Game"
	2.  On the left is a large area with a lot of activity and 
	    tiles with green flashing lights.  These are called Toggles.
	3.  Move the mouse over the Toggles to direct them under water.
	4.  On the bottom, you'll see a gold bar that increases every time
	    you put a toggle under water. 
	5.  On the right, you'll see a red bar that is constantly increasing.
	6.  The goal is to get the gold bar to the gold line before the 
	    red bar is completely full.  
	7.  The bottom right selection screen is the storage area for
	    bonuses you collect in-game.  Use the bonuses to help reach
	    your goal before time runs out!
        8.  Try to beat your highest score!

	INPUT COMMANDS
	Mouse                      - Use your mouse to guide the toggles under 
				     water by scrolling over them.
	Left click / Space Bar     - Use a collected bonus
	Right click / Left Control - Shift your bonuses, hurry the menu items
	ESC		           - Exit game
	Q			   - Quit game and go to the Main Menu

===================================================================================================
***************************
6. Additional Game Elements
***************************

	BONUSES
	Bomb      - Forces several Toggles down in a Radial area from where the mouse was clicked.
	Lightning - Forces all Toggles in the row and column that the mouse currently
		    resides at.
	Clock     - Makes the red bar (Time Progress) reset, giving you potentially twice the time
	            to solve the puzzle.
	Percent   - For the current level, you only have to get half of the Toggles you originally
	            had to.
	Ultima    - Forces all the toggles that are up to go down.

	PENALTIES
	After each level is completed, you pick which penalty you want for the next level.  
	Picking the 'Question' penalty may result in a reward instead, or something worse than
	the normal penalties.

	Time Decrease    - You have one less second to finish the next level.
	Percent Increase - You have to toggle more Toggles then next level.
	Row Increase 	 - You have another row/column you have to tackle.
	Question 	 - A random penalty.  Could be any of the following (or one of the top):
		
		Time Decrease x2    - You have two less seconds to finish the next level.
		Time Decrease x4    - You have four less seconds to finish the next level.
		Percent Increase x2 - You have two percent more toggles you have to get underwater.
		Percent Increase x3 - You have three percent more toggles you have to get under.
		Row Increase x2     - Two more rows/columns are added to the playing field
		Bonus               - You get one of the bonuses listed above
		Time Increase       - You have one more second to finish the next level.
		Percent Decrease    - You have one percent less to get

===================================================================================================
***************************
7. Scoring
***************************
	See in-game help menu
===================================================================================================
***************************
8. Change Log
***************************
The change log reflects all minor/major changes to Toggles after its initial beta release.  Some
details might be of interest, but otherwise, it's more of a way to keep track of its progress.  :)

	* Beta Version was Released!  Version 1.0.0 (Aug. 3rd)
	* Version 1.0.1 (Aug. 13)
		- Added a config file to allow for user customization of game settings
	* Version 1.0.2
		- Organized all sounds and music to be played/maintained by the DJ class
	* Version 1.0.3 (Aug. 22)
		- Created a Config singleton class to oversee all customizable configurations
	* Version 1.0.3 (Aug. 23)
		- Fixed several warnings
		- Began setup for new title screen
	* Version 1.0.4 
		- Misc.
	* Version 1.0.5 (Sept. 8)
		- New Title Screen implementation done
		- Created the Slide Bar object (to be used for the Options section)
	* Version 1.0.6 (Sept. 10)
		- Main Menu System implemented.
	* Version 1.0.7 (???)
		- Logs are a bit off
		- New Help Menu added
	* Version 1.0.8
		- New Highscore system implemented.  No more ftp.
	* Version 1.0.9
		- The long list of long awaited code-fixes has finally begin.  I'm just knocking out one at time, and so far, things have been going rather nicely.  I'm almost to the last hurdle, which is making the game work on Linux...
			-  The structures are all loaded when you first start the game, which causes a brief pause at the beginning, but this is better than having it pause between levels.  :)
			-  The frequency at which bonuses appear has changed.
			-  The Percent bonus only takes a 1/4 off the total needed percent, instead of 1/2
			-  Toggles zoom in and out instead of up and down
			-  Game does not quit when you lose (bug since version 1.0.5)
			-  Toggles load differntly now
			-  The menu options are shaded
			-  Fixed the memory leak caused by bonuses being created.
	* Version 1.0.10
			-  Rogue Toggles fixed
			-  New config file options
			-  New Mouse Icon
			-  The main screen has shaded labels
			-  Adjustments to bonuses
			-  New Graphics modes
			-  Help button on the right
			-  Fixed a Water Memory Leak (get it?)
	* Version 1.0.11
			-  Facelift on everything
			-  New sounds
			-  Options working
			-  Penalty zooms in
			-  Added "Combo!" when you get a combo.
			-  Config options
			-  Highscore timeout
	* Version 1.0.12
			-  Compression
			-  Moved many files to dat files and changed code accordingly
			-  Bug fixes
			-  Cleared Online scores and added more efficiency to online system
        * Version 1.0.13
                        -  Various bugs specific to linux
        * Version 1.0.14
                        -  Error checking in cURL
                        -  No longer allowing spaces in names on the entries
                        _  Music fix (hopefully)
        * Version 1.2.15
                        -  Corrected version mishap
                        -  Decreased the size of water ripples from toggles
                        -  Improved water algorithm
                        -  Fixed online submission problems...

===================================================================================================
***************************
9. Designer's Cut
***************************
   "I'm very proud of Toggles, even if I basically ripped the game from www.killsometime.com's Flip Out by Kyle Gray.  So I guess, in a sense, I'm proud of ripping the game.  Well, actually, you can tell I've added several layers to the game, truly bending my creative license as much as possible.

What makes me really proud is that what you see is what I saw.  Sounds funny, but this entire game was constructed with my own hands.  I had an image in my head before I ever got started, and to see the final product in place, it's just as I had imagined it.  I finished games before, but this has been the biggest and best project that I've 100% complete so far.  It's nice to think that I won't ever have to work on it again, save a few bug fixes, and sad at the same time.  

Heh, I owe most of this game to Miran Amon.  I made it with his Dodger game in mind, even setting up the main game area almost identical to his setup.  Really, I just liked the idea of having a game that's totally controlled by the mouse.  You can see the Icy Tower's influence in several aspects, especially whenever you get a combo.

I started it in July with the honest hopes of getting it done in 1 month.  I did manage to get the Beta version released by a month and a week, but then class started back up and production slowed drastically.  The final product was completed October 15th.

It was a fun project, and I hope everybody can enjoy it as much as I had making it.  I do live for seeing people liking my work.  I stay in a hole all year long, just to barely release a game.  It's worth doing when people cheer me on."

-Steven Silvey
===================================================================================================
***************************
10. Inspirations
***************************
1)  Flip Out by Kyle Gray
2)  Miran Amon's Dodger
3)  Icy Tower

===================================================================================================
***************************
11. Software
***************************
1)  Microsoft Visual C++ (7.0 with .NET)
2)  PAINT
3)  Photoshop Elements 3.0 (for several facelifts)
4)  Acid Music Studio 6.0 (for arranging the Ogg files and making sound effects with MIDI)
5)  Knoppix 5.0 LiveCD (for Linux porting)
6)  Icon-maker (for the Toggles icon)
7)  Visual Basic (for the GUI editor)
8)  Notepad (who can forget notepad?)
9)  Secure Shell (transferring files)

Libraries
allegro - Graphics library.
alogg - for playing Ogg files with allegro
curl - for Online High Scoring system
===================================================================================================
***************************
12. Credits
***************************
Programmer / Designer/ Composer / Artist
Steven Silvey

Original Concept
Flip Out by Kyle Gray

Online High Scores
Jakub Wasilewski
Miran Amon

Tester 
Greg Kennedy

Linux Porting (Not mentioned in-game)
Michael Faerber
Miran Amon
Evert

Linux Testing  (Not mentioned in-game)
Simon Parzer

Special Thanks
Shawn Hargreaves
spellcaster - Code example on forums explaining config files:	http://www.allegro.cc/forums/thread/250869
Matthew Henderson
Matthew Leverton
Brittainy Silvey

Solo Games
===================================================================================================
***************************
13. Contact
***************************
spsilve@uark.edu		
