GameHippo HaCKeR Contest 2002                        Copyright (c) 2003
Version 1.2.7

Michaël Schoonbrood                         MadButch@GamePlayHeaven.Com
GamePlay Heaven                                  www.GamePlayHeaven.com

GameHippo                                             www.GameHippo.com


This file contains the history of HaCKeR... newest updates are on top.

The Contest edition will probably receive no updates from now on, and
it is included with the default HaCKeR download for those that want to
play the levels from this special edition.


17-11-2003 ( Michaël Schoonbrood, Version: 1.2.7 GameHippo 2002 Contest)
- Removed the GameHippo datfile, because the contest is long over.
- Renamed the HaCKeR.dat file to HaCKeR_GHHC.dat to avoid conflicts with
  the standard HaCKeR game.



28-08-2002 ( Michaël Schoonbrood, Version: 1.2.6 GameHippo 2002 Contest)
- Changed the score encryptor.
- Added the GameHippo icon to the EXE.
- Added the new GameHippo HaCKeR Contest logo to the exe.
- Added all the leves to the EXE.
- Changed the DDrawLayer so it can tries to load graphics from the EXE
  before loading them from the GFX resource.
- Added a method to the DDrawLayer to get a handle to the application instance.
- Added GameHippo Icons to the Main Menu.
- Added the GameHippo Icon all over the place (every screen).



21-08-2002 ( Michaël Schoonbrood, Version: 1.2.6 GameHippo 2002 Contest)
- Added resource loading for levels (support for the HaCKeR.LVL resource).
- Removed graphics loading for the unused graphics (CoOp, HM, NetPlay).



20-08-2002 ( Michaël Schoonbrood, Version: 1.2.6 GameHippo 2002 Contest)
- Fixed a memory leak on failed initialisation.



16-08-2002 ( Michaël Schoonbrood, Version: 1.2.5 GameHippo 2002 Contest)
- Removed NetPlay, Load/Save and all game modes except SP_LEVEL
  from the game. This is for the Special Edition of HaCKeR for the 
  Game Hippo HaCKeR Contest 2002.



06-06-2002 ( Michaël Schoonbrood, Version: 1.2.5 )
- Fixed a bug in the GameHippo DatFile class.



01-06-2002 ( Michaël Schoonbrood, Version: 1.2.4 )
- Added support for multiple GameHippo DatFiles, 1 for each GameMode.



01-06-2002 ( Michaël Schoonbrood, Version: 1.2.3 )
- Fixed a bug in which a block could move out of the playfield while it was appearing.



25-05-2002 ( Michaël Schoonbrood, Version: 1.2.2 )
- Encrypted the current HiScore in memory, as requested by GameHippo.



24-05-2002 ( Michaël Schoonbrood, Version: 1.2.1 )
- Fixed the time & place where the GameHippo HiScore files are saved.
  They are now only saved when you REACH a HiScore in non-network mode.



17-05-2002 ( Michaël Schoonbrood, Version: 1.2.0 )
- Added the GameHippo HiScore support. The newly created GameHippo_001068.dat
  file can be send to the webmaster at www.gamehippo.com and your HiScore will
  be added to the online HiScores there!



25-04-2002 ( Michaël Schoonbrood, Version: 1.1.7 )
- Removed logging, it was a flightsim joystick hanging in an upwards position.
- Fixed bug with save games crashing the game to desktop on some systems.
- HaCKeR can now be run without the HaCKeR.SFX file present (no SoundFX).
- Errors in Sound initialization will now result in warnings, since the game
  will still run!
- Fixed a bug where saving or loading a game, in which the block of a player
  was waiting to appear, would make the block appear at slow speed.



13-04-2002 ( Michaël Schoonbrood, Version: 1.1.7 )
- Added logging to try a fix where the menus don't react to UP/DOWN.



09-03-2002 ( Michaël Schoonbrood, Version: 1.1.6 )
- Replaced all old E-Mail and WebSite links with GamePlayHeaven.



06-12-2001 ( Michaël Schoonbrood, Version: 1.1.6 )
- Added an option to Enable/Disable the 2nd Next Display.



24-11-2001 ( Michaël Schoonbrood, Version: 1.1.5 )
- Made the Excellent and Superb texts more transparent (request).
- Changed the way those texts appear on screen.
- Added Tranparancy to the options menu.



23-11-2001 ( Michaël Schoonbrood, Version: 1.1.4 )
- Added a Time Remaining counter to the About screen.
- Blocks can now be moved and rotated while they are appearing.
- Fixed a bug where saving a game corrupted all date/times!



16-11-2001 ( Michaël Schoonbrood, Version: 1.1.4 )
- Fixed a major bug where the game didn't clean-up correctly (causing memory leaks).
- All pointer variables are now called pVariable instead of ptrVariable (new coding standard).



14-11-2001 ( Michaël Schoonbrood, Version: 1.1.3 )
- Put all Image IDs in a Enum, much easier to maintain!
- Updated AI Controller.
- Excellent and Superb text in Single Player and CoOp are now blinking!
- Added descriptions to all Joystick operations (now configurable in controls screen).
- Enabled Joystick button 3 and 4.



13-11-2001 ( Michaël Schoonbrood, Version: 1.1.3 )
- Fixed the MainMenu in non-translucent mode, it now looks like the old menu.
- Added an AI controller to HaCKMaTCH.



12-11-2001 ( Michaël Schoonbrood, Version: 1.1.3 )
- Added a translucency toggle. Default it's on.
- Added Joystick support.
- Changed the working of F10, it's now catched immediatly after it is pressed (anywhere!)



09-11-2001 ( Michaël Schoonbrood, Version: 1.1.3 )
- Changed the font shadow, it's ow the same colored font, blitted translucent!
- Changed the main menu (translucent options).
- Changed the HiScore graphics. The last reached position will now blink!



08-11-2001 ( Michaël Schoonbrood, Version: 1.1.3 )
- Added translucency (semi transparency) to the DDrawImage.



06-11-2001 ( Michaël Schoonbrood, Version: 1.1.2 )
- Fixed a bug with the 2nd Next Block Led being drawn at wrong place in HM level.
- Fixed a bug with the progress bar not raising in HaCKMaTCH.



05-11-2001 ( Michaël Schoonbrood, Version: 1.1.2 )
- Fixed bug with the 2nd Next Block not being activated in HaCKMaTCH mode.



