Mason 0.3 goals
-------------------
* Revamp RLE code to work on win32 and also for RGB555 displays
* Minimal media requirements to navigate in an "empty" world
* COAL maploader
* Remove smpeg dependency (if possible)

Acorn 0.4 goals
-------------------
* WIN32 build
* ask Al to vary the weather between 0.0 (sunny), 1.0 (rain) and
  2.0 (thunderstorm)

Acorn 0.5 goals
###################

* rotate all ground tiles by 90 degree in order to speed up the tile stretching !
  (quoting James: "Doom already did that !")
  
* add running to guard, archer, butcher and watermage
* fix acorn sprite (alpha channel !)
* let user select specific pig from inventory
* music !
* decouple sprite animation from screen refresh
* add a Lobby mode again
* text browser for help and story
* add nice selection dialog to script observ (to show the needs for clientside scripting)
* add display of PC status

optional Acorn 0.4 goals
------------------------
* change z-sorting code in Renderer to adapt to new bounding box scheme 
  ("bbox","bmedian")

* if only height map changes the display does not get refreshed
  
* media/sprite.cc why do assertion() in line 73-75 sometimes fail !?

* sitting animations ?  

  agrilan.map "sitting positions": 
  If coordinates of the seat are (x,y) then possible sitting positions are: 
  ([x...x+1.0], y-0.36) were [] indicate a possible range.

  seats facing SE: 
  (| indicates an alternative, thus (a|b, c|d) means (a,c),(a,d),(b,c),(b,d))
  ... by the Inn: (7|3, -22|-24)
  ... on the marketplace:  (-45|-49, -8|-10|-12|-14), (-53, -8|-10)

  Need to agree with Alistair regarding the mode name.
  
* clear up path issues

* clientside collision detection ?     
  ... if used the code needs to get adapted to new bounding box scheme !

long term goals ... scheduled for after the Acorn 0.4 release
##############################################################

scripted animations
++++++++++++++++++++++
Allow compound animations. 
e.g.: 
{
 play Anim1
 wait for random time, but a least 10 s
 play Anim2 or Anim3
 play reverse Anim1
}
LUA comes to mind ...

UI redesign
++++++++++++++
Instead of static bottoms there will be button groups and all modules
may add their buttons to one or more groups and may even define new
groups. There will be one or two buttons to cycle these button sets.

Music
+++++++
fix problem with SMPEG crashing or look for mod music !
(or use mpg123 which has smaller footprint)
(or use mad lib)


make SpriteCache more efficient
+++++++++++++++++++++++++++++++++++
       (* fast lookup of existing raw files (make use of index file ?))
        * keep track of disk cache size    
        * move raw files into a seperate directory tree (?)

minor fixes
++++++++++++++
* fix flickering of sprites

* add options screen

* for account creation validate password !

* hide password while typing 
  
* add proper logfile system !
  (so we are able to debug in win32 as well...)

* switch to COAL for map loading

* close dialogs when pressing ESC ?
  (add appropriate keyhandler to class Screen)

* environment ... wheather, night / day ?
  (more sounds ! butcher, smith, horses, wind ...)

* shadows ?

* reflections ?

* dynamic music ?

* add more Lobby commands: /msg, /who /whois

################################################################

Tim Ansell wrote:

> I read most of the CVS commits, yours always seem to be very intresting
> :) Recently you commited saying that you had "implimented click on move"
> or something similar to that. I was wondering if it would be possible to
> make the "clicking" customisable so you could choose the bindings that
> make the most sense to you. Using an XML file might be a good idea?
> Something along the line of
> 
> <bind "mouse1+meta">
> <action>
> <move>
> <x>
> <mouse-xcoord>
> 
> 
> Or something that would allow you do some really cool things, for
> example it makes more sense that left click equals move and right click
> looks, or something along the lines this would allow you to best fit the
> controls to your ideas...
> 

Hm, this is really a good idea. My initial aim is to provide a user
interface as  customizable as possible, though actually hardly anything 
of this has been achieved by now.
Though Janus has been quite a big steps towards this goal.
Janus will allow to completely change the UI of the client.
Using janus will provide different bindings for the UI events as well.
After the Acorn 0.3 release integrating Janus in UClient will be the next
goal.


--->> see script mousetest.lua ! (if everything works out as intended you can 
do a lot more then just re-assigning mousebuttons)
----------------------






