1.1.0:

 2004/07/13:
 -updated the help screen with all of the new features in the game
 
 2004/07/02:
 -forgot to add gravity for when blocks are put back on the screen - created
  add_gravity_effect_for_blocks_put_back() & modified wrong_move_penalty()
  
 2004/06/23:
 -added gravity to the game - created add_gravity_effect() & modified
  erase_path, eliminate_blocks(), update_highscores(), initialize_and_load(),
  display_high_scores(), show_scores_for_skill_level(), play_level() &
  game_over()
  
 2004/06/17:
 -added another bonus scoring option to the game when a player doesn't make a
  wrong move in the level - modified play_level(), wrong_move_penalty(), 
  play_game(), apply_bonus_score(), unhighlight_block() & game_info struct

 2004/06/15:
 -completed the ability for the blocks to randomize in Very Hard & Insane skill
  modes - modified play_level() & game_info struct
  
 2004/06/09:
 -stated adding the ability for randomizing blocks - added randomize_blocks()
  & existing_blocks struct

 2004/05/20:
 -changed the 1.03 version of the Insane skill to Hard - modified
  wrong_move_penalty(), keep_track_of_removed_blocks(), erase_path()

 2004/02/24:
 -added bmp image support for gamers who don't have libpng - added new define
  EXTENSION to twind.c & the Makefile, renamed load_png() to load_image(),
  modified change_block_set() & initialize_and_load()

 2004/02/22:
 -added the use of left & right mouse buttons for the Insane Mode - modified
  create_random_grid(), draw_blocks(), unhighlight_block(), change_grid(),
  get_input_for_level(), put_block_back_on_screen(), read_options_file(),
  write_options_file(), erase_path() & new define NUM_OPTS

 2004/02/13:
 -added bonus scoring to the game - added update_score_and_bonus(), modified
  play_level(), print_score_and_bonus(), apply_bonus_score(), change_grid(),
  get_input_for_level() & game_info struct
 
 2004/02/11:
 -added an option for gravity in the game (gravity isn't working yet... only
  the option is available in the menu) - modified main(), display_menu(),
  read_options_file(), write_options_file(), create_menu(), erase_path(),
  get_input_for_menu(), draw_grid_on_screen(), get_input_for_level(),
  sub_menu_items enum, block_status enum & game_info struct
 -fixed a bug where starting levels after the first one could cause a delay in
  highlighting the first block - modified apply_bonus_score()
 -implemented a new way to hightlight blocks - add update_highlighted_block(),
  modified change_grid(), initialize_and_load(), draw_blocks(), play_level(),
  surfaces enum & game_info struct
  
 2004/02/08:
 -added a fading effect for menu/screen changes & the ability to turn it off -
  created fade_screen() & modified display_menu(), get_input_for_level(),
  create_menu(), play_level(), show_scores_for_skill_level(), game_over(),
  main(), show_help_page_number(), cleanup_and_exit(), read_options_file(),
  write_options_file(), game_info struct, sub_menu_items enum & MAX_IN_MENU
  define
  
 2004/02/07:
 -changed the game screen to 800x600 instead of 640x480 in preparation for
  network play - modified display_menu(), change_option(), create_menu(),
  get_input_for_menu(), show_scores_for_skill_level(), show_help_page_number(),
  blank_screen(), change_display_mode(), game_over(), initialize_and_load(),
  show_help(), show_scores(), play_level(), apply_bonus_score(), change_grid(),
  update_timer(), get_input_for_level(), draw_blocks(), draw_grid_on_screen(),
  eliminate_blocks(), erase_path(), pause_game(), show_path(), exit_game(),
  unhighlight_block() & put_block_back_on_screen() ... whew!

 2004/02/04:
 -fixed a bug which would occur if a block is highlighted & the game is over or
  quit; & a new game is started; the block highlighted in the previous game
  still had a hightlight status. Relocated initialization of game.highx &
  game.highy from initialize_and_load() to play_game().

 2004/02/03:
 -enabled the ability to center graphics on-screen with an addition to blit()

 2004/02/01:
 -tweaked the code to make adding new block sets a little easier - modified
  block_sets enum, get_input_for_screen(), get_input_for_level() &
  display_menu()
 -added a new block set (and made it the default) called brushed metal -
  modified change_block_set(), display_menu(), read_options_file() &
  initialize_and_load()
  
 2004/01/31:
 -fixed a nasty bug where some games in Insane mode would only display one
  block left on the screen at the end of the level (added code in erase_path()
  which would check to see if a block was put back on the screen by a mistake
  in Insane mode before erasing the path)
 -removed parameter from draw_blocks() in unpause_game()
 
 2004/01/28:
 -fixed a bug in Windows where Alt-F4 wouldn't close the game, but rather
  toggled between full-screen/window mode by modifying get_input_for_menu(), 
  get_input_for_screen() & get_input_for_level()
 -removed parameter from cleanup_and_exit() in display_menu()
 
 2004/01/27:
 -fixed a bug in Windows full-screen mode where the mouse wouldn't move when
  applying the bonus or ending a game - modified game_over()
  & apply_bonus_score()

1.03:

 2004/01/06:
 -changed the file permissions for the high score file & twind binary to 
  root:games & set the sticky bit for the twind binary to the group
 -added code to the wrong_move_penalty() which will randomize the eliminated
  blocks in the Insane mode before two are put back on screen
  
 2004/01/04:
 -for the source code distribution, all of the CRLF pairs in the text files
  were replaced with an LF instead

1.02:

 2004/01/03:
 -added #ifndef NOAUDIO check before the #include <SDL_mixer.h>
 -added #ifndef NOAUDIO to load_wav function prototype & definition
 -added #ifndef NOAUDIO to music & sound variables in game_info
 -relocated #ifndef NOAUDIO in the following functions: display_menu(),
  game_over(), initialize_and_load() & play_level()
 
1.01:

 2004/01/01:
 -added DATA_PREFIX to the load_png calls in change_block_set()
 -added change_block_set() to read_options_file() select statement

1.0:

 2003/12/31:
 -initial public release