02-11-2001 ( Michaël Schoonbrood, Version: 1.1.2 )
- Changed the coding style.
  All includes have been moved to the CPP file where possible.
  Graphics class has been replaced by the one from Bombahman.



13-10-2001 ( Michaël Schoonbrood, Version: 1.1.1 )
- Removed all links to MFC. The game no longer needs those darned MFC42*.DLL's!
- Upgraded FMOD to version 3.40.
- Using updated Graphics classes (improved version!).



30-09-2001 ( Michaël Schoonbrood, Version: 1.1.0 )
- Fixed a bug I introduced in 1.0.8 which prevented the game from loading older savegames.
- Updated the FastPingMode code, network play now works fine.
- Fixed the Message and InputBox code, so that they will correctly accept F10 to quit.
- After entering a HiScore in network play, both players will now return to the chatscreen.
- Added ShowPing code to the network games.
- Added ShowPing setting to the DAT file.
- Fixed CoOp GameOver jumping back to the main menu if there was no HiScore attained.
- Fixed a glitch in network play. When a block is stored the server should always send
  a synchronization packet to update the level data!



29-09-2001 ( Michaël Schoonbrood, Version: 1.0.9 )
- Added the new network code (FastPingMode). This should become the final network code
  which works fine in LAN games and might work in Internet games.



28-09-2001 ( Michaël Schoonbrood, Version: 1.0.9 )
- Fixed the ping code.
- Fixed a bug in the games shutdown code. Sometimes the game would try to draw it's last
  frame after the input had been lost (resulting in invalid Direct Draw surfaces).
- Fixed a bug in the DPlayLayer. It always send a MSG_QUIT when being cleaned up.
  This resulted in a entry in the log file about sending a message unitialized.



28-09-2001 ( Michaël Schoonbrood, Version: 1.0.9 )
- Added ping times.
- Changed the Global Unique Identifier (I think I was still using the one from the book).



23-09-2001 ( Michaël Schoonbrood, Version: 1.0.9 )
- Added messages to the following network events:
  Server goes to game select in chat screen.
  Server cancels game select in chat screen.



23-09-2001 ( Michaël Schoonbrood, Version: 1.0.8 )
- Fixed a bug in HaCKMaTCH mode where the P2 block suddenly moved left or right.
- Hopefully fixed the bug with disappearing blocks in HaCKMaTCH (previously froze game!)



23-09-2001 ( Michaël Schoonbrood, Version: 1.0.7 )
- Finished the new game select code in the chat screen.
- Fixed bug with jumpyness of appearing block (network, other player).
- Added synchronization of the NewBlockDelay to the start of a network game.
- Added version nr to players who enter chatscreen
- Added PLAYER READY chat messages in the chat screen.



22-09-2001 ( Michaël Schoonbrood, Version: 1.0.6 )
- Added the HelpFrame image class (needed on chat screen).
- Added HaCKMaTCH level mode.
- Updated Game Select with HM Level and Network mode.
- Added Game Select to network play (to start a network game).



20-09-2001 ( Michaël Schoonbrood, Version: 1.0.5 )
- Changed the local Packet objects into member variables (should be quicker).
- Changed the way the ChatScreen works. It now contains a menu in the bottom.
- Optimized and cleaned up the network code for the HaCKMaTCH mode.
- Added the network code to the CoOp modes.
- Fixed bug with other player's adding and deleting of rows didn't show up.



18-09-2001 ( Michaël Schoonbrood, Version: 1.0.4 )
- Added In-Game chat messages (F8).
- Changed chat screen, a player can now also notify the server that he's NOT ready.



18-09-2001 ( Michaël Schoonbrood, Version: 1.0.3 )
- Added the last used IP Address to the gamedata, it is now saved in between game sessions.
- Fixed a bug where the game would not start for a player who was entering a chat message!
- Added the messages that players send to indicate that they are ready to start a game.
- Added level data to the synchronization packets.



17-09-2001 ( Michaël Schoonbrood, Version: 1.0.2 )
- Fixed (hopefully) a bug where the game froze in HaCKMaTCH.
  I think it was a bug in the PushUp code, If rows get added, the block raises.
  The bug was that when the block had an Y origin that was to low, it would rise forever.
- Added the ingame network messages for block movement.



16-09-2001 ( Michaël Schoonbrood, Version: 1.0.2 )
- Added the game synchronisation packets. Network play is now possible.



15-09-2001 ( Michaël Schoonbrood, Version: 1.0.2 )
- Rewrote Block generator and block class partly.
  The block generator now only determines the type of the new blocks (no longer all the
  shapes) and it stores the first shape of each block for drawing puyrpose.
  The block now asks the new type, and fills the shapes itself given this type.
  These changes are also incorporated into the save games



14-09-2001 ( Michaël Schoonbrood, Version: 1.0.2 )
- Added message to the network screen which popup when hosting or joining a game.
- Fixed the bug with sending empty messages again... and this time tested it to.. lol ;)



13-09-2001 ( Michaël Schoonbrood, Version: 1.0.2 )
- Fixed a bug where the server could send empty messages
- Fixed a bug where the application crashed, probably because it tried to access a null pointer.
- Updated the ChatScreen, it now seems to be working correctly...



12-09-2001 ( Michaël Schoonbrood, Version: 1.0.2 )
- Finished ChatScreen (so far), graphics still suck of course...



11-09-2001 ( Michaël Schoonbrood, Version: 1.0.2 )
- Finaly managed to get the "Loading Graphics..." text to show up correctly colored (thanks to ChroniX).



10-09-2001 ( Michaël Schoonbrood, Version: 1.0.2 )
- Added a ChatScreen.



05-09-2001 ( Michaël Schoonbrood, Version: 1.0.2 )
- Added all TCP/IP multiplayer classes.
- Moved to DirectX8.



29-06-2001 ( Michaël Schoonbrood, Version: 1.0.1 )
- Changed the Audio initialisation. If it fails, the game will run without sound!
- Fixed a bug in the gamedata code. HiScore names where still not loading 100% correct.



16-06-2001 ( Michaël Schoonbrood, Version: 1.0.0 )
- Fixed a bug in the "illegal matrix position" logging routine.
  It was logging errors that wheren't errors at all, just checks to see if the block
  was hitting a side of the level.



16-06-2001 ( Michaël Schoonbrood, Version: 1.0.0 )
- Added New Block Delay to the gamedata class.
- Added New Block Delay to the Options.
- Changed the way the game checked if a block should start appearing.
  Instead of a set 0.25 delay, it now checks the New Block Delay setting.
