-----------------------------------------------
0.0.7

* Additional checks for gravitating objects
  added where some points around explosion
  were only checking for one direction, where in
  fact checking both directions was required.
  (funny, I don't recall finding  any instances
   where this new check is required. Atleast not
   in the first 8 maps).

-----------------------------------------------
0.0.6b

* For the first five levels, the initial least number
  of moves to beat is set to 1000. For the remaining
  levels, the target to beat is the maximum number of
  moves allowed: 2000.

* Corrected map-piece pickup/location data for level
  8, Enlightenment.

----------------------------
0.0.6

* Blowing up a sad-mask-switch now toggles wall
  visibility. Blowing up two switches simultaneously
  leaves wall visibility at current state. All as
  should be.

* Some .c files included play_xor.h simply to
  gain access to the current level being played
  (.level member of xor_replay struct) - added
  level member to xor_map struct and accessed
  the level number from here instead.

* Removed unused functions show_wall and hide_wall
  from player.c. (This functionality was already
  deferred to init_wall in icons.c).

* Changed the display in info panel during play
  to display the number of moves taken so far,
  instead of the number of moves remaining.

* Basic score tracking. Stores scores in
  /home/user/.xorcurses - if HOME is defined
  in the environment & ./xorcurses can be written
  there. The best score is the least number of
  moves taken to complete a level. Scores file
  is in binary format so as to be slightly more
  awkward than text format for stingy cheats.

----------------------------
0.0.5

* Many of the map files had incorrect map pickup
  data compared with BBC Xor version (run via
  beebem a BBC micro emulator, very handy).

* Removed some unused values within enumerations
  in actions.h

* Modified various structures/code in options.h
  and options.c. Now xorcurses looks in the
  current working directory if it can't find maps
  in the install dir. Will exit gracefully if no
  maps found.

* Map loader scans for teleports and ensures
  that if there are any, then there are two, and
  if there are two, then read their exit view data.

* New game_win_show function takes map coords
  tlx,tly as top left corner of view, primarily for
  showing teleport destination (until calculated
  teleport ok).

* in the level menu pressing keys 1-9 will select
  that level.

* changed all files which #include <ncurses.h> to
  #include <curses.h> for portability reasons.

* telports working (unless one is exploded).

* levels 10 - 15 now playable - with any luck.

* map loader validates against unsupported
  gravitating objects.

* fast replays are easier on the eyes when playing
  with a scroll threshold of 3 - replays always play
  back with a scroll threshold of 1 now.

----------------------------
0.0.4

* Changed many variable types to typedefs defined
  in "types.h". I've used the minimum size types
  for each, so many structures are a few bytes
  smaller now. Does not really make a lot of
  difference, but it seems a good thing not to
  waste memory just because we might have gb
  of it.

* pressing keys 1,2 or 3 while playing, changes
  the scroll threshold for the game area. These
  values are the number of blocks from the 
  boundaries of view the player may approach
  before scrolling occurs: 3 is centered,
  1 is traditional, 2 is pleasing.

* pressing keys 1 to 9 during replay changes
  the replay speed. 1 is slowest and 9 is
  fastest.

* replay speed also effects object movement
  and bomb detonation speeds.

* removed differentiation between y and Y when
  asking if player wants replay - (this previously
  gave two replay speeds) - due to new implementation
  of replay speed choice.

* created new structure, options, holds various
  options such as replay speed and scroll threshold,
  maintains them from level to level. other stuff
  in there not implimented.

* make install - installs xorcurses (if you have
  root privaledges) to /usr/local/bin and maps and
  help files to /usr/local/share/XorCurses.

* moved level menu from game window to info window.

* map names are now displayed when selecting a
  level, and as the info window title while playing
  a level.

* updated help files to reflect changes.

----------------------------
0.0.3

After getting the fish and chickens to do their
stuff correctly, I thought/imagined getting the
bombs to work within this would be a simple matter
of 'plugging' in some straight forward code. How
much more ****ing wrong could I have been? The
code to do all this is a maze in itself.

* moved gravity_process_moves from player.c to
  moves.c and renamed to move_gravity_process
  (some vague convention dictated this).

* changed nodelay(game_win,TRUE) to FALSE.
  on an aging laptop this caused the cpu usage for
  xorcurses to fall from 80% to next to nothing.
  (wonder if this had anything to do with XorCurses
  getting killed as I played it via SSH over dialup
  on the server that hosts my website ;-p)

* finished xmvlist_unlink_xor_move function so it
  actually works properly. one of the biggest problems
  was that it did not update xmvlist->current if the
  link being removed was what xmvlist->current pointed
  to. fixed and completed some cases where i'd completely
  forgotten I'd barely even started coding them. (this
  had been a source of myriad problems).

* dolls working

* wall visibility switches working (sad masks)

* the level menu selection remains at the last level
  played.

* more levels (includes up to level 9)

* new replay options, load/save/continue and two
  replay speeds.

* lots of code changes, to get replays working...

* new wall colours and new wall patterns.

----------------------------
0.0.2 (take 2)
* just can't get map name to display for some reason
  i've not yet fathomed.

* changed getch to wgetch at end of player death..
  can't really understand how it was just a getch - i'm
  sure it changed for no reason - must have been the
  pixies, or lemonjelly more like.

----------------------------
0.0.2

* a whole load of other stuff too... map is now
  working (small map is a bit iffy)

* chickens and fish can be pushed up/down and left/right
  respectively. chickens also run to the left, and fish
  also drop - both stop when they reach an obstacle.
  these actions set off chain-reactions of other fish
  and chickens as it should.

* mask collection re-implemented
* falling fish and running chickens can kill (as they
  should) either/both of the players.

* uncommenting the -DDEBUG compiler option disables
  ncurses and the replay option entirely. a primitive
  text-only character game can then played alongside
  the display of various data.

* added new keypresses:  [edit forgot to change this]
  z and x for left/right  [arrows + enter still work]
  ' and / for up/down
  p to swap player
----------------------------
0.0.1-4f (unreleased)

many functions no longer expect a pointer to a xor_map
struct as their first argument. there is only one map
in use at any one time so it is better for its pointer
to have global scope and not be passed around so much.

* fixed error in player swap code which caused the main
loop to quit, and a move index skipped, which  sometimes
hung the replay.

* added missing free()'s in player_move().

----------------------------
previous changes from initial version are undocumented.
--james jwm-art net
EOF
