Minesweeper 3
Development History
-------------------

4th February 2007:
  * Redesigned class dependencies
  * Imported Options and Tile structs from Minesweeper 2
  * Added declaration for new Game class
  * Added new Timer and Painter classes
  * Imported main.cpp code from Minesweeper 2 except for event handling
  * New tileset graphic
  * Painter constructor shows grid, newgame icon and flags icon
  * Improved some calculations by taking out common factors
  * Drawing the grid only flips the screen once, so loading is much faster
  * Initial time and flag count (both zero) are shown
  * Dependencies are reduced since SDL_image is no longer used
  * unsigned short int types have been dropped in favour of int
  * Mines are shown when you lose the game
  * All basic operations (clearing tiles, clearing areas, flagging, double-clicks)
      work (code imported from Minesweeper 2)
  * Shortened basic-op code by using inline conditionals
  * New games work
  * False mines show (X-mines) when you lose
  * Flagged mines remain flagged when you lose

10th February 2007:
  * Mode can be changed dynamically at runtime

24th February 2007:
  * Added SDL source files to source to make porting easier

13th March 2007:
  * Removed timer class and moved timer code to game class
  * Implemented multithreaded timer
  * Reduced memory leaks with SDL_FreeSurface()
  * Implemented basic functionality of the tile fader (a third thread) but it needs
      a bit of fixing

14th March 2007:
  * Tile fader is fully functional, though I had to move its thread from the Painter
      class to the Game class
  * Added documentation and GPL Licence
  * Clicking the newgame icon works
  * Hovering the newgame icon works
  * Added executable icon