- Added the Options to HaCKMaTCH and CoOp.
- Changed the gamedata class, so that it now also saves all the new settings.
- Added code that sets the SoundFX and Music volume.
- Disabled the DEBUG mode in all game modes.
- Removed VSync text display. Setting can now be checked in options.



15-06-2001 ( Michaël Schoonbrood, Version: 0.9.9 )
- Fixed a bug where the block speed of a player in HaCKMaTCH suddenly increased.
- Added Options (I finaly did it)... Press F5 in-game to switch to this screen.
  You can change Sound and Music volumes here, and lots of other settings to.
- Changed the FPS counter. HaCKeR will now remember if you want to show it or not.
- Added 5 more settings to the game data.
  Music Volume, SoundFX Volume, Key Repeat Delay, Key Repeat Rate and Show FPS Counter.



14-06-2001 ( Michaël Schoonbrood, Version: 0.9.8 )
- Fixed a bug in the AddRow code (the top level rows collided with a new block)
- Fixed a bug in the HaCKMaTCH level load code. The Matrix Buffer was not being cleared.



13-06-2001 ( Michaël Schoonbrood, Version: 0.9.8 )
- Fixed a bug after ALT-TAB'ing, the Font Shader was resetting it's color.
- Fixed another bug after ALT-TAB'ing, the SaveGame screenshots where not redrawn.
- Fixed a bug where the oldest HaCKeR.dat files where not updated correctly!
- Removed the BETA tag from the game title (yes!!!!!).



11-06-2001 ( Michaël Schoonbrood, Version: 0.9.7 )
- Added some "visualisation" code to the startup process.
  I can't get the colors right on Win9X systems tho.. (White text on black background)
- Added code to create DDraw surfaces in system memory when out of video memory.
- Changed the order in which the graphics are loaded, to make sure much used graphics
  are always in Video Memory.
- Added a Fonts dir. If the game is now installed over an old version, it won't use the
  wrong font file (because the new font file does a checkup in another dir).



06-06-2001 ( Michaël Schoonbrood, Version: 0.9.6 )
- Changed all drawing code. I removed the dwFlags from all functions.
  The only thing it can be used for is to set the DDBLTFAST_SRCCOLORKEY or the  
  DDBLTFAST_NOCOLORKEY, and these settings are draw-function specific, so they have
  been moved to their corresponding draw function in the CImg* class (Code CleanUp)!
- Fixed a bug in the Editor (HaCKMaTCH level editing was available).
- Changed the Hi-Score Graphics, so that the labels are more clearly present!
- Added a shadow effect to all drawn texts (still deciding between black and grey
  shadow, but I went with grey for now ).
