******************** ** RELEASE v2.0.1 ** ******************** 13-06-2011 (Michaël Schoonbrood, Version: 2.0.1) - Fixed a bug in the network lobby, where rejoining the lobby would have the matching versions flag set to false. - Added the STaCKaH Add. 03-05-2011 (Michaël Schoonbrood, Version: 2.0.1) - Made all member variables in GameComponent and Sprite private, and updated all games code to use acess/assign functions for access. - Fixed a bug in the initialisation of the SaveGame images (LoadImage wasn't called). 24-04-2011 (Michaël Schoonbrood, Version: 2.0.1) - Moved the now generic LoadData class to the GamePlayHeaven library. 23-04-2011 (Michaël Schoonbrood, Version: 2.0.1) - Merged the LogoGPH into the LoadData screen/class, so that the logo shows while the game is loading. - The ProgressBars have been removed, and a new Loading bar is now only shown in debug mode. - LoadData is now state driven. 11-04-2011 (Michaël Schoonbrood, Version: 2.0.1) - Rolled back some loading/saving code, so that savegames and levels remain unchanged. - Switched the yellow and green color back around for the Z and reversed Z block (same as in pre v2.0.0). 08-04-2011 (Michaël Schoonbrood, Version: 2.0.1) - Replaced all windows specific level loading code (HFILE) with cross platform code (std's iostream). - Removed the extra column storing the nr of blocks in a row, this is now calculated when needed. 06-01-2011 (Michaël Schoonbrood, Version: 2.0.1) - Fixed a level nr issue when loading levels in HaCKMaTCH mode. - Added level skipping to debug mode (Ctrl+N). 05-01-2011 (Michaël Schoonbrood, Version: 2.0.1) - Fully working using new framework (component changes) 04-01-2011 (Michaël Schoonbrood, Version: 2.0.1) - Upgraded to the latest framework. - Replaced all SwitchTo functionality by (De)ActivateComponent functionality. - All Function key shortcuts have been replaced by control + function key. 03-12-2010 (Michaël Schoonbrood, Version: 2.0.1) - Renamed all classes to the new style (without the C in front of the name). - Removed all the abundant and useless comment blocks at the top of cpp files. 10-11-2010 (Michaël Schoonbrood, Version: 2.0.1) - Renamed EnumMeshed to EnumMeshID. - Removed DWORD_LENGTH. 09-11-2010 (Michaël Schoonbrood, Version: 2.0.1) - Updated all code to be Linux/MacOSX gnuc compliant. - Renamed EnumImage to EnumImageID. 02-11-2010 (Michaël Schoonbrood, Version: 2.0.1) - Replaced non-descriptive variables (like i) with new ones that indicate what the variable is used for. - Prefixed all ++ and -- calls. 22-10-2010 (Michaël Schoonbrood, Version: 2.0.1) - Added TypeDefs.h with some typedefs that replace the ones from windows.h. - Replaced all windows typedefs in code (DWORD, WORD, RECT, POINT, etc...) with the new ones from TypeDefs.h 11-10-2010 (Michaël Schoonbrood, Version: 2.0.1) - Update all code to the new way of inlining Meaning: Only inline access/assign/forwarder functions that consist of 1 line of code. Put the code in the header of the class, directly behind the function definition. Don't use the inline keyword anymore. 20-09-2010 (Michaël Schoonbrood, Version: 2.0.1) - Added a shortcut key to load a level in debug mode (CTRL+L). ******************** ** RELEASE v2.0.0 ** ******************** 02-09-2010 (Michaël Schoonbrood, Version: 2.0.0) - The JoinGame succeeded code was never executed, it is now moved to a seperate function that will be called upon an immediate or delayed connect (immediate assumably never happens). 01-09-2010 (Michaël Schoonbrood, Version: 2.0.0) - Appearing Blocks now also use the new SpeedUp code. - The block rest time for dropping down blocks is now correctly handled instead of unintendedly working. - Fixed a glitch in transition from block appearing to SpeedUp Block Falling. - Fixed a bug where releasing the SpeedUp key while a block was appearing would reset the speed to 1 (instead of the correct block-appear speed). 31-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - The SpeedUp factor is now adjust to the GameSpeed, meaning that a SpeedUp at GameSpeed 1 will result in the same speed as a SpeedUp at GameSpeed 10. 27-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - F10 handles now exactly the same as pressing X or Alt+F4. - Disabled the level editor in release mode. - Fixed a bug where speeding up a block at high speeds could freeze the game. 26-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Fixed in-game Chat Message positions. - Fixed NetworkLobby chat message position. - Removed redundant code from NetworkLobby. - Changed active entry color to a more darker blue, so it stands out. 25-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Removed the white/grainy pixels from the icon. 24-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Fixed some installer issues (uninstalling on Windows 7). - Fixed a resource handling bug. 23-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Added 20 new levels (10 normal, 10 coop) for the DonationReward. - Added the DonationReward resource file (and detection). - When the DonationReward is present, the Donate screen will be skipped upon exit. 21-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - WM_QUIT events now call the OnQuit() function of the interface. In there, the game can determine what to do (show outro/donate/quit). 20-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Replaced the intro screenshot of the old hacker with one that matches the new screen layout and has no item highlighted. - Added the IDLE states (modes) to the SP and CoOpGame, this enables the EndScreen to be shown without any game leftovers (blocks/texts) in it. - Added the VICTORY text (including animation) to the EndScreen. - The SpecialTexts (Excellent/Superb) are now no longer displayed on the EndScreen. - The SpecialTexts allignment during CoOp games has been fixed. - Fixed on screen positions of certain texts (FPS/Ping/Resolution). 19-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Added the buttons to the donate screen. - Finalised the Donate screen. - Finalised the new Outro. - Fixed the Level goal text in classic games. - Removed the donate button from the MainMenu, as there is now a seperate Donate screen. 18-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Replaced the outro screen with a new one. 17-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - The build nr is now logged if it doesn't equal 0. - All options are now reset again correctly. - Key defines are no longer reset when resetting options. They can now be reset on the controls screen instead. - Fixed a bug where the DropDown keys didn't work in coop games when the block was appearing. - Added the Donate screen. 16-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Fixed some minor (non) issues in the game code (code optimisation). - Fixed a bug where the CoOp Game could enter an endless loop during network games. - Fixed a graphics glitch in CoOp Games, where the 2nd Player's block wasn't synchronised to the client. 14-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Fixed a bug in the VerionInfo class, where to functions got mixed up and where returning the wrong value. - Enlarged the width of the status box in the network lobby, to fit the connection timed out text. - Fixed message box positions during network games (when a player leaves the game). - Set the default network port to 5015 (from 5005). - Fixed some GameConfig alignment issues. 09-08-2010 (Michaël Schoonbrood, Version: 2.0.0) - Default DPlayServer traversal mode is now PortRecommended - Added an extra attempt to host a DPlay Server with traversal mode set to None. - Fixed some alignment issues in the log. 28-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - Fixed the installer, so that the game installs fine under Windows 7 and Vista. It can now create savegame/log/config/hiscore/screenshot files under these operating systems. - Fixed a bug in network CoOp mode, where the gameover screen wasn't shown on the client. - Network Title and chat history are no longer reset when you return to the Network Lobby. - Fixed a bug where active message/input boxes wheren't closed upon hitting F10. - Fixed the level editor layout and block colors. 27-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - Cut all game elements out of the backgrounds. 26-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - Added screen darkening when menus are activated, or when the game is paused. - Pausing a Network game now shows the hotkeys for send chat message and return to network lobby. - Hitting Escape in a Network games no longer immediatly quits to the lobby, it pauses the game instead. - CTRL+M is now the new hotkey to Mute all sound and music volume. - Un-muting the volume will now restore the previous volume instead of max volume. 22-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - Fixed the progression bar heights. - Fixed a bug in HaCKMaTCH game, where the 2nd next block was never enabled. 21-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - The SelectionBoxes now glow. 20-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - The last played gametype for normal and network games are now saved in the config. These gametypes will be default selected on the GameSelect/Network screen. - The last played Network game Host/Join setting will now be remembered as wel. - Changed all default HiScore Names. - Added missing reading/writing of most GameSettings. 19-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - Added sanity checks to all data the config reads and sets (MIN/MAX values). 16-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - Added the Intro. - Fixed SaveLoadScreen positions. - Made the GameType texts more indicative (not just SP for Single Player Level). 08-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - Upscaled the game to 1024x768. 05-07-2010 (Michaël Schoonbrood, Version: 2.0.0) - Rewrote and optimized lots of internal code. - Renamed PlayMode to GameType. - HiScores are now kept encrypted in memory (to prevent cheating) 30-06-2010 (Michaël Schoonbrood, Version: 2.0.0) - Renamed CoOpLevel, HMLevel and Level to CoOpGame, HMGame, SPGame respectively. - Replaced GameData with GameConfig. - Removed mutiple TileSet support. 07-06-2010 (Michaël Schoonbrood, Version: 2.0.0) - Darkened the background in the NetworkLobby when the HostJoin menu is active. 20-05-2010 (Michaël Schoonbrood, Version: 2.0.0) - Added a Windows version number check, in case we need different settings for windows vista and higher. 19-05-2010 (Michaël Schoonbrood, Version: 2.0.0) - Fixed numerous bugs in the old code where a hardcoded number indicating the player ID was passed to send packages. This created bugs when the player IDs where made 0 based instead of 1 based. 18-05-2010 (Michaël Schoonbrood, Version: 2.0.0) - Upgraded network layer and moved it to the GPH Library. - Merged the Chatscreen and the Network screen into one new NetworkLobby. 27-04-2010 (Michaël Schoonbrood, Version: 2.0.0) - Fixed a number of string length bugs (assertions). - Added version checking to the chatscreen. 26-04-2010 (Michaël Schoonbrood, Version: 2.0.0) - Upgraded project to Visual Studio 10. - Upgraded project to use long timers instead of floats (GamePlayHeaven library update). - Upgraded to use [XY] coordinate arrays. - Upgraded to use static const variables instead of defines. 15-03-2010 (Michaël Schoonbrood, Version: 2.0.0) - Replaced all magenta colors in the images by true transparancy. - Replaced all unsafe string manipulation with the safe version. 09-03-2010 (Michaël Schoonbrood, Version: 2.0.0) - Upgraded project to Visual Studio 9. - Upgraded to use the GamePlayHeaven library. ******************** ** RELEASE v1.5.3 ** ******************** 30-09-2009 (Michaël Schoonbrood, Version: 1.5.3) - Assigning joystick buttons to game actions now shows the correct description. ******************** ** RELEASE v1.5.2 ** ******************** 14-09-2009 (Michaël Schoonbrood, Version: 1.5.2) - Fixed the LAN IP Address in the Network lobby. - Added the Internet IP Address to the Network lobby. - Fixed a memory leak + crash bug in the DPlay Server code (related to pdpnPlayerInfo). - Added Donate options. ******************** ** RELEASE v1.5.1 ** ******************** 10-08-2009 (Michaël Schoonbrood, Version: 1.5.1) - Changed the keyboard controls for the level editor. ******************** ** RELEASE v1.5.0 ** ******************** 28-07-2009 (Michaël Schoonbrood, Version: 1.5.0) - Upgraded engine to the latest version. - Replaced all \ with / in filename paths (for mac/linux compatibility). 19-01-2009 (Michaël Schoonbrood, Version: 1.5.0) - Detached the loading of images/soundfx/music from the intialisation of the graphics/audio layer. This enables the showing of a progress screen while the above files are being loaded. - Added the LoadData screen/class, for showing data loading progress upon startup. 25-09-2008 (Michaël Schoonbrood, Version: 1.5.0) - Replaced the .gfx and .sfx file by the new .gph resource file. - Moved the levels into the .gph resource file. - Renamed and rewrote the RunGame.exe into the Check.exe, which can be used to check if all required files exist. - Added the gph module handle to the GameData class, including an access function. - Rewrote all resource loading code to use the GameData function. - Converted all wav and mp3 files to ogg format. - Added the music files to the resource. - MessageBox and InputBox are now singletons. 15-09-2008 (Michaël Schoonbrood, Version: 1.5.0) - Fixed a bug where repeatedly clicking the X to close the game would keep resetting the Outro. - Fixed a bug in the input code that broke the key buffering (key repeation). - Fixed a bug in the audio code where playing a SoundFX somtimes stopped the music. 11-09-2008 (Michaël Schoonbrood, Version: 1.5.0) - Fixed some bugs in the audio layer 10-09-2008 (Michaël Schoonbrood, Version: 1.5.0) - Moved all coordinate related defines to the classes they belonged to (instead of the Graphics_Defines.h). - The about screen now fades out and in. - Added the Intro. - Added 5 resolutions to the game. 09-09-2008 (Michaël Schoonbrood, Version: 1.5.0) - Upgraded the game engine to the latest version (incl. resolution switching). 30-05-2008 (Michaël Schoonbrood, Version: 1.5.0) - Fixed a bug in HaCKMaTCH where the buttons of the second player didn't update on screen. - Changed some graphics to jpg format to shrink the download size. 08-05-2008 (Michaël Schoonbrood, Version: 1.5.0) - SaveGame screenshots are working again (new D3D code). - Adjusted the "Game Paused" message, to include the unpause key. - Properly centered the pause messages. - Updated the background graphics, to make the columns in the background less sharp (more blurry). - Changed the blocky pixel raster where the blocks appear into a drop shade. 17-04-2008 (Michaël Schoonbrood, Version: 1.5.0) - Added a MessageBox function to theGraphics, they will only be showed during WindowedMode. - Changed the GameActive code, so that it's able to draw the game even when inactive. Assuming the drawing device is not lost. - The game window is now centered on screen on first start up. - Fixed odd color flashes while toggling from fullscreen to windowed mode. 16-04-2008 (Michaël Schoonbrood, Version: 1.5.0) - Windowed mode is now saved in the gamedata. - Focus loss and gain is now detected and handled 100% in all situations tested. 14-04-2008 (Michaël Schoonbrood, Version: 1.5.0) - Alt-Enter is now fully working (again). 10-04-2008 (Michaël Schoonbrood, Version: 1.5.0) - Added 800x600 resolution (windowed mode). 08-04-2008 (Michaël Schoonbrood, Version: 1.5.0) - Performed a code overhaul on the HMLevel class, fixing some bugs as well. 07-04-2008 (Michaël Schoonbrood, Version: 1.5.0) - Alt+Esc is now fully working as well. - Fixed a bug where you couldn't leave the load/save screen. - Set the MipLevels fixed to 1 in the D3DImage class, this prevents all artifact problems on textures that are not a power of 2. - The DropDown key only drops down 1 block per key press now. This way you won't accidentally drop the next block as well. 04-04-2008 (Michaël Schoonbrood, Version: 1.5.0) - Alt+Enter is now fully working. - Added the GameWindow class, and moved all window related code to the new class. This cleans up the WinMain code. 02-04-2008 (Michaël Schoonbrood, Version: 1.5.0) - Switched to the latest version of FMOD Ex (instead of FMOD 3). 08-10-2007 (Michaël Schoonbrood, Version: 1.5.0) - Changed the directory structure to the new style (Bombahman). - Switched to the latest graphics layer. ******************** ** RELEASE v1.4.0 ** ******************** 12-06-2006 (Michaël Schoonbrood, Version: 1.4.0) - Re-edited all the file headers (removed unused information). - Rewrote and updated code left and right, to make it compile using the new graphics engine. - Renamed the ImgBlocks to DDrawBlocks and added (copied it into) D3DBlocks. - Renamed the ImgSaveGameShots into DDrawSaveGameShots and added (copied it into) D3DSaveGameShots. 09-06-2006 (Michaël Schoonbrood, Version: 1.4.0) - Replaced the graphics layer with the full layer from Bombahman (including D3D support). ******************** ** RELEASE v1.3.3 ** ******************** 30-08-2005 (Michaël Schoonbrood, Version: 1.3.3) - The game will now first try to load the levels from disk, next from the HaCKeR.LVL file, and last, if all else fails, from the HaCKeR.exe itself. ******************** ** RELEASE v1.3.2 ** ******************** 17-11-2003 (Michaël Schoonbrood, Version: 1.3.2) - Removed the Levels dir, levels now load from the exe. ******************** ** RELEASE v1.3.1 ** ******************** 18-10-2003 (Michaël Schoonbrood, Version: 1.3.1) - Added Pausing/Unpausing to network games. ******************** ** RELEASE v1.3.0 ** ******************** 29-09-2003 (Michaël Schoonbrood, Version: 1.3.0) - Fixed a bug in Network CoOp mode where the client could move outside the level while block was appearing. - Fixed a bug in HaCKMaTCH in regard to the same problem ******************** ** RELEASE v1.2.9 ** ******************** 28-09-2003 (Michaël Schoonbrood, Version: 1.2.9) - Added version info for GFX and SFX files. - Fixed version info not showing in .NET build. - Fixed bug where the client is suddenly on another level as the server. ******************** ** RELEASE v1.2.8 ** ******************** 10-04-2003 (Michaël Schoonbrood, Version: 1.2.8) - Added the SpeedUp Factor to the in-game options. Use this to control to rate at which your block speeds up. ******************** ** RELEASE v1.2.7 ** ******************** 12-11-2002 (Michaël Schoonbrood, Version: 1.2.7) - Added Skill levels for HaCKMaTCH games (in-game options). - Added support for HOME and END keys in menus. They jump to first and last item respectively! ******************** ** RELEASE v1.2.6 ** ******************** 28-08-2002 (Michaël Schoonbrood, Version: 1.2.6) - Added resource loading for levels (support for the HaCKeR.LVL resource). 20-06-2002 (Michaël Schoonbrood, Version: 1.2.6) - Fixed a memory leak on failed initialisation. ******************** ** RELEASE v1.2.5 ** ******************** 06-06-2002 (Michaël Schoonbrood, Version: 1.2.5) - Fixed a bug in the GameHippo DatFile class. ******************** ** RELEASE v1.2.4 ** ******************** 01-06-2002 (Michaël Schoonbrood, Version: 1.2.4) - Added support for multiple GameHippo DatFiles, 1 for each GameMode. ******************** ** RELEASE v1.2.3 ** ******************** 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. ******************** ** RELEASE v1.2.2 ** ******************** 25-05-2002 (Michaël Schoonbrood, Version: 1.2.2) - Encrypted the current HiScore in memory, as requested by GameHippo. ******************** ** RELEASE v1.2.1 ** ******************** 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. ******************** ** RELEASE v1.2.0 ** ******************** 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! ******************** ** RELEASE v1.1.7 ** ******************** 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. ******************** ** RELEASE v1.1.6 ** ******************** 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. ******************** ** RELEASE v1.1.5 ** ******************** 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. ******************** ** RELEASE v1.1.4 ** ******************** 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). ******************** ** RELEASE v1.1.3 ** ******************** 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. ******************** ** RELEASE v1.1.2 ** ******************** 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. ******************** ** RELEASE v1.1.1 ** ******************** 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!). ******************** ** RELEASE v1.1.0 ** ******************** 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! ******************** ** RELEASE v1.0.9 ** ******************** 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. ******************** ** RELEASE v1.0.8 ** ******************** 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!) ******************** ** RELEASE v1.0.7 ** ******************** 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. ******************** ** RELEASE v1.0.6 ** ******************** 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). ******************** ** RELEASE v1.0.5 ** ******************** 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. ******************** ** RELEASE v1.0.4 ** ******************** 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. ******************** ** RELEASE v1.0.3 ** ******************** 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. ******************** ** RELEASE v1.0.2 ** ******************** 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. ******************** ** RELEASE v1.0.1 ** ******************** 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. ******************** ** RELEASE v1.0.0 ** ******************** 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.PNG. - 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!) ********************** *** BETA RELEASE 1 *** ********************** 01-09-2000 (Michaël Schoonbrood) - 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! ************************************ *** FIRST FULLY PLAYABLE RELEASE *** ************************************ 31-08-2000 (Michaël Schoonbrood) - 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!)