home *** CD-ROM | disk | FTP | other *** search
/ Freelog 29 / Freelog029.iso / Bas / Jeu / Hacker / History.txt < prev    next >
Text File  |  2001-11-24  |  50KB  |  1,318 lines

  1. HaCKeR                                               Copyright (c) 2001
  2. Version 1.1.5
  3.  
  4. Michaδl Schoonbrood                          TheOneAndOnly@MadButch.Com
  5. The Butchers Home                                      www.MadButch.com
  6.  
  7.  
  8. This file contains the history of HaCKeR... newest updates are on top.
  9.  
  10.  
  11. ToDo:
  12. - Fix a bug where the client is suddenly on another level as the server.
  13. - Fix a bug where the client score is totally messed up (each dropped block gives
  14.   way to much points!
  15. - Find out why the ping sometimes sky rockets into the ten thousands!
  16. - Fix bug where a client who is joining BEFORE the server was running crashes the server.
  17. - Synchronize the start of a network game (start of level, wait for ready signal)
  18. - Check why in HM Level the server doesn't show a message box when the client leaves.
  19. - Add version checking to network play!
  20. - Make sure keyboard is country independent (azerty)!
  21. - Add verifications to the level editor (Are you sure?).
  22. - Add an ESCAPE description or icon to all menu type screens.
  23.  
  24. Maybe's:
  25. - LevelData and CoOpLevelData are almost identical! make it one class!
  26. - Add CoOpMatch (2 player CoOp, but each player has his/her own score)
  27. - New Options screen for SOUND settings (with images instead of text).
  28. - New Options screen for GRAPHICS settings (with images instead of text).
  29. - Different HiScore screens for different game modes.
  30. - Put all Default levels in a resource file to!
  31. - Select the text in an input field (default) and deselect it when a key is pressed.
  32. - Check CAPSLOCK status when querying SHIFT status.
  33. - Add resource management.
  34. - Add checks to each object creation (new) and abort if one fails.
  35. - Add an class indicator to each all files written on disk. Each class now has it's
  36.   own version nr if it writes or reads, but no check for class match.
  37.   So if the version nr is correct, a class will continu reading. But the data it reads
  38.   might be all wrong because it belongs to something else.
  39. - Adjust my own sound and music routines, and use them instead of FMOD.
  40. - Add an option for pushable blocks in CoOp mode (you can push the other player away).
  41. - Implement Direct3D mode for cooler graphical features!
  42. - Make all Graphics load when required (not on startup!). Or make sure there is
  43.   enough room for them in Video Memory (use System Mem. otherwise)!
  44. - All the extras!
  45.  
  46.  
  47.  
  48. 24-11-2001 ( Michaδl Schoonbrood, Version: 1.1.5 )
  49. - Made the Excellent and Superb texts more transparent (request).
  50. - Changed the way those texts appear on screen.
  51. - Added Tranparancy to the options menu.
  52.  
  53.  
  54.  
  55. 23-11-2001 ( Michaδl Schoonbrood, Version: 1.1.4 )
  56. - Added a Time Remaining counter to the About screen.
  57. - Blocks can now be moved and rotated while they are appearing.
  58. - Fixed a bug where saving a game corrupted all date/times!
  59.  
  60.  
  61.  
  62. 16-11-2001 ( Michaδl Schoonbrood, Version: 1.1.4 )
  63. - Fixed a major bug where the game didn't clean-up correctly (causing memory leaks).
  64. - All pointer variables are now called pVariable instead of ptrVariable (new coding standard).
  65.  
  66.  
  67.  
  68. 14-11-2001 ( Michaδl Schoonbrood, Version: 1.1.3 )
  69. - Put all Image IDs in a Enum, much easier to maintain!
  70. - Updated AI Controller.
  71. - Excellent and Superb text in Single Player and CoOp are now blinking!
  72. - Added descriptions to all Joystick operations (now configurable in controls screen).
  73. - Enabled Joystick button 3 and 4.
  74.  
  75.  
  76.  
  77. 13-11-2001 ( Michaδl Schoonbrood, Version: 1.1.3 )
  78. - Fixed the MainMenu in non-translucent mode, it now looks like the old menu.
  79. - Added an AI controller to HaCKMaTCH.
  80.  
  81.  
  82.  
  83. 12-11-2001 ( Michaδl Schoonbrood, Version: 1.1.3 )
  84. - Added a translucency toggle. Default it's on.
  85. - Added Joystick support.
  86. - Changed the working of F10, it's now catched immediatly after it is pressed (anywhere!)
  87.  
  88.  
  89.  
  90. 09-11-2001 ( Michaδl Schoonbrood, Version: 1.1.3 )
  91. - Changed the font shadow, it's ow the same colored font, blitted translucent!
  92. - Changed the main menu (translucent options).
  93. - Changed the HiScore graphics. The last reached position will now blink!
  94.  
  95.  
  96.  
  97. 08-11-2001 ( Michaδl Schoonbrood, Version: 1.1.3 )
  98. - Added translucency (semi transparency) to the DDrawImage.
  99.  
  100.  
  101.  
  102. 06-11-2001 ( Michaδl Schoonbrood, Version: 1.1.2 )
  103. - Fixed a bug with the 2nd Next Block Led being drawn at wrong place in HM level.
  104. - Fixed a bug with the progress bar not raising in HaCKMaTCH.
  105.  
  106.  
  107.  
  108. 05-11-2001 ( Michaδl Schoonbrood, Version: 1.1.2 )
  109. - Fixed bug with the 2nd Next Block not being activated in HaCKMaTCH mode.
  110.  
  111.  
  112.  
  113. 02-11-2001 ( Michaδl Schoonbrood, Version: 1.1.2 )
  114. - Changed the coding style.
  115.   All includes have been moved to the CPP file where possible.
  116.   Graphics class has been replaced by the one from Bombahman.
  117.  
  118.  
  119.  
  120. 13-10-2001 ( Michaδl Schoonbrood, Version: 1.1.1 )
  121. - Removed all links to MFC. The game no longer needs those darned MFC42*.DLL's!
  122. - Upgraded FMOD to version 3.40.
  123. - Using updated Graphics classes (improved version!).
  124.  
  125.  
  126.  
  127. 30-09-2001 ( Michaδl Schoonbrood, Version: 1.1.0 )
  128. - Fixed a bug I introduced in 1.0.8 which prevented the game from loading older savegames.
  129. - Updated the FastPingMode code, network play now works fine.
  130. - Fixed the Message and InputBox code, so that they will correctly accept F10 to quit.
  131. - After entering a HiScore in network play, both players will now return to the chatscreen.
  132. - Added ShowPing code to the network games.
  133. - Added ShowPing setting to the DAT file.
  134. - Fixed CoOp GameOver jumping back to the main menu if there was no HiScore attained.
  135. - Fixed a glitch in network play. When a block is stored the server should always send
  136.   a synchronization packet to update the level data!
  137.  
  138.  
  139.  
  140. 29-09-2001 ( Michaδl Schoonbrood, Version: 1.0.9 )
  141. - Added the new network code (FastPingMode). This should become the final network code
  142.   which works fine in LAN games and might work in Internet games.
  143.  
  144.  
  145.  
  146. 28-09-2001 ( Michaδl Schoonbrood, Version: 1.0.9 )
  147. - Fixed the ping code.
  148. - Fixed a bug in the games shutdown code. Sometimes the game would try to draw it's last
  149.   frame after the input had been lost (resulting in invalid Direct Draw surfaces).
  150. - Fixed a bug in the DPlayLayer. It always send a MSG_QUIT when being cleaned up.
  151.   This resulted in a entry in the log file about sending a message unitialized.
  152.  
  153.  
  154.  
  155. 28-09-2001 ( Michaδl Schoonbrood, Version: 1.0.9 )
  156. - Added ping times.
  157. - Changed the Global Unique Identifier (I think I was still using the one from the book).
  158.  
  159.  
  160.  
  161. 23-09-2001 ( Michaδl Schoonbrood, Version: 1.0.9 )
  162. - Added messages to the following network events:
  163.   Server goes to game select in chat screen.
  164.   Server cancels game select in chat screen.
  165.  
  166.  
  167.  
  168. 23-09-2001 ( Michaδl Schoonbrood, Version: 1.0.8 )
  169. - Fixed a bug in HaCKMaTCH mode where the P2 block suddenly moved left or right.
  170. - Hopefully fixed the bug with disappearing blocks in HaCKMaTCH (previously froze game!)
  171.  
  172.  
  173.  
  174. 23-09-2001 ( Michaδl Schoonbrood, Version: 1.0.7 )
  175. - Finished the new game select code in the chat screen.
  176. - Fixed bug with jumpyness of appearing block (network, other player).
  177. - Added synchronization of the NewBlockDelay to the start of a network game.
  178. - Added version nr to players who enter chatscreen
  179. - Added PLAYER READY chat messages in the chat screen.
  180.  
  181.  
  182.  
  183. 22-09-2001 ( Michaδl Schoonbrood, Version: 1.0.6 )
  184. - Added the HelpFrame image class (needed on chat screen).
  185. - Added HaCKMaTCH level mode.
  186. - Updated Game Select with HM Level and Network mode.
  187. - Added Game Select to network play (to start a network game).
  188.  
  189.  
  190.  
  191. 20-09-2001 ( Michaδl Schoonbrood, Version: 1.0.5 )
  192. - Changed the local Packet objects into member variables (should be quicker).
  193. - Changed the way the ChatScreen works. It now contains a menu in the bottom.
  194. - Optimized and cleaned up the network code for the HaCKMaTCH mode.
  195. - Added the network code to the CoOp modes.
  196. - Fixed bug with other player's adding and deleting of rows didn't show up.
  197.  
  198.  
  199.  
  200. 18-09-2001 ( Michaδl Schoonbrood, Version: 1.0.4 )
  201. - Added In-Game chat messages (F8).
  202. - Changed chat screen, a player can now also notify the server that he's NOT ready.
  203.  
  204.  
  205.  
  206. 18-09-2001 ( Michaδl Schoonbrood, Version: 1.0.3 )
  207. - Added the last used IP Address to the gamedata, it is now saved in between game sessions.
  208. - Fixed a bug where the game would not start for a player who was entering a chat message!
  209. - Added the messages that players send to indicate that they are ready to start a game.
  210. - Added level data to the synchronization packets.
  211.  
  212.  
  213.  
  214. 17-09-2001 ( Michaδl Schoonbrood, Version: 1.0.2 )
  215. - Fixed (hopefully) a bug where the game froze in HaCKMaTCH.
  216.   I think it was a bug in the PushUp code, If rows get added, the block raises.
  217.   The bug was that when the block had an Y origin that was to low, it would rise forever.
  218. - Added the ingame network messages for block movement.
  219.  
  220.  
  221.  
  222. 16-09-2001 ( Michaδl Schoonbrood, Version: 1.0.2 )
  223. - Added the game synchronisation packets. Network play is now possible.
  224.  
  225.  
  226.  
  227. 15-09-2001 ( Michaδl Schoonbrood, Version: 1.0.2 )
  228. - Rewrote Block generator and block class partly.
  229.   The block generator now only determines the type of the new blocks (no longer all the
  230.   shapes) and it stores the first shape of each block for drawing puyrpose.
  231.   The block now asks the new type, and fills the shapes itself given this type.
  232.   These changes are also incorporated into the save games
  233.  
  234.  
  235.  
  236. 14-09-2001 ( Michaδl Schoonbrood, Version: 1.0.2 )
  237. - Added message to the network screen which popup when hosting or joining a game.
  238. - Fixed the bug with sending empty messages again... and this time tested it to.. lol ;)
  239.  
  240.  
  241.  
  242. 13-09-2001 ( Michaδl Schoonbrood, Version: 1.0.2 )
  243. - Fixed a bug where the server could send empty messages
  244. - Fixed a bug where the application crashed, probably because it tried to access a null pointer.
  245. - Updated the ChatScreen, it now seems to be working correctly...
  246.  
  247.  
  248.  
  249. 12-09-2001 ( Michaδl Schoonbrood, Version: 1.0.2 )
  250. - Finished ChatScreen (so far), graphics still suck of course...
  251.  
  252.  
  253.  
  254. 11-09-2001 ( Michaδl Schoonbrood, Version: 1.0.2 )
  255. - Finaly managed to get the "Loading Graphics..." text to show up correctly colored (thanks to ChroniX).
  256.  
  257.  
  258.  
  259. 10-09-2001 ( Michaδl Schoonbrood, Version: 1.0.2 )
  260. - Added a ChatScreen.
  261.  
  262.  
  263.  
  264. 05-09-2001 ( Michaδl Schoonbrood, Version: 1.0.2 )
  265. - Added all TCP/IP multiplayer classes.
  266. - Moved to DirectX8.
  267.  
  268.  
  269.  
  270. 29-06-2001 ( Michaδl Schoonbrood, Version: 1.0.1 )
  271. - Changed the Audio initialisation. If it fails, the game will run without sound!
  272. - Fixed a bug in the gamedata code. HiScore names where still not loading 100% correct.
  273.  
  274.  
  275.  
  276. 16-06-2001 ( Michaδl Schoonbrood, Version: 1.0.0 )
  277. - Fixed a bug in the "illegal matrix position" logging routine.
  278.   It was logging errors that wheren't errors at all, just checks to see if the block
  279.   was hitting a side of the level.
  280.  
  281.  
  282.  
  283. 16-06-2001 ( Michaδl Schoonbrood, Version: 1.0.0 )
  284. - Added New Block Delay to the gamedata class.
  285. - Added New Block Delay to the Options.
  286. - Changed the way the game checked if a block should start appearing.
  287.   Instead of a set 0.25 delay, it now checks the New Block Delay setting.
  288. - Added the Options to HaCKMaTCH and CoOp.
  289. - Changed the gamedata class, so that it now also saves all the new settings.
  290. - Added code that sets the SoundFX and Music volume.
  291. - Disabled the DEBUG mode in all game modes.
  292. - Removed VSync text display. Setting can now be checked in options.
  293.  
  294.  
  295.  
  296. 15-06-2001 ( Michaδl Schoonbrood, Version: 0.9.9 )
  297. - Fixed a bug where the block speed of a player in HaCKMaTCH suddenly increased.
  298. - Added Options (I finaly did it)... Press F5 in-game to switch to this screen.
  299.   You can change Sound and Music volumes here, and lots of other settings to.
  300. - Changed the FPS counter. HaCKeR will now remember if you want to show it or not.
  301. - Added 5 more settings to the game data.
  302.   Music Volume, SoundFX Volume, Key Repeat Delay, Key Repeat Rate and Show FPS Counter.
  303.  
  304.  
  305.  
  306. 14-06-2001 ( Michaδl Schoonbrood, Version: 0.9.8 )
  307. - Fixed a bug in the AddRow code (the top level rows collided with a new block)
  308. - Fixed a bug in the HaCKMaTCH level load code. The Matrix Buffer was not being cleared.
  309.  
  310.  
  311.  
  312. 13-06-2001 ( Michaδl Schoonbrood, Version: 0.9.8 )
  313. - Fixed a bug after ALT-TAB'ing, the Font Shader was resetting it's color.
  314. - Fixed another bug after ALT-TAB'ing, the SaveGame screenshots where not redrawn.
  315. - Fixed a bug where the oldest HaCKeR.dat files where not updated correctly!
  316. - Removed the BETA tag from the game title (yes!!!!!).
  317.  
  318.  
  319.  
  320. 11-06-2001 ( Michaδl Schoonbrood, Version: 0.9.7 )
  321. - Added some "visualisation" code to the startup process.
  322.   I can't get the colors right on Win9X systems tho.. (White text on black background)
  323. - Added code to create DDraw surfaces in system memory when out of video memory.
  324. - Changed the order in which the graphics are loaded, to make sure much used graphics
  325.   are always in Video Memory.
  326. - Added a Fonts dir. If the game is now installed over an old version, it won't use the
  327.   wrong font file (because the new font file does a checkup in another dir).
  328.  
  329.  
  330.  
  331. 06-06-2001 ( Michaδl Schoonbrood, Version: 0.9.6 )
  332. - Changed all drawing code. I removed the dwFlags from all functions.
  333.   The only thing it can be used for is to set the DDBLTFAST_SRCCOLORKEY or the  
  334.   DDBLTFAST_NOCOLORKEY, and these settings are draw-function specific, so they have
  335.   been moved to their corresponding draw function in the CImg* class (Code CleanUp)!
  336. - Fixed a bug in the Editor (HaCKMaTCH level editing was available).
  337. - Changed the Hi-Score Graphics, so that the labels are more clearly present!
  338. - Added a shadow effect to all drawn texts (still deciding between black and grey
  339.   shadow, but I went with grey for now ).
  340. - Fixed a bug in the savegame code. Old savegames where not loaded correctly!
  341. - Fixed a bug in the P1 add row code... doh! the P2 code was fine :(
  342.   I hate code copies... gotta find a solution for the HaCKMaTCH code to!
  343.  
  344.  
  345.  
  346. 05-06-2001 ( Michaδl Schoonbrood, Version: 0.9.6 )
  347. - Fixed a bug with the savegame screenshots. The way they save and load has changed.
  348.   Old savegames may show up with "No Screenshot Available"! This happens when the
  349.   size of the screenshot doesn't match the memory reserved for it by the game.
  350. - Changed code that turned on the 2nd Next Block in original (single level) mode.
  351.   It will now be turned on when more then half of the level is filled with blocks.
  352. - Fixed bug in HaCKMaTCH code where player 2's 2nd Next Block didn't turn on.
  353.  
  354.  
  355.  
  356. 03-06-2001 ( Michaδl Schoonbrood, Version: 0.9.5 )
  357. - Changed screen side code. The game now remembers on which side P1 and P2 play.
  358. - Fixed a bug in HaCKMNaTCH where the P1 and P2 second next block where drawn over
  359.   each other.
  360. - Fixed (hopefully) a bug in multiplayer where the block speed suddenly increased.
  361.   I raised the Keyboard BufferSize, in the hopes that this will fix problems with
  362.   block speeds. I checked the code and can't see what possibly could go wrong, 
  363.   other then that the key-up event might not be registered in the keyboard buffer.
  364. - Fixed a bug in HaCKMaTCH where the top rows dissapeared when adding rows.
  365. - Fixed a bug in HaCKMaTCH where the game didn't switch to "Player # Won" when, by
  366.   adding rows to the other players level, the top row got filled.
  367. - Fixed (probably) a bug in HaCKMaTCH where blocks disappeared on row insertion!
  368. - Fixed a bug in HaCKMaTCH where pushing up a players block by adding rows,
  369.   resulted in a glitch. The block would always "hoover" 1 pixel above the row.
  370. - Fixed a bug in HaCKMaTCH where the AddRowTimer would start to early for P2.
  371. - Removed the "Not Implemented Text" for HaCKMaTCH on the GameSelect screen.
  372.  
  373.  
  374.  
  375. 01-06-2001 ( Michaδl Schoonbrood, Version: 0.9.4 )
  376. - Added code that auto detects how many tilesets there are in the BLOCKS.BMP.
  377. - Changed tileset code.. it will now switch between all available tilesets, and
  378.   the tileset will be remembered and used for all game modes.
  379. - Added code to the SaveLoad screen to check if the last used save slot is valid.
  380. - Disabled transparancy on blocks.. because Blitting doesn't support it correctly.
  381.   The Aplha blending will merge the image color with the transparent color which 
  382.   makes it visible!
  383.  
  384.  
  385.  
  386. 28-05-2001 ( Michaδl Schoonbrood, Version: 0.9.4 )
  387. - Fixed a bug in the HM savegames.
  388.   Score, GamesWon and RowsToAdd where not being saved. Loading them created an error.
  389. - Fixed a bug in the savegame code, which always stored the loaded LevelNr in the SP
  390.   level data (CoOp would show the wrong version nr because of this).
  391. - Added code to load the graphics into NonLocal Video Memory.
  392.   I will make a different EXE, to try if makes the game work on video cards with 4MB
  393.   or less video memory.
  394. - Fixed a bug in which blitting (not fast blitting) an image to a new stretched/shrunk
  395.   image seemed to add a white line to the left (horizontal stretch) and top (vertical
  396.   stretch). The popup boxes really suckes because of this.. the corners would not
  397.   match the connecting vertical and horizontal lines because of the recoloring.
  398.   A way to circumvent this recoloring is to add 1 position to the source rectangle's
  399.   top (vertical) or left (horizontal) position. This is one weird DirectDraw bug!
  400. - Added the code that makes the rows add smoothly in HaCKMaTCH.
  401. - Fixed a bug in the HaCKMaTCH code in which the speed progress indicators didn't
  402.   reset at the start of a new level.
  403. - Changed the way GameOver happens.
  404.   Previously the last block would still look like a falling block
  405.   Now the last block get's stored, and then the GameOver or Player # Wins appears.
  406. - Removed the logging of warning messages because of music not being loaded.
  407.   It was filling up the log with uninteresting data.
  408. - Cleaned up HaCKMaTCH screen (pause looked crappy and the description was wrong).
  409. - Added the HaCKMaTCH code that pushes the block upwards code when rows get added.
  410. - Damn.. I'm good!
  411.  
  412.  
  413.  
  414. 25-05-2001 ( Michaδl Schoonbrood, Version: 0.9.4 )
  415. - Added the HM code that shows the "Player 1/2 Wins" message.
  416. - Fixed a bug where the menu music kept playing after you loaded a game.
  417. - Changed the HM layout. Hi-Score has been replaced by Level.
  418.   Scores are not important for HaCKMaTCH, but they do order the speed increases.
  419. - Added the code to count the number of times each player has won.
  420. - Added HaCKMaTCH to the level editor, but it's disabled untill the HMLevelData class
  421.   has been added.
  422. - Added Toggle + Description for changing Level modes to the Level Editor.
  423. - Fixed a bug in the savegames.
  424.   Blocks wheren't saving the time passed since their last movement (Block version 2).
  425. - Added Score, GamesWon and RowsToAdd to the HaCKMaTCH savegames (HM version 2). 
  426. - Added code to HaCKMaTCH that adds rows to the other playes level when you delete
  427.   rows in your own level.
  428. - Fixed some bugs with the copying of char variables.
  429.   They where messing up the debug version of the game (jeeze.. strings are BAD in C++)!
  430. - Added debug code, that disables the loading of screenshots in debug mode.
  431.   The screenshot code froze the game when it locked a DirectDrawSurface
  432.   This is a problem of DirectX... nothing I can do to circumvent it, but disable it!
  433.  
  434.  
  435.  
  436. 24-05-2001 ( Michaδl Schoonbrood, Version: 0.9.4 )
  437. - Added the last used savegame position to the gamedata.
  438.   The SaveLoad screen will now always appear with the last used savegame slot active.
  439. - Fixed a bug in the Savegame code (savegames where saved with a wrong version nr).
  440. - Fixed a bug in the Savegame code where a file handle wasn't closed properly.
  441. - Fixed a bug in the Savegame code where a CoOp or HM savegame always had LevelNr 0.
  442. - Changed the HaCKMaTCH code to display the in-game menu more clearly.
  443. - Fixed a bug in the Savegame code where HM levels where not saved correctly.
  444.  
  445.  
  446.  
  447. 23-05-2001 ( Michaδl Schoonbrood, Version: 0.9.3 )
  448. - Fixed a bug in all data files.
  449.   I was loading and saving to many bytes, resulting in memory corruption.
  450. - Replaced all "int" variables with "long" ones. A "long" is always 4 bytes,
  451.   while an "int" can be anything from 1 to 8 bytes.
  452. - Added the first and second next blocks to the savegames.
  453.   The SaveGame version is now active (version 2) and all older savegames are unsupported!
  454.  
  455.  
  456.  
  457. 21-05-2001 ( Michaδl Schoonbrood, Version: 0.9.2 )
  458. - Added a GAME SAVED and GAME LOADED message to the savegame screen.
  459. - Fixed a bug with CoOp savegames only loading after a coop level had been started.
  460.   Turned out to be my fault of course.. I was using the wrong file handle.. (scream!!!).
  461.  
  462.  
  463.  
  464. 20-05-2001 ( Michaδl Schoonbrood, Version: 0.9.2 )
  465. - Added Screenshots to the savegames. Savegames ar now finished (let the testing begin!).
  466.  
  467.  
  468.  
  469. 19-05-2001 ( Michaδl Schoonbrood, Version: 0.9.1 )
  470. - Added a function to the ImgFont class to draw a text centered between 2 X-Coordinates.
  471. - Added PlayMode to the save games.
  472. - Changed the SaveLoad screen to display the PlayMode.
  473. - Fixed a bug in which a playmode would load a level of another playmode.
  474.   ( A single player level could load a CoOp SaveGame).
  475. - Added a Frame around the active control in the key redefinition screen.
  476.  
  477.  
  478.  
  479. 17-05-2001 ( Michaδl Schoonbrood, Version: 0.9.1 )
  480. - Fixed a bug in the Input handling (InputBox now has a follow up action).
  481. - Added code to display the new Excellent or Superb text for 4-rows-in-one.
  482.  
  483.  
  484.  
  485. 16-05-2001 ( Michaδl Schoonbrood, Version: 0.9.1 )
  486. - Added ImgPlayerWins (contains "Player 1 wins" and "Player 2 wins" images).
  487. - Added ImgBonusTexts (contains "Excellent" and "Superb" images).
  488.  
  489.  
  490.  
  491. 13-05-2001 ( Michaδl Schoonbrood, Version: 0.9.0 )
  492. - Fixed LevelNr not being saved.
  493. - Added LevelNr and Score to the SaveGame information.
  494. - Added and fixed the HM Image code.
  495. - Added and fixed the HM game code (preliminary).
  496. - Moved all the Update functions to the class being updated (was done by the game class first).
  497. - Changed Active control text color in control redefinition screen.
  498. - Fixed a bug in the CoOp congratulations screen (it used the single player screen).
  499.  
  500.  
  501.  
  502. 12-05-2001 ( Michaδl Schoonbrood, Version: 0.8.7 )
  503. - Added Date and Time information to the save games.
  504. - Fixed a bug with CoOp hi-scores always having nr 1 as level nr.
  505.  
  506.  
  507.  
  508. 11-05-2001 ( Michaδl Schoonbrood, Version: 0.8.7 )
  509. - Changed all version lengths to 3 positions. The level files have been updated for
  510.   this change. But the old files also still work correctly (of course ;)
  511. - Added saving and loading.
  512.   It works fine, but I need to build the onscreen display with savegame information.
  513.   You only see the 6 slots now. No info about weather a savegame is there or not.
  514.  
  515.  
  516.  
  517. 09-05-2001 ( Michaδl Schoonbrood, Version: 0.8.7 )
  518. - Replaced all the logos with new ones!
  519. - Added HaCKMaTCH classes (image and controller).
  520.  
  521.  
  522.  
  523. 05-05-2001 ( Michaδl Schoonbrood, Version: 0.8.7 )
  524. - Changed F10 functionality. Pressing F10 will quit the game everywhere now!
  525. - Added funtionality to Save/Load screen (only thing left to do is the actual save and load).
  526. - Added Load and HackMatch to GameSelect screen.
  527.  
  528.  
  529.  
  530. 03-05-2001 ( Michaδl Schoonbrood, Version: 0.8.6 )
  531. - Fixed a bug in the level editor (CoOp level wasn't cleared on startup).
  532.  
  533.  
  534.  
  535. 02-05-2001 ( Michaδl Schoonbrood, Version: 0.8.6 )
  536. - Changed the ImgFont code, the font is now also loaded from the graphics resource.
  537.  
  538.  
  539.  
  540. 01-05-2001 ( Michaδl Schoonbrood, Version: 0.8.6 )
  541. - Changed the Audio code. Samples (WAV's) will now be loaded from a resource file.
  542. - Changed to a new font.
  543.  
  544.  
  545.  
  546. 30-04-2001 ( Michaδl Schoonbrood, Version: 0.8.5 )
  547. - Added the SaveLoad class.
  548.  
  549.  
  550.  
  551. 29-04-2001 ( Michaδl Schoonbrood, Version: 0.8.5 )
  552. - Fixed NUMPAD numbers not being accepted in key redefinition.
  553. - Changed the default CoOp layout. Player 1 now plays on the right and Player 2 on the left.
  554. - Added code which let's the player choose if Player 1 should play at the left or right.
  555.   Toggle the play sides with F6 (CoOp only).
  556. - Added a "Quit to desktop" to the game (hit F10 while playing).
  557. - Added the About screen, so you can see who build it ;)
  558.  
  559.  
  560.  
  561. 27-04-2001 ( Michaδl Schoonbrood, Version: 0.8.5 )
  562. - Added a litle pause before the start of a new block.
  563. - Added extra points for dropping the block down (1 extra point for each block).
  564. - Changed the code that checks if an error sound has been played for a moving block.
  565.   The error sounds will be played now correctly (no more repeating error sounds).
  566. - Removed the error sound for trying to rotate a square block (rotate all you will now)!
  567. - Cleaned up the move left and right code.
  568.   It now uses 1 function (instead of 4, 2 for each player)!!!!
  569. - Cleaned up the CoOp code. Instead of dual functions (1 for each block), I now wrote
  570.   1 funtion which gets a block as a parameter.
  571.  
  572.  
  573.  
  574. 26-04-2001 ( Michaδl Schoonbrood, Version: 0.8.4 )
  575. - Upgraded FMOD to version 3.32.
  576. - Changed the initialization order.
  577.   The Graphics class is now initialized last, which enables all other initializations
  578.   to show error messages (pop-up window) to the user.
  579.  
  580.  
  581.  
  582. 25-04-2001 ( Michaδl Schoonbrood, Version: 0.8.3 )
  583. - Fixed a bug in the new collision detection routine.
  584.  
  585.  
  586.  
  587. 24-04-2001 ( Michaδl Schoonbrood, Version: 0.8.3 )
  588. - Fixed some initializations of classes (variables where not set to default!)
  589. - Added a new collision detection routine. This one checks if a block is valid after a row delete.
  590.   After a row delete, all the blocks in the level above the deleted row(s) move down.
  591.   It could be possible in 2 player CoOp mode, that the other player was beneath a block
  592.   in the level. So I need to check if the "falling row" doesn't push the block down.
  593.  
  594.  
  595.  
  596. 22-04-2001 ( Michaδl Schoonbrood, Version: 0.8.2 )
  597. - Fixed a bug in which Player 1 and Player 2 could use the same key for a control.
  598.  
  599.  
  600.  
  601. 21-04-2001 ( Michaδl Schoonbrood, Version: 0.8.2 )
  602. - Implemented changes to GameSelect screen.
  603. - Changed all E-Mail addresses, because I had to change internet provider.
  604. - ReAligned all the headers on the screens which had one (Game Select, Controls, HiScores).
  605.  
  606.  
  607.  
  608. 20-04-2001 ( Michaδl Schoonbrood, Version: 0.8.2 )
  609. - Added a toggle player description to the options (controls).
  610. - Changed the blue bar in Single Level mode to reach ### points for 2nd Next block.
  611. - Excluded PrintScreen, ScrollLock and Pause button from key redefinition.
  612. - Changed ESCAPE key behaviour on loading screen, it now behaves like ENTER.
  613.  
  614.  
  615.  
  616. 19-04-2001 ( Michaδl Schoonbrood, Version: 0.8.2 )
  617. - Added the in-game menu (Continue, Load, Save, Options, Quit).
  618.  
  619.  
  620.  
  621. 15-04-2001 ( Michaδl Schoonbrood, Version: 0.8.1 )
  622. - Fixed a bug where the speed of a starting block was reset.
  623. - Fixed a bug in which the level "moved over" a player block when it was deleting rows.
  624.  
  625.  
  626.  
  627. 11-04-2001 ( Michaδl Schoonbrood, Version: 0.8.1 )
  628. - Added Game Select (to select different game types, like single player. multi player ).
  629. - Fixed some bugs with the starting of levels.
  630. - Fixed a bug in the HiScores (names where erased!)
  631. - Fixed a bug in the HiScore, where pressing ESC while entering a name would result
  632.   in the MainMenu instead of the HiScore display.
  633. - Fixed some bugs in the editor (result from the switching between SP and CoOp mode)
  634. - Code cleanup (massive)!
  635.  
  636.  
  637.  
  638. 08-04-2001 ( Michaδl Schoonbrood, Version: 0.7.5 )
  639. - Added Key configuration for player 2.
  640.  
  641.  
  642.  
  643. 07-04-2001 ( Michaδl Schoonbrood, Version: 0.7.5 )
  644. - Added CoOp mode to Level editor.
  645.  
  646.  
  647.  
  648. 06-04-2001 ( Michaδl Schoonbrood, Version: 0.7.4 )
  649. - Fixed a bug where where the lowest block could move thru a part of the highest block.
  650.  
  651.  
  652.  
  653. 05-04-2001 ( Michaδl Schoonbrood, Version: 0.7.4 )
  654. - Switched to the new CoOp graphics.
  655. - Fixed a bug with double music in CoOp mode :)
  656.  
  657.  
  658.  
  659. 04-04-2001 ( Michaδl Schoonbrood, Version: 0.7.4 )
  660. - Added synchronisation between the falling blocks in multiplayer mode.
  661. - Added a Block Generator (this was previously done by the block class itself).
  662.   A new block now gets its shape from the generator. This way 2 different blocks
  663.   can use the same Block Generator, which is what I needed for multiplayer.
  664.  
  665.  
  666.  
  667. 03-04-2001 ( Michaδl Schoonbrood, Version: 0.7.4 )
  668. - Fixed some small bugs in multiplayer mode
  669. - Added a check to see what block is lowest, that block doesn't have to check for
  670.   collison while falling (nice speed optimizer)!
  671.  
  672.  
  673.  
  674. 02-04-2001 ( Michaδl Schoonbrood, Version: 0.7.4 )
  675. - Multiplayer is working (let the testing begin)!
  676.  
  677.  
  678.  
  679. 23-03-2001 ( Michaδl Schoonbrood, Version: 0.7.4 )
  680. - Multiplayer mode is now running (ALPHA stage)
  681. - Fixed a bug in the drawing of the 2nd next block.
  682.  
  683.  
  684.  
  685. 22-03-2001 ( Michaδl Schoonbrood, Version: 0.7.4 )
  686. - Added ALPHA code for the multiplayer mode... (Which is still hidden :)
  687.  
  688.  
  689.  
  690. 21-03-2001 ( Michaδl Schoonbrood, Version: 0.7.3 )
  691. - Redesign of Input part is also complete. The game us up and running correctly... on to MP!
  692.  
  693.  
  694.  
  695. 17-03-2001 ( Michaδl Schoonbrood, Version: 0.7.2 )
  696. - Redesign of Graphics part is complete. Up next is the Input redesign (same principle).
  697.   Lots a new classes have been added. The overall re-structuring is a long way from finished!
  698.  
  699.  
  700.  
  701. 08-03-2001 ( Michaδl Schoonbrood, Version: 0.7.1 )
  702. - Redesigning the whole class structure of the game engine.
  703.   Each class is now responsible for drawing itself (used to be all done by the graphics class)
  704.  
  705.  
  706.  
  707. 14-02-2001 ( Michaδl Schoonbrood, Version: 0.7.1 )
  708. - Changed ImgBackground and ImgMenu class.
  709.   They are now generic and used for all backgrounds and menu images.
  710. - Added Version info to the HaCKeR.dat file, it can now load older versions correctly.
  711.  
  712.  
  713.  
  714. 13-02-2001 ( Michaδl Schoonbrood, Version: 0.7.1 )
  715. - Added CoOp background and menu class.
  716.  
  717.  
  718.  
  719. 02-02-2001 ( Michaδl Schoonbrood, Version: 0.7.1 )
  720. - Added code for multiplayer (the start of it)
  721.   Player 1 and Player 2 controls are active.
  722.  
  723.  
  724.  
  725. 24-01-2001 ( Michaδl Schoonbrood, Version: 0.7.0 )
  726. - Fixed a bug in which HiScores where not inserted correctly.
  727.  
  728.  
  729.  
  730. 18-01-2001 ( Michaδl Schoonbrood, Version: 0.6.9 )
  731. - The game will now run without logging and hi-score/option saving when run from cd.
  732. - The game now writes HaCKeR.log, HaCKeR.dat and LEVEL##.dat even if they have the
  733.   read-only flag set.
  734.  
  735.  
  736.  
  737. 17-01-2001 ( Michaδl Schoonbrood, Version: 0.6.8 )
  738. - Fixed DirectX7 build (I needed the header and library files from DX7 for this).
  739. - Fixed a bug in which the game music kept playing thru the level change.
  740. - Game can only be stopped by selecting QUIT in the menu (to prevent accidental ESC).
  741. - Fixed Music and SoundFX disturbances on exit (nice & quiet exit).
  742.  
  743.  
  744.  
  745. 15-01-2001 ( Michaδl Schoonbrood, Version: 0.6.7 )
  746. - Went back to DirectX 7.
  747.  
  748.  
  749.  
  750. 27-12-2000 ( Michaδl Schoonbrood, Version: 0.6.6 )
  751. - Added a timer to the Congratulations screen.
  752. - Fixed a bug with the Second Next Block not showing up when there were no obstructors
  753.   at the start of a level.
  754. - Fixed a bug with graphics not shopwing up after ALT-TABing.
  755.  
  756.  
  757.  
  758. 24-12-2000 ( Michaδl Schoonbrood, Version: 0.6.5 )
  759. - Fixed key-redefinition.
  760. - Saving and loading of control configurations is now implemented correctly.
  761.  
  762.  
  763.  
  764. 23-12-2000 ( Michaδl Schoonbrood, Version: 0.6.5 )
  765. - Added key-redefinition. The options screen is now fully functional!
  766.  
  767.  
  768.  
  769. 22-12-2000 ( Michaδl Schoonbrood, Version: 0.6.4 )
  770. - Added key-descriptions for all keys on the keyboard (needed for key configuration)
  771.  
  772.  
  773.  
  774. 21-12-2000 ( Michaδl Schoonbrood, Version: 0.6.4 )
  775. - Updated the menu code, it was still using fixed positions (bah!) instead of defines.
  776. - Changed the HaCKeR logo (from Hacker to HaCKeR).
  777. - Removed almost all CString variables and replaced them with LPCTSTR variables.
  778.   They where causing memory leaks all over the place!
  779.   I'm only using CString variables when they are defined within the function.
  780. - Changed the HiScore saving/loading code (because of the CString).
  781.   This one should be quicker to, not that you'll notice ;)
  782.   Quote of my day: "Strings in C++ suck!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  783. - Fixed a bug in the audio code, which poked it's ugly head around the corner
  784.   when I upgraded to FMOD 3.30. Looks like hardware support for mp3 playback is broken!
  785.  
  786.  
  787.  
  788. 20-12-2000 ( Michaδl Schoonbrood, Version: 0.6.4 )
  789. - Changed the Options graphics, and the way the rectangle was calculated/set.
  790.  
  791.  
  792.  
  793. 18-12-2000 ( Michaδl Schoonbrood, Version: 0.6.4 )
  794. - Upgraded FMOD to version 3.30.
  795. - Fixed a bug where two musics where playing at once after completing the game ;)
  796. - Added the level desciption to loading screen
  797. - Fixed alignment of level number and text on the loading screen (it's now centered).
  798.  
  799.  
  800.  
  801. 14-12-2000 ( Michaδl Schoonbrood, Version: 0.6.3 )
  802. - Added the options bitmap!
  803.  
  804.  
  805.  
  806. 13-12-2000 ( Michaδl Schoonbrood, Version: 0.6.3 )
  807. - Changed some bitmaps. Better split-up now (new loading bitmap)!
  808.  
  809.  
  810.  
  811. 06-12-2000 ( Michaδl Schoonbrood, Version: 0.6.2 )
  812. - Added a blinking prompt (instead of the solid one)
  813. - Fixed some sizes of message and input boxes.
  814. - Added code to save the last typed Hi-Score name (no need to re-type the name)!
  815. - Fixed the Congratulations screen...
  816.  
  817.  
  818.  
  819. 04-12-2000 ( Michaδl Schoonbrood, Version: 0.6.2 )
  820. - Added 250 points for completing a level.
  821.  
  822.  
  823.  
  824. 30-11-2000 ( Michaδl Schoonbrood, Version: 0.6.2 )
  825. - Fixed the HiScores. Again! sight...
  826. - Fixed the congratulations screen... Some graphics where missing.
  827. - Fixed some text alignments.
  828.  
  829.  
  830.  
  831. 29-11-2000 ( Michaδl Schoonbrood, Version: 0.6.1 )
  832. - Removed NUMPAD-0 as a drop down key. Shows again, that I need to build key re-asignment :)
  833.  
  834.  
  835.  
  836. 28-11-2000 ( Michaδl Schoonbrood, Version: 0.6.1 )
  837. - Fixed a lot of the font code. Some font sizes weren't calculated correctly.
  838. - Changed to font to a larger one.
  839.  
  840.  
  841.  
  842. 27-11-2000 ( Michaδl Schoonbrood, Version: 0.6.1 )
  843. - Fixed a bug with the reading of the HiScores. Some Names would have bogus text appended.
  844. - Fixed a bug in which a HiScore would always be entered at position 10, even if you scored
  845.   lower then the previous HiScore on position 10 :)
  846.  
  847.  
  848.  
  849. 23-11-2000 ( Michaδl Schoonbrood, Version: 0.6.1 )
  850. - Changed and fixed the HiScore screen... it looks at least a little ok now :)
  851.  
  852.  
  853.  
  854. 22-11-2000 ( Michaδl Schoonbrood, Version: 0.6.1 )
  855. - Building support for DirectDraw Direct3D and OpenGL into the game engine
  856. - Fixed the entering of HiScore names. Names are now entered on the line with the HiScore.
  857. - Added the congratulations code to the engine.
  858.  
  859.  
  860.  
  861. 15-11-2000 ( Michaδl Schoonbrood, Version: 0.6.0 )
  862. - Moved to DirectX8 (graphics class not upgraded yet, because DDRaw is gone)!
  863. - Upgraded FMOD to version 3.22.
  864. - Added a check to see if the FMOD.DLL exists (not working yet)!
  865.  
  866.  
  867.  
  868. 08-11-2000 ( Michaδl Schoonbrood, Version: 0.5.4 )
  869. - Fixed a bug that kep crashing the game when loading or saving data files!
  870.   This one was a pain to find! It concisted of more bugs at first, all CString related, but
  871.   in the end it was a mather of writing and reading into the correct buffer(length)!!!
  872. - Added code for Capital and small letters to the InputBox.
  873. - Added code for lots of ASCII characters to the InputBox (like !~@#$%^).
  874.  
  875.  
  876.  
  877. 03-11-2000 ( Michaδl Schoonbrood, Version: 0.5.4 )
  878. - Added Name Entering to the HiScore screen!
  879. - Changed the InputBox class, it now works like the MessageBox class.
  880. - Fixed new HiScores inserting at wrong positions.
  881.  
  882.  
  883.  
  884. 01-11-2000 ( Michaδl Schoonbrood, Version: 0.5.4 )
  885. - Added the Options and the HiScores screen!
  886. - Added HiScoreList support (Top 10).
  887.  
  888.  
  889.  
  890. 31-10-2000 ( Michaδl Schoonbrood, Version: 0.5.3 )
  891. - Fixed ALT-TAB, all Music and SoundFX will now pause/unpause when focus is lost/gained!
  892. - Fixed bug in which the Font color was not reset (text showed up in wrong colors).
  893. - Added a timer to the MessageBox (you can now let it disappear after # seconds).
  894.  
  895.  
  896.  
  897. 27-10-2000 ( Michaδl Schoonbrood, Version: 0.5.2 )
  898. - Fixed ALT-TAB, game timers will now stop when focus is lost (ALT-TAB).
  899.  
  900.  
  901.  
  902. 26-10-2000 ( Michaδl Schoonbrood, Version: 0.5.2 )
  903. - Fixed ALT-TAB not correctly re-loading all bitmaps (there's still something wrong)!
  904.  
  905.  
  906.  
  907. 24-10-2000 ( Michaδl Schoonbrood, Version: 0.5.2 )
  908. - Added a MessageBox class. Now I can show a message in a MessageBox every where I want... Very Usefull!
  909. - Added code which calculates the size of a MessageBox or Input box,
  910.   according to the text that is drawn within them.
  911. - Added the code for the movement of the prompt in the InputBox.
  912. - Added feedback to level loading and saving in the editor. A fail/succes message will popup after loading.
  913.  
  914.  
  915.  
  916. 23-10-2000 ( Michaδl Schoonbrood )
  917. - Moved all bitmaps to a Resource file (DLL). This means that the executable is only 76K in size.
  918. - Added better error handling on missing files.
  919.   Now a MessageBox will appear with the name of the missing file.
  920. - Fixed a bug in which the 2nd Next Block didn't appear after all the obstructors where removed!
  921. - Fixed the progress (bar) when playing "clear level" (it didn't do anything at all).
  922. - Fixed the bug which showed the next level after a level was completed, but before the loading screen.
  923.  
  924.  
  925.  
  926. 20-10-2000 ( Michaδl Schoonbrood )
  927. - Fixed ALT-TAB crashing the application and ALT-TAB now pauses the game.
  928. - Fixed some drawing problems (in the editor)
  929. - Added a ColorFill function to the Graphics class.
  930. - Fixed Level loading. After loading a non existing level, all LevelData will now reset.
  931.   Also, the Loading screen now shows the correct level number.
  932. - Fixed Level saving in the editor (wrong filenames where used)
  933.  
  934.  
  935.  
  936. 19-10-2000 ( Michaδl Schoonbrood )
  937. - Enhanced code for entering numbers. I'm now using an InputBox class.
  938.   This class handles all input (numbers, strings, confirmations).
  939. - Moved all the keyboard related from the Input class to a new class.
  940.   Much better organized now. CInput is the main input class. It uses the
  941.   new CKeyboard class to get keyboard input.
  942.   Implementing a Mouse and a Joystick class is really easy to do now!
  943.  
  944.  
  945.  
  946. 18-10-2000 ( Michaδl Schoonbrood )
  947. - Fixed code for entering numbers
  948.  
  949.  
  950.  
  951. 17-10-2000 ( Michaδl Schoonbrood )
  952. - Changed Editor and Input code.
  953. - Added code for entering numbers.
  954.  
  955.  
  956.  
  957. 13-10-2000 ( Michaδl Schoonbrood )
  958. - Finnished level changing code.
  959. - Fixed some drawing bugs.
  960.  
  961.  
  962.  
  963. 12-10-2000 ( Michaδl Schoonbrood )
  964. - Added code for level changing.
  965.  
  966.  
  967.  
  968. 11-10-2000 ( Michaδl Schoonbrood )
  969. - Replaced all text drawing code with code that uses the new font class.
  970. - Added a DrawRaster function, which can draw a nice rectangle anywhere on screen.
  971.   This raster will be used to display messages and for user input (like HiScore name).
  972. - Changed the version numbering to 3 version numbers (major version.minor version.build nr)
  973.  
  974.  
  975.  
  976. 10-10-2000 ( Michaδl Schoonbrood )
  977. - Moved all the specific image code to it's new class.
  978. - Added functions to the image classes to set the source rectangles (for blitting).
  979. - Documented the font code some more.
  980.  
  981.  
  982.  
  983. 06-10-2000 ( Michaδl Schoonbrood )
  984. - Added the font code and graphics to the game (finally!).
  985.   This will enable me to quickly add a lot of stuff, like asking for input...
  986.  
  987. - Changed the graphics code. I've writen a Imgage class.
  988.   This class handles the surface creation and image (bitmap) loading.
  989.   All BMP Surfaces I use ( Menu, Background, In-Game, Font, etc... ) now inherit
  990.   from this new Image class. This is the way it should have been all along!
  991.  
  992.  
  993.  
  994. 05-10-2000 ( Michaδl Schoonbrood )
  995. - Added ROWS to the stats, this shows the nr. of rows you've completed so far.
  996.  
  997. - Changed the scoring, you now get an additional 1 point for each block stored.
  998. - Changed the graphics a little.
  999.   When you're playing you see the bottom block in the corner of your eye, that's
  1000.   why the 1st and 2nd display have switched places.
  1001.  
  1002.  
  1003.  
  1004. 03-10-2000 ( Michaδl Schoonbrood )
  1005. - Added Key descriptions and a legenda to the editor.
  1006.  
  1007.  
  1008.  
  1009. 02-10-2000 ( Michaδl Schoonbrood )
  1010. - Removed all While( true ) loops from the code, and replaced them with timed loops.
  1011.   All DirectX 7 samples use this, im my opinion very bad code, a lot!!!
  1012.   I added a timer to these loops, if they take more then a certain amount of time,
  1013.   the loop will abort. This prevents hang-ups!
  1014.  
  1015.  
  1016.  
  1017. 29-09-2000 ( Michaδl Schoonbrood )
  1018. - Added a LevelData class. The level matrix and level statistics are now stored
  1019.   in this new class. Both the Editor and the Level use this class, which enables
  1020.   me to easily implement a playtest function to the Editor.
  1021.  
  1022.  
  1023.  
  1024. 28-09-2000 ( Michaδl Schoonbrood )
  1025. - Build a decent DirectX 7 check (to many e-mails about missing dll's)!
  1026.   You now get a nice message box telling you "DirectX 7 not installed!"
  1027.  
  1028.  
  1029.  
  1030. 26-09-2000 ( Michaδl Schoonbrood )
  1031. - Added the level editor
  1032.   Save/Load/Clear not working yet. It also needs more on-screen info!
  1033.  
  1034.  
  1035.  
  1036. 25-09-2000 ( Michaδl Schoonbrood )
  1037. - Added a check on the DirectX version.
  1038.   Anything lower then version 7 will not run!
  1039.  
  1040.  
  1041.  
  1042. 24-09-2000 ( Michaδl Schoonbrood )
  1043. - Added bars for level progress and 2nd next block power.
  1044. - Added code for 3 types of levels:
  1045.   Score = Reach a certain score
  1046.   Rows  = Complete a certain amount of rows
  1047.   Clear = Clear all the blocks from the level
  1048.  
  1049.  
  1050.  
  1051. 23-09-2000 ( Michaδl Schoonbrood )
  1052. - Fixed the sound code (all sounds now stop when they should).
  1053. - Fixed SoundFX volume (they where much to low).
  1054.  
  1055.  
  1056.  
  1057. 22-09-2000 ( Michaδl Schoonbrood )
  1058. - Added HiScore saving (you still can't type your name).
  1059. - Added a pause option (press P to pause)
  1060. - Added all the code for the 2nd Next Block (after 500 points)
  1061.  
  1062.  
  1063.  
  1064. 20-09-2000 ( Michaδl Schoonbrood )
  1065. - Added the new graphics for the block entrance.
  1066. - Added the new graphics for the on screen buttons.
  1067. - Added code that presses the on-screen blocks when you press the keyboard key!
  1068.  
  1069. - Changed the rotation code slightly. The I block can now rotate at the top!
  1070. - Changed a lot of the graphics definitions, it's much easier to maintain now!
  1071. - Changed all the graphics blitting code... much better and cleaner now!
  1072.  
  1073.  
  1074.  
  1075. 19-09-2000 ( Michaδl Schoonbrood )
  1076. - Added more new graphics (also by ChRoNiX)!
  1077. - Added Speed and Level number to the Stats plug-in.
  1078. - Added defines for all the graphics objects in the bitmaps.
  1079.   This makes it much easier to change the graphics and their on screen positions
  1080.  
  1081. - Changed the Graphics-Load code. It now tries to load a bitmap from disk,
  1082.   and if it can't find it, it will use the one in the exe.
  1083. - Changed a lot of the graphics, and reorganized the game bitmap (game.bmp).
  1084.  
  1085.  
  1086.  
  1087. 18-09-2000 ( Michaδl Schoonbrood )
  1088. - Finally... all new graphics!!!!!!!!!!!!!!!! Check it out!
  1089.   All thanks go to 3D Studio Max wizard 'ChRoNiX'... thanks man!
  1090.  
  1091.  
  1092.  
  1093. 17-09-2000 ( Michaδl Schoonbrood )
  1094. - Switched all the audio code to FMOD. I still need to fix some minor stuff though!
  1095.  
  1096.  
  1097.  
  1098. 15-09-2000 ( Michaδl Schoonbrood )
  1099. - Added code to play MP3's. I'm temporarily gonna use the GAudio lib!
  1100.   Dumped GAudio allready! It slowed the game down to much... I'll try FMod next!
  1101.  
  1102. - Changed Menu and In-Game music to MP3.
  1103.  
  1104.  
  1105.  
  1106. 14-09-2000 ( Michaδl Schoonbrood )
  1107. - Added 'LEVEL 1' text when starting a game (plus all the graphics).
  1108.  
  1109. - Changed the level graphics (more to come)!
  1110.  
  1111.  
  1112.  
  1113. 13-09-2000 ( Michaδl Schoonbrood )
  1114. - Added logging to all initialization code
  1115.  
  1116. - Fixed a bug in the rotation code (you could rotate into other blocks :)
  1117.  
  1118.  
  1119.  
  1120. 12-09-2000 ( Michaδl Schoonbrood )
  1121. - Added code to quickly drop the new block onto the level (much better now!)
  1122. - Added the CGraphics class, and moved all the DirectDraw functionality there.
  1123.  
  1124. - Changed the graphics a bit... (no more rasters!)
  1125.  
  1126.  
  1127.  
  1128. 11-09-2000 ( Michaδl Schoonbrood )
  1129. - Added code that first tries to find the big (huge) music files, and if it
  1130.   doesn't find them, then it loads the smaller downsampled music files.
  1131.   Downsampled the music files from 44.100 Hz, 16 bit Stereo to 11.025 Hz 8 bit Mono.
  1132.  
  1133. - Changed the volume of some of the Sound Effects.
  1134.  
  1135. - Fixed a bug which made the Key Repeat very jumpy, and which also made a block
  1136.   move 2 positions to one side in quick succession.
  1137.   Every time the moving block moved down a complete row, I checked to see if a key
  1138.   was pressed to move it to a side (for when you want to squeeze it into a gap!).
  1139.   I was always executing that code, while it should only be executed when you're
  1140.   holding down the direction key AND you couldn't move in that direction on the
  1141.   row above.
  1142.   This sucker took me all morning to find!
  1143.  
  1144.  
  1145.  
  1146. 10-09-2000 ( Michaδl Schoonbrood )
  1147. - Break time!
  1148.   pfooooi... let's rest!
  1149.  
  1150.  
  1151.  
  1152. 09-09-2000 ( Michaδl Schoonbrood )
  1153. - Fixed the sound routine! It now plays wav samples of any kind!
  1154.  
  1155. - Changed all samples from 8.000 Hz, 8 bit to 22.050 Hz, 16 bit (mono).
  1156.   The music is now 44.100 Hz, 16 bit Stereo!
  1157.  
  1158. - Added in-game music!
  1159.  
  1160.  
  1161.  
  1162. 08-09-2000 ( Michaδl Schoonbrood )
  1163. - Added Key Repeation. You can now hold down a key and it will keep moving
  1164.   that direction.
  1165.  
  1166. - Changed the code for the Input class. It has been optimized and is ready
  1167.   for implementation of redefinable keys.
  1168. - Changed CLevel code. When an opening opens up at the left or right side 
  1169.   of the block and you're holding the correct direction key pressed (left
  1170.   or right respectively), the block will move to that side!
  1171.  
  1172.  
  1173.  
  1174. 07-09-2000 ( Michaδl Schoonbrood )
  1175. - Changed the code for Direct Input. I wrote a wrapper class (CInput) around
  1176.   the Direct Input class. All input related code is now in the CInput class.
  1177.  
  1178.  
  1179.  
  1180. 06-09-2000 ( Michaδl Schoonbrood )
  1181. - Added all sound effect to the game!
  1182.   These are not the finale ones (of course), but hey... it's much nicer now :)
  1183.  
  1184. - Changed the sound code. I put my own CAudio class around Direct Sound.
  1185.   I create an instance of CAudio in my CGame class, which passes it on to
  1186.   CLevel. This way I can play sounds anywhere in my program... very nice!
  1187.   I'll probably do the same for all other Direct X parts (DDraw and DInput)
  1188.  
  1189.  
  1190.  
  1191. 05-09-2000 ( Michaδl Schoonbrood )
  1192. - Added music to the game and sound effects to the menu!
  1193.   The sound code is Work In Progress... But there is progres!
  1194. - Added mutiple TileSets. Probably for testing only (press "T" to change).
  1195.  
  1196.  
  1197.  
  1198. 04-09-2000 ( Michaδl Schoonbrood )
  1199. - Added logging functionality wich write the complete level matrix to the log
  1200.  
  1201. - Changed the "Squeeze Row" routine, much smoother now!
  1202. - Changed and cleaned up all the code of the Level class (much better now)
  1203. - Changed the "Block resting" code, you can now only move 1 position after
  1204.   the block is resting (laying the bottom or on top of another block)
  1205.  
  1206.  
  1207.  
  1208. 03-09-2000 ( Michaδl Schoonbrood )
  1209. - Added a lot of the Direct Sound code, but this one is gonna take some time!
  1210.   Direct Draw took me a week or 2 to figure out adequately...
  1211.   Direct Sound will probably take as long!
  1212. - Added a debug mode, everything will move very slow! (press "D")
  1213.  
  1214. - Changed "Squeeze row" code, it now uses the blit function of DirectDraw.
  1215. - Changed the FPS counter, you can now toggle it on/off with the "F"
  1216.  
  1217.  
  1218.  
  1219. 02-09-2000 ( Michaδl Schoonbrood )
  1220. - Changed all the initialization and main loop code.
  1221. - Changed the way blocks rotate. The Z and I blocks now have only 2 shapes
  1222.   They no longer fully rotate (let me know if you like this better!)
  1223.  
  1224.  
  1225.  
  1226. 01-09-2000 ( Michaδl Schoonbrood )
  1227.  
  1228.            **********************
  1229.            *** BETA RELEASE 1 ***
  1230.            **********************
  1231.  
  1232. - Added all the code and graphics for the full-row-squeezing
  1233. - Added all the code and the rest of the graphics for the score display!
  1234.  
  1235. - Changed the level-draw code. It now draws the blocks from the bottom up
  1236. - Changed the block graphics.
  1237.  
  1238. - Fixed a bug in the Block-falling routine. It only checked if 1 of the 4 parts of
  1239.   a block hit the bottom line. It now checks if any of the 4 hits the bottom!
  1240.  
  1241.  
  1242.  
  1243. 31-08-2000 ( Michaδl Schoonbrood )
  1244.  
  1245.            ************************************
  1246.            *** FIRST FULLY PLAYABLE RELEASE ***
  1247.            ************************************
  1248.  
  1249. - Added all the code and graphics for the in-game score
  1250. - Added all the code and graphics for the NextBlock picture
  1251.  
  1252. - Fixed the bug in which some full lines stayed put (argh!!!!)
  1253. - Fixed some initialization problems which resulted in hang-ups
  1254. - Fixed some bugs in the rotation routine
  1255. - Fixed some other bugs...
  1256. - Fixed some more bugs...
  1257. - Did some bug fixing... You get the point
  1258.  
  1259.  
  1260.  
  1261. 30-08-2000 ( Michaδl Schoonbrood )
  1262. - Added all the code for handling real Tetris blocks (including rotation)
  1263.  
  1264. - Changed single blocks to the real ones (Tetris blocks)
  1265. - Changed CBlock class to it's final state (for now)
  1266.  
  1267. - Fixed a LOT of code in the CLevel class... but still a long way to go!
  1268.  
  1269.  
  1270.  
  1271. 29-08-2000 ( Michaδl Schoonbrood )
  1272. - Changed the code which checks if a line is full (much faster now)
  1273.   and it works :)
  1274.  
  1275. - Fixed the framerate counter. I'm no longer using GetTickCount()
  1276.   I switched to the CFrameTimer class (see D3D particle example)
  1277.  
  1278.  
  1279.  
  1280. 28-08-2000 ( Michaδl Schoonbrood )
  1281. - Added the CLevel class
  1282. - Added real level layout (using CLevel class)
  1283. - Added falling blocks
  1284. - Added in-game keyboard control (left, right, speed up, immediate down)
  1285. - Added first simple collision detection
  1286. - Added GameOver graphics
  1287. - Added code to check for GameOver
  1288. - Added defines for MenuItems, GameMode and LevelMode (much cleaner code)
  1289. - Added a check to count and store all full rows
  1290. - Added a function to delete those full rows
  1291.  
  1292. - Changed/enhanced the CBlock class
  1293. - Changed all code so it now uses CLevel and CBlock
  1294. - Changed the BlockArea to one with a grid. Easy for debugging!
  1295.  
  1296. - Fixed a bug with the last block in mid-air at GameOver.
  1297.  
  1298.  
  1299.  
  1300. 27-08-2000 ( Michaδl Schoonbrood )
  1301. - Added the CBlock class
  1302. - Added the start of the real game code (BlockMatrix)
  1303.  
  1304. - Changed InGame graphics (blurring rules!)
  1305.  
  1306.  
  1307.  
  1308. 26-08-2000 ( Michaδl Schoonbrood )
  1309. - Added Hacker Icon
  1310. - Added game modes, currently 3: MENU,GET READY,GAME
  1311. - Added graphics for GET READY and GAME modes.
  1312.  
  1313. - Changed graphics (much cleaner look)
  1314.  
  1315. - Fixed resources not loading!
  1316. - Fixed keybuffer handling (now it works!)
  1317.  
  1318.