- Fixed a bug in the savegame code. Old savegames where not loaded correctly!
- Fixed a bug in the P1 add row code... doh! the P2 code was fine :(
  I hate code copies... gotta find a solution for the HaCKMaTCH code to!



05-06-2001 ( Michaël Schoonbrood, Version: 0.9.6 )
- Fixed a bug with the savegame screenshots. The way they save and load has changed.
  Old savegames may show up with "No Screenshot Available"! This happens when the
  size of the screenshot doesn't match the memory reserved for it by the game.
- Changed code that turned on the 2nd Next Block in original (single level) mode.
  It will now be turned on when more then half of the level is filled with blocks.
- Fixed bug in HaCKMaTCH code where player 2's 2nd Next Block didn't turn on.



03-06-2001 ( Michaël Schoonbrood, Version: 0.9.5 )
- Changed screen side code. The game now remembers on which side P1 and P2 play.
- Fixed a bug in HaCKMNaTCH where the P1 and P2 second next block where drawn over
  each other.
- Fixed (hopefully) a bug in multiplayer where the block speed suddenly increased.
  I raised the Keyboard BufferSize, in the hopes that this will fix problems with
  block speeds. I checked the code and can't see what possibly could go wrong, 
  other then that the key-up event might not be registered in the keyboard buffer.
- Fixed a bug in HaCKMaTCH where the top rows dissapeared when adding rows.
- Fixed a bug in HaCKMaTCH where the game didn't switch to "Player # Won" when, by
  adding rows to the other players level, the top row got filled.
- Fixed (probably) a bug in HaCKMaTCH where blocks disappeared on row insertion!
- Fixed a bug in HaCKMaTCH where pushing up a players block by adding rows,
  resulted in a glitch. The block would always "hoover" 1 pixel above the row.
- Fixed a bug in HaCKMaTCH where the AddRowTimer would start to early for P2.
- Removed the "Not Implemented Text" for HaCKMaTCH on the GameSelect screen.



01-06-2001 ( Michaël Schoonbrood, Version: 0.9.4 )
- Added code that auto detects how many tilesets there are in the BLOCKS.BMP.
- Changed tileset code.. it will now switch between all available tilesets, and
  the tileset will be remembered and used for all game modes.
- Added code to the SaveLoad screen to check if the last used save slot is valid.
- Disabled transparancy on blocks.. because Blitting doesn't support it correctly.
  The Aplha blending will merge the image color with the transparent color which 
  makes it visible!



28-05-2001 ( Michaël Schoonbrood, Version: 0.9.4 )
- Fixed a bug in the HM savegames.
  Score, GamesWon and RowsToAdd where not being saved. Loading them created an error.
- Fixed a bug in the savegame code, which always stored the loaded LevelNr in the SP
  level data (CoOp would show the wrong version nr because of this).
- Added code to load the graphics into NonLocal Video Memory.
  I will make a different EXE, to try if makes the game work on video cards with 4MB
  or less video memory.
- Fixed a bug in which blitting (not fast blitting) an image to a new stretched/shrunk
  image seemed to add a white line to the left (horizontal stretch) and top (vertical
  stretch). The popup boxes really suckes because of this.. the corners would not
  match the connecting vertical and horizontal lines because of the recoloring.
  A way to circumvent this recoloring is to add 1 position to the source rectangle's
  top (vertical) or left (horizontal) position. This is one weird DirectDraw bug!
- Added the code that makes the rows add smoothly in HaCKMaTCH.
- Fixed a bug in the HaCKMaTCH code in which the speed progress indicators didn't
  reset at the start of a new level.
- Changed the way GameOver happens.
  Previously the last block would still look like a falling block
  Now the last block get's stored, and then the GameOver or Player # Wins appears.
- Removed the logging of warning messages because of music not being loaded.
  It was filling up the log with uninteresting data.
- Cleaned up HaCKMaTCH screen (pause looked crappy and the description was wrong).
- Added the HaCKMaTCH code that pushes the block upwards code when rows get added.
- Damn.. I'm good!



25-05-2001 ( Michaël Schoonbrood, Version: 0.9.4 )
- Added the HM code that shows the "Player 1/2 Wins" message.
- Fixed a bug where the menu music kept playing after you loaded a game.
- Changed the HM layout. Hi-Score has been replaced by Level.
  Scores are not important for HaCKMaTCH, but they do order the speed increases.
- Added the code to count the number of times each player has won.
- Added HaCKMaTCH to the level editor, but it's disabled untill the HMLevelData class
  has been added.
- Added Toggle + Description for changing Level modes to the Level Editor.
- Fixed a bug in the savegames.
  Blocks wheren't saving the time passed since their last movement (Block version 2).
- Added Score, GamesWon and RowsToAdd to the HaCKMaTCH savegames (HM version 2). 
- Added code to HaCKMaTCH that adds rows to the other playes level when you delete
  rows in your own level.
- Fixed some bugs with the copying of char variables.
  They where messing up the debug version of the game (jeeze.. strings are BAD in C++)!
- Added debug code, that disables the loading of screenshots in debug mode.
  The screenshot code froze the game when it locked a DirectDrawSurface
  This is a problem of DirectX... nothing I can do to circumvent it, but disable it!



24-05-2001 ( Michaël Schoonbrood, Version: 0.9.4 )
- Added the last used savegame position to the gamedata.
  The SaveLoad screen will now always appear with the last used savegame slot active.
- Fixed a bug in the Savegame code (savegames where saved with a wrong version nr).
- Fixed a bug in the Savegame code where a file handle wasn't closed properly.
- Fixed a bug in the Savegame code where a CoOp or HM savegame always had LevelNr 0.
- Changed the HaCKMaTCH code to display the in-game menu more clearly.
- Fixed a bug in the Savegame code where HM levels where not saved correctly.



23-05-2001 ( Michaël Schoonbrood, Version: 0.9.3 )
- Fixed a bug in all data files.
  I was loading and saving to many bytes, resulting in memory corruption.
- Replaced all "int" variables with "long" ones. A "long" is always 4 bytes,
  while an "int" can be anything from 1 to 8 bytes.
- Added the first and second next blocks to the savegames.
  The SaveGame version is now active (version 2) and all older savegames are unsupported!



21-05-2001 ( Michaël Schoonbrood, Version: 0.9.2 )
- Added a GAME SAVED and GAME LOADED message to the savegame screen.
- Fixed a bug with CoOp savegames only loading after a coop level had been started.
  Turned out to be my fault of course.. I was using the wrong file handle.. (scream!!!).



20-05-2001 ( Michaël Schoonbrood, Version: 0.9.2 )
- Added Screenshots to the savegames. Savegames ar now finished (let the testing begin!).



19-05-2001 ( Michaël Schoonbrood, Version: 0.9.1 )
- Added a function to the ImgFont class to draw a text centered between 2 X-Coordinates.
- Added PlayMode to the save games.
- Changed the SaveLoad screen to display the PlayMode.
- Fixed a bug in which a playmode would load a level of another playmode.
  ( A single player level could load a CoOp SaveGame).
- Added a Frame around the active control in the key redefinition screen.



17-05-2001 ( Michaël Schoonbrood, Version: 0.9.1 )
- Fixed a bug in the Input handling (InputBox now has a follow up action).
- Added code to display the new Excellent or Superb text for 4-rows-in-one.



16-05-2001 ( Michaël Schoonbrood, Version: 0.9.1 )
- Added ImgPlayerWins (contains "Player 1 wins" and "Player 2 wins" images).
- Added ImgBonusTexts (contains "Excellent" and "Superb" images).



13-05-2001 ( Michaël Schoonbrood, Version: 0.9.0 )
- Fixed LevelNr not being saved.
- Added LevelNr and Score to the SaveGame information.
- Added and fixed the HM Image code.
- Added and fixed the HM game code (preliminary).
- Moved all the Update functions to the class being updated (was done by the game class first).
- Changed Active control text color in control redefinition screen.
- Fixed a bug in the CoOp congratulations screen (it used the single player screen).



12-05-2001 ( Michaël Schoonbrood, Version: 0.8.7 )
- Added Date and Time information to the save games.
- Fixed a bug with CoOp hi-scores always having nr 1 as level nr.



11-05-2001 ( Michaël Schoonbrood, Version: 0.8.7 )
- Changed all version lengths to 3 positions. The level files have been updated for
  this change. But the old files also still work correctly (of course ;)
- Added saving and loading.
  It works fine, but I need to build the onscreen display with savegame information.
  You only see the 6 slots now. No info about weather a savegame is there or not.



09-05-2001 ( Michaël Schoonbrood, Version: 0.8.7 )
- Replaced all the logos with new ones!
- Added HaCKMaTCH classes (image and controller).



05-05-2001 ( Michaël Schoonbrood, Version: 0.8.7 )
- Changed F10 functionality. Pressing F10 will quit the game everywhere now!
- Added funtionality to Save/Load screen (only thing left to do is the actual save and load).
- Added Load and HackMatch to GameSelect screen.



03-05-2001 ( Michaël Schoonbrood, Version: 0.8.6 )
- Fixed a bug in the level editor (CoOp level wasn't cleared on startup).



02-05-2001 ( Michaël Schoonbrood, Version: 0.8.6 )
- Changed the ImgFont code, the font is now also loaded from the graphics resource.



01-05-2001 ( Michaël Schoonbrood, Version: 0.8.6 )
- Changed the Audio code. Samples (WAV's) will now be loaded from a resource file.
- Changed to a new font.



30-04-2001 ( Michaël Schoonbrood, Version: 0.8.5 )
- Added the SaveLoad class.



29-04-2001 ( Michaël Schoonbrood, Version: 0.8.5 )
- Fixed NUMPAD numbers not being accepted in key redefinition.
- Changed the default CoOp layout. Player 1 now plays on the right and Player 2 on the left.
- Added code which let's the player choose if Player 1 should play at the left or right.
  Toggle the play sides with F6 (CoOp only).
- Added a "Quit to desktop" to the game (hit F10 while playing).
- Added the About screen, so you can see who build it ;)



27-04-2001 ( Michaël Schoonbrood, Version: 0.8.5 )
- Added a litle pause before the start of a new block.
- Added extra points for dropping the block down (1 extra point for each block).
- Changed the code that checks if an error sound has been played for a moving block.
  The error sounds will be played now correctly (no more repeating error sounds).
- Removed the error sound for trying to rotate a square block (rotate all you will now)!
- Cleaned up the move left and right code.
  It now uses 1 function (instead of 4, 2 for each player)!!!!
- Cleaned up the CoOp code. Instead of dual functions (1 for each block), I now wrote
  1 funtion which gets a block as a parameter.



26-04-2001 ( Michaël Schoonbrood, Version: 0.8.4 )
- Upgraded FMOD to version 3.32.
- Changed the initialization order.
  The Graphics class is now initialized last, which enables all other initializations
  to show error messages (pop-up window) to the user.



25-04-2001 ( Michaël Schoonbrood, Version: 0.8.3 )
- Fixed a bug in the new collision detection routine.



24-04-2001 ( Michaël Schoonbrood, Version: 0.8.3 )
- Fixed some initializations of classes (variables where not set to default!)
- Added a new collision detection routine. This one checks if a block is valid after a row delete.
  After a row delete, all the blocks in the level above the deleted row(s) move down.
  It could be possible in 2 player CoOp mode, that the other player was beneath a block
  in the level. So I need to check if the "falling row" doesn't push the block down.



22-04-2001 ( Michaël Schoonbrood, Version: 0.8.2 )
- Fixed a bug in which Player 1 and Player 2 could use the same key for a control.



21-04-2001 ( Michaël Schoonbrood, Version: 0.8.2 )
- Implemented changes to GameSelect screen.
- Changed all E-Mail addresses, because I had to change internet provider.
- ReAligned all the headers on the screens which had one (Game Select, Controls, HiScores).



20-04-2001 ( Michaël Schoonbrood, Version: 0.8.2 )
- Added a toggle player description to the options (controls).
- Changed the blue bar in Single Level mode to reach ### points for 2nd Next block.
- Excluded PrintScreen, ScrollLock and Pause button from key redefinition.
- Changed ESCAPE key behaviour on loading screen, it now behaves like ENTER.



19-04-2001 ( Michaël Schoonbrood, Version: 0.8.2 )
- Added the in-game menu (Continue, Load, Save, Options, Quit).



15-04-2001 ( Michaël Schoonbrood, Version: 0.8.1 )
- Fixed a bug where the speed of a starting block was reset.
- Fixed a bug in which the level "moved over" a player block when it was deleting rows.



11-04-2001 ( Michaël Schoonbrood, Version: 0.8.1 )
- Added Game Select (to select different game types, like single player. multi player ).
- Fixed some bugs with the starting of levels.
- Fixed a bug in the HiScores (names where erased!)
- Fixed a bug in the HiScore, where pressing ESC while entering a name would result
  in the MainMenu instead of the HiScore display.
- Fixed some bugs in the editor (result from the switching between SP and CoOp mode)
- Code cleanup (massive)!



08-04-2001 ( Michaël Schoonbrood, Version: 0.7.5 )
- Added Key configuration for player 2.



07-04-2001 ( Michaël Schoonbrood, Version: 0.7.5 )
- Added CoOp mode to Level editor.



06-04-2001 ( Michaël Schoonbrood, Version: 0.7.4 )
- Fixed a bug where where the lowest block could move thru a part of the highest block.



05-04-2001 ( Michaël Schoonbrood, Version: 0.7.4 )
- Switched to the new CoOp graphics.
- Fixed a bug with double music in CoOp mode :)



04-04-2001 ( Michaël Schoonbrood, Version: 0.7.4 )
- Added synchronisation between the falling blocks in multiplayer mode.
- Added a Block Generator (this was previously done by the block class itself).
  A new block now gets its shape from the generator. This way 2 different blocks
  can use the same Block Generator, which is what I needed for multiplayer.



03-04-2001 ( Michaël Schoonbrood, Version: 0.7.4 )
- Fixed some small bugs in multiplayer mode
- Added a check to see what block is lowest, that block doesn't have to check for
  collison while falling (nice speed optimizer)!



02-04-2001 ( Michaël Schoonbrood, Version: 0.7.4 )
- Multiplayer is working (let the testing begin)!



23-03-2001 ( Michaël Schoonbrood, Version: 0.7.4 )
- Multiplayer mode is now running (ALPHA stage)
- Fixed a bug in the drawing of the 2nd next block.



22-03-2001 ( Michaël Schoonbrood, Version: 0.7.4 )
- Added ALPHA code for the multiplayer mode... (Which is still hidden :)



21-03-2001 ( Michaël Schoonbrood, Version: 0.7.3 )
- Redesign of Input part is also complete. The game us up and running correctly... on to MP!



17-03-2001 ( Michaël Schoonbrood, Version: 0.7.2 )
- Redesign of Graphics part is complete. Up next is the Input redesign (same principle).
  Lots a new classes have been added. The overall re-structuring is a long way from finished!



08-03-2001 ( Michaël Schoonbrood, Version: 0.7.1 )
- Redesigning the whole class structure of the game engine.
  Each class is now responsible for drawing itself (used to be all done by the graphics class)



14-02-2001 ( Michaël Schoonbrood, Version: 0.7.1 )
- Changed ImgBackground and ImgMenu class.
  They are now generic and used for all backgrounds and menu images.
- Added Version info to the HaCKeR.dat file, it can now load older versions correctly.



13-02-2001 ( Michaël Schoonbrood, Version: 0.7.1 )
- Added CoOp background and menu class.



02-02-2001 ( Michaël Schoonbrood, Version: 0.7.1 )
- Added code for multiplayer (the start of it)
  Player 1 and Player 2 controls are active.



24-01-2001 ( Michaël Schoonbrood, Version: 0.7.0 )
- Fixed a bug in which HiScores where not inserted correctly.



18-01-2001 ( Michaël Schoonbrood, Version: 0.6.9 )
- The game will now run without logging and hi-score/option saving when run from cd.
- The game now writes HaCKeR.log, HaCKeR.dat and LEVEL##.dat even if they have the
  read-only flag set.



17-01-2001 ( Michaël Schoonbrood, Version: 0.6.8 )
- Fixed DirectX7 build (I needed the header and library files from DX7 for this).
- Fixed a bug in which the game music kept playing thru the level change.
- Game can only be stopped by selecting QUIT in the menu (to prevent accidental ESC).
- Fixed Music and SoundFX disturbances on exit (nice & quiet exit).



15-01-2001 ( Michaël Schoonbrood, Version: 0.6.7 )
- Went back to DirectX 7.



27-12-2000 ( Michaël Schoonbrood, Version: 0.6.6 )
- Added a timer to the Congratulations screen.
- Fixed a bug with the Second Next Block not showing up when there were no obstructors
  at the start of a level.
- Fixed a bug with graphics not shopwing up after ALT-TABing.



24-12-2000 ( Michaël Schoonbrood, Version: 0.6.5 )
- Fixed key-redefinition.
- Saving and loading of control configurations is now implemented correctly.



23-12-2000 ( Michaël Schoonbrood, Version: 0.6.5 )
- Added key-redefinition. The options screen is now fully functional!



22-12-2000 ( Michaël Schoonbrood, Version: 0.6.4 )
- Added key-descriptions for all keys on the keyboard (needed for key configuration)



21-12-2000 ( Michaël Schoonbrood, Version: 0.6.4 )
- Updated the menu code, it was still using fixed positions (bah!) instead of defines.
- Changed the HaCKeR logo (from Hacker to HaCKeR).
- Removed almost all CString variables and replaced them with LPCTSTR variables.
  They where causing memory leaks all over the place!
  I'm only using CString variables when they are defined within the function.
- Changed the HiScore saving/loading code (because of the CString).
  This one should be quicker to, not that you'll notice ;)
  Quote of my day: "Strings in C++ suck!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
- Fixed a bug in the audio code, which poked it's ugly head around the corner
  when I upgraded to FMOD 3.30. Looks like hardware support for mp3 playback is broken!



20-12-2000 ( Michaël Schoonbrood, Version: 0.6.4 )
- Changed the Options graphics, and the way the rectangle was calculated/set.



18-12-2000 ( Michaël Schoonbrood, Version: 0.6.4 )
- Upgraded FMOD to version 3.30.
- Fixed a bug where two musics where playing at once after completing the game ;)
- Added the level desciption to loading screen
- Fixed alignment of level number and text on the loading screen (it's now centered).



14-12-2000 ( Michaël Schoonbrood, Version: 0.6.3 )
- Added the options bitmap!



13-12-2000 ( Michaël Schoonbrood, Version: 0.6.3 )
- Changed some bitmaps. Better split-up now (new loading bitmap)!



06-12-2000 ( Michaël Schoonbrood, Version: 0.6.2 )
- Added a blinking prompt (instead of the solid one)
- Fixed some sizes of message and input boxes.
- Added code to save the last typed Hi-Score name (no need to re-type the name)!
- Fixed the Congratulations screen...



04-12-2000 ( Michaël Schoonbrood, Version: 0.6.2 )
- Added 250 points for completing a level.



30-11-2000 ( Michaël Schoonbrood, Version: 0.6.2 )
- Fixed the HiScores. Again! sight...
- Fixed the congratulations screen... Some graphics where missing.
- Fixed some text alignments.



29-11-2000 ( Michaël Schoonbrood, Version: 0.6.1 )
- Removed NUMPAD-0 as a drop down key. Shows again, that I need to build key re-asignment :)



28-11-2000 ( Michaël Schoonbrood, Version: 0.6.1 )
- Fixed a lot of the font code. Some font sizes weren't calculated correctly.
- Changed to font to a larger one.



27-11-2000 ( Michaël Schoonbrood, Version: 0.6.1 )
- Fixed a bug with the reading of the HiScores. Some Names would have bogus text appended.
- Fixed a bug in which a HiScore would always be entered at position 10, even if you scored
  lower then the previous HiScore on position 10 :)



23-11-2000 ( Michaël Schoonbrood, Version: 0.6.1 )
- Changed and fixed the HiScore screen... it looks at least a little ok now :)



22-11-2000 ( Michaël Schoonbrood, Version: 0.6.1 )
- Building support for DirectDraw Direct3D and OpenGL into the game engine
- Fixed the entering of HiScore names. Names are now entered on the line with the HiScore.
- Added the congratulations code to the engine.



15-11-2000 ( Michaël Schoonbrood, Version: 0.6.0 )
- Moved to DirectX8 (graphics class not upgraded yet, because DDRaw is gone)!
- Upgraded FMOD to version 3.22.
- Added a check to see if the FMOD.DLL exists (not working yet)!



08-11-2000 ( Michaël Schoonbrood, Version: 0.5.4 )
- Fixed a bug that kep crashing the game when loading or saving data files!
  This one was a pain to find! It concisted of more bugs at first, all CString related, but
  in the end it was a mather of writing and reading into the correct buffer(length)!!!
- Added code for Capital and small letters to the InputBox.
- Added code for lots of ASCII characters to the InputBox (like !~@#$%^).



03-11-2000 ( Michaël Schoonbrood, Version: 0.5.4 )
- Added Name Entering to the HiScore screen!
- Changed the InputBox class, it now works like the MessageBox class.
- Fixed new HiScores inserting at wrong positions.



01-11-2000 ( Michaël Schoonbrood, Version: 0.5.4 )
- Added the Options and the HiScores screen!
- Added HiScoreList support (Top 10).



31-10-2000 ( Michaël Schoonbrood, Version: 0.5.3 )
- Fixed ALT-TAB, all Music and SoundFX will now pause/unpause when focus is lost/gained!
- Fixed bug in which the Font color was not reset (text showed up in wrong colors).
- Added a timer to the MessageBox (you can now let it disappear after # seconds).



27-10-2000 ( Michaël Schoonbrood, Version: 0.5.2 )
- Fixed ALT-TAB, game timers will now stop when focus is lost (ALT-TAB).



26-10-2000 ( Michaël Schoonbrood, Version: 0.5.2 )
- Fixed ALT-TAB not correctly re-loading all bitmaps (there's still something wrong)!



24-10-2000 ( Michaël Schoonbrood, Version: 0.5.2 )
- Added a MessageBox class. Now I can show a message in a MessageBox every where I want... Very Usefull!
- Added code which calculates the size of a MessageBox or Input box,
  according to the text that is drawn within them.
- Added the code for the movement of the prompt in the InputBox.
- Added feedback to level loading and saving in the editor. A fail/succes message will popup after loading.



23-10-2000 ( Michaël Schoonbrood )
- Moved all bitmaps to a Resource file (DLL). This means that the executable is only 76K in size.
- Added better error handling on missing files.
  Now a MessageBox will appear with the name of the missing file.
- Fixed a bug in which the 2nd Next Block didn't appear after all the obstructors where removed!
- Fixed the progress (bar) when playing "clear level" (it didn't do anything at all).
- Fixed the bug which showed the next level after a level was completed, but before the loading screen.



20-10-2000 ( Michaël Schoonbrood )
- Fixed ALT-TAB crashing the application and ALT-TAB now pauses the game.
- Fixed some drawing problems (in the editor)
- Added a ColorFill function to the Graphics class.
- Fixed Level loading. After loading a non existing level, all LevelData will now reset.
  Also, the Loading screen now shows the correct level number.
- Fixed Level saving in the editor (wrong filenames where used)



19-10-2000 ( Michaël Schoonbrood )
- Enhanced code for entering numbers. I'm now using an InputBox class.
  This class handles all input (numbers, strings, confirmations).
- Moved all the keyboard related from the Input class to a new class.
  Much better organized now. CInput is the main input class. It uses the
  new CKeyboard class to get keyboard input.
  Implementing a Mouse and a Joystick class is really easy to do now!



18-10-2000 ( Michaël Schoonbrood )
- Fixed code for entering numbers



17-10-2000 ( Michaël Schoonbrood )
- Changed Editor and Input code.
- Added code for entering numbers.



13-10-2000 ( Michaël Schoonbrood )
- Finnished level changing code.
- Fixed some drawing bugs.



12-10-2000 ( Michaël Schoonbrood )
- Added code for level changing.



11-10-2000 ( Michaël Schoonbrood )
- Replaced all text drawing code with code that uses the new font class.
- Added a DrawRaster function, which can draw a nice rectangle anywhere on screen.
  This raster will be used to display messages and for user input (like HiScore name).
- Changed the version numbering to 3 version numbers (major version.minor version.build nr)



10-10-2000 ( Michaël Schoonbrood )
- Moved all the specific image code to it's new class.
- Added functions to the image classes to set the source rectangles (for blitting).
- Documented the font code some more.



06-10-2000 ( Michaël Schoonbrood )
- Added the font code and graphics to the game (finally!).
  This will enable me to quickly add a lot of stuff, like asking for input...

- Changed the graphics code. I've writen a Imgage class.
  This class handles the surface creation and image (bitmap) loading.
  All BMP Surfaces I use ( Menu, Background, In-Game, Font, etc... ) now inherit
  from this new Image class. This is the way it should have been all along!



05-10-2000 ( Michaël Schoonbrood )
- Added ROWS to the stats, this shows the nr. of rows you've completed so far.

- Changed the scoring, you now get an additional 1 point for each block stored.
- Changed the graphics a little.
  When you're playing you see the bottom block in the corner of your eye, that's
  why the 1st and 2nd display have switched places.



03-10-2000 ( Michaël Schoonbrood )
- Added Key descriptions and a legenda to the editor.



02-10-2000 ( Michaël Schoonbrood )
- Removed all While( true ) loops from the code, and replaced them with timed loops.
  All DirectX 7 samples use this, im my opinion very bad code, a lot!!!
  I added a timer to these loops, if they take more then a certain amount of time,
  the loop will abort. This prevents hang-ups!



29-09-2000 ( Michaël Schoonbrood )
- Added a LevelData class. The level matrix and level statistics are now stored
  in this new class. Both the Editor and the Level use this class, which enables
  me to easily implement a playtest function to the Editor.



28-09-2000 ( Michaël Schoonbrood )
- Build a decent DirectX 7 check (to many e-mails about missing dll's)!
  You now get a nice message box telling you "DirectX 7 not installed!"



26-09-2000 ( Michaël Schoonbrood )
- Added the level editor
  Save/Load/Clear not working yet. It also needs more on-screen info!



25-09-2000 ( Michaël Schoonbrood )
- Added a check on the DirectX version.
  Anything lower then version 7 will not run!



24-09-2000 ( Michaël Schoonbrood )
- Added bars for level progress and 2nd next block power.
- Added code for 3 types of levels:
  Score = Reach a certain score
  Rows  = Complete a certain amount of rows
  Clear = Clear all the blocks from the level



23-09-2000 ( Michaël Schoonbrood )
- Fixed the sound code (all sounds now stop when they should).
- Fixed SoundFX volume (they where much to low).



22-09-2000 ( Michaël Schoonbrood )
- Added HiScore saving (you still can't type your name).
- Added a pause option (press P to pause)
- Added all the code for the 2nd Next Block (after 500 points)



20-09-2000 ( Michaël Schoonbrood )
- Added the new graphics for the block entrance.
- Added the new graphics for the on screen buttons.
- Added code that presses the on-screen blocks when you press the keyboard key!

- Changed the rotation code slightly. The I block can now rotate at the top!
- Changed a lot of the graphics definitions, it's much easier to maintain now!
- Changed all the graphics blitting code... much better and cleaner now!



19-09-2000 ( Michaël Schoonbrood )
- Added more new graphics (also by ChRoNiX)!
- Added Speed and Level number to the Stats plug-in.
- Added defines for all the graphics objects in the bitmaps.
  This makes it much easier to change the graphics and their on screen positions

- Changed the Graphics-Load code. It now tries to load a bitmap from disk,
  and if it can't find it, it will use the one in the exe.
- Changed a lot of the graphics, and reorganized the game bitmap (game.bmp).



18-09-2000 ( Michaël Schoonbrood )
- Finally... all new graphics!!!!!!!!!!!!!!!! Check it out!
  All thanks go to 3D Studio Max wizard 'ChRoNiX'... thanks man!



17-09-2000 ( Michaël Schoonbrood )
- Switched all the audio code to FMOD. I still need to fix some minor stuff though!



15-09-2000 ( Michaël Schoonbrood )
- Added code to play MP3's. I'm temporarily gonna use the GAudio lib!
  Dumped GAudio allready! It slowed the game down to much... I'll try FMod next!

- Changed Menu and In-Game music to MP3.



14-09-2000 ( Michaël Schoonbrood )
- Added 'LEVEL 1' text when starting a game (plus all the graphics).

- Changed the level graphics (more to come)!



13-09-2000 ( Michaël Schoonbrood )
- Added logging to all initialization code

- Fixed a bug in the rotation code (you could rotate into other blocks :)



12-09-2000 ( Michaël Schoonbrood )
- Added code to quickly drop the new block onto the level (much better now!)
- Added the CGraphics class, and moved all the DirectDraw functionality there.

- Changed the graphics a bit... (no more rasters!)



11-09-2000 ( Michaël Schoonbrood )
- Added code that first tries to find the big (huge) music files, and if it
  doesn't find them, then it loads the smaller downsampled music files.
  Downsampled the music files from 44.100 Hz, 16 bit Stereo to 11.025 Hz 8 bit Mono.

- Changed the volume of some of the Sound Effects.

- Fixed a bug which made the Key Repeat very jumpy, and which also made a block
  move 2 positions to one side in quick succession.
  Every time the moving block moved down a complete row, I checked to see if a key
  was pressed to move it to a side (for when you want to squeeze it into a gap!).
  I was always executing that code, while it should only be executed when you're
  holding down the direction key AND you couldn't move in that direction on the
  row above.
  This sucker took me all morning to find!



10-09-2000 ( Michaël Schoonbrood )
- Break time!
  pfooooi... let's rest!



09-09-2000 ( Michaël Schoonbrood )
- Fixed the sound routine! It now plays wav samples of any kind!

- Changed all samples from 8.000 Hz, 8 bit to 22.050 Hz, 16 bit (mono).
  The music is now 44.100 Hz, 16 bit Stereo!

- Added in-game music!



08-09-2000 ( Michaël Schoonbrood )
- Added Key Repeation. You can now hold down a key and it will keep moving
  that direction.

- Changed the code for the Input class. It has been optimized and is ready
  for implementation of redefinable keys.
- Changed CLevel code. When an opening opens up at the left or right side 
  of the block and you're holding the correct direction key pressed (left
  or right respectively), the block will move to that side!



07-09-2000 ( Michaël Schoonbrood )
- Changed the code for Direct Input. I wrote a wrapper class (CInput) around
  the Direct Input class. All input related code is now in the CInput class.



06-09-2000 ( Michaël Schoonbrood )
- Added all sound effect to the game!
  These are not the finale ones (of course), but hey... it's much nicer now :)

- Changed the sound code. I put my own CAudio class around Direct Sound.
  I create an instance of CAudio in my CGame class, which passes it on to
  CLevel. This way I can play sounds anywhere in my program... very nice!
  I'll probably do the same for all other Direct X parts (DDraw and DInput)



05-09-2000 ( Michaël Schoonbrood )
- Added music to the game and sound effects to the menu!
  The sound code is Work In Progress... But there is progres!
- Added mutiple TileSets. Probably for testing only (press "T" to change).



04-09-2000 ( Michaël Schoonbrood )
- Added logging functionality wich write the complete level matrix to the log

- Changed the "Squeeze Row" routine, much smoother now!
- Changed and cleaned up all the code of the Level class (much better now)
- Changed the "Block resting" code, you can now only move 1 position after
  the block is resting (laying the bottom or on top of another block)



03-09-2000 ( Michaël Schoonbrood )
- Added a lot of the Direct Sound code, but this one is gonna take some time!
  Direct Draw took me a week or 2 to figure out adequately...
  Direct Sound will probably take as long!
- Added a debug mode, everything will move very slow! (press "D")

- Changed "Squeeze row" code, it now uses the blit function of DirectDraw.
- Changed the FPS counter, you can now toggle it on/off with the "F"



02-09-2000 ( Michaël Schoonbrood )
- Changed all the initialization and main loop code.
- Changed the way blocks rotate. The Z and I blocks now have only 2 shapes
  They no longer fully rotate (let me know if you like this better!)



01-09-2000 ( Michaël Schoonbrood )

           **********************
           *** BETA RELEASE 1 ***
           **********************

- Added all the code and graphics for the full-row-squeezing
- Added all the code and the rest of the graphics for the score display!

- Changed the level-draw code. It now draws the blocks from the bottom up
- Changed the block graphics.

- Fixed a bug in the Block-falling routine. It only checked if 1 of the 4 parts of
  a block hit the bottom line. It now checks if any of the 4 hits the bottom!



31-08-2000 ( Michaël Schoonbrood )

           ************************************
           *** FIRST FULLY PLAYABLE RELEASE ***
           ************************************

- Added all the code and graphics for the in-game score
- Added all the code and graphics for the NextBlock picture

- Fixed the bug in which some full lines stayed put (argh!!!!)
- Fixed some initialization problems which resulted in hang-ups
- Fixed some bugs in the rotation routine
- Fixed some other bugs...
- Fixed some more bugs...
- Did some bug fixing... You get the point



30-08-2000 ( Michaël Schoonbrood )
- Added all the code for handling real Tetris blocks (including rotation)

- Changed single blocks to the real ones (Tetris blocks)
- Changed CBlock class to it's final state (for now)

- Fixed a LOT of code in the CLevel class... but still a long way to go!



29-08-2000 ( Michaël Schoonbrood )
- Changed the code which checks if a line is full (much faster now)
  and it works :)

- Fixed the framerate counter. I'm no longer using GetTickCount()
  I switched to the CFrameTimer class (see D3D particle example)



28-08-2000 ( Michaël Schoonbrood )
- Added the CLevel class
- Added real level layout (using CLevel class)
- Added falling blocks
- Added in-game keyboard control (left, right, speed up, immediate down)
- Added first simple collision detection
- Added GameOver graphics
- Added code to check for GameOver
- Added defines for MenuItems, GameMode and LevelMode (much cleaner code)
- Added a check to count and store all full rows
- Added a function to delete those full rows

- Changed/enhanced the CBlock class
- Changed all code so it now uses CLevel and CBlock
- Changed the BlockArea to one with a grid. Easy for debugging!

- Fixed a bug with the last block in mid-air at GameOver.



27-08-2000 ( Michaël Schoonbrood )
- Added the CBlock class
- Added the start of the real game code (BlockMatrix)

- Changed InGame graphics (blurring rules!)



26-08-2000 ( Michaël Schoonbrood )
- Added Hacker Icon
- Added game modes, currently 3: MENU,GET READY,GAME
- Added graphics for GET READY and GAME modes.

- Changed graphics (much cleaner look)

- Fixed resources not loading!
- Fixed keybuffer handling (now it works!)

