* when you choose keys : if a key is already attributed, it should
   assign it and set <unset> to the other one because it's not
   pleasant to have a message
* '50 most played levels'/least : virtual package
* a keyboard key for next level
* reload theme done, require tests, and some sprites (like mouse, main menu background) are not updated i suppose
* Sometimes when the edges of the levels are reached (for instance when being at a corner of a level), the
  framerate drops A LOT (game gets unplayable). Can't figure out why.
  ** Update: it actually appears that the game gets slower and slower while running.
* Optimize minimap rendering. On some levels (very smooth ones for instance) it takes much longer to
  render the minimap than the actual level.
* Sometimes memory are leaked from the event queue in m_MotoGame

render entity by Z
render blocks by Z

!!!! xmoto-edit don't compile, make it compile !!!!!

[13:25] <gaivota> aspegic500: I found a bug which is the following: when letting xmoto running without doing anything for some time the game crashes, althoug it keeps running
[13:26] <aspegic500> i must go,
[13:26] <gaivota> atm it shows a blank black screen, once before it diplayed the menu althoug the ingame was running and similar strange behaviour

* associate F8 to the -nowww switch (enable/disable network)
 - when a connection fails, disable network and display a message :
   "Network disabled, press F8 to enable it"

* http://bugs.debian.org/335514
It's a bit confusing to be proposed to continue or abort playing when
one has just finished the level. The ``abort'' one should be rather
``quit level'' or something like that.

===========
* "play next level" => 'play next level', 'play next level unplayed', 'play next level where your highscore is > than room highscore', 'play next level where your highscore is > than world highscore', 'play next level where your highscore is the best'
* replay button when you finish a level (to replay the level just done)
* BUG : is it normal ?
        C.x=(getParent()->getDispWidth() * pArrow->ArrowPointerPos.x) / 800.0f;
        C.y=(getParent()->getDispHeight() * pArrow->ArrowPointerPos.y)
   / 600.0f;
        moreover, it doesn't work with the zoom
   and Game.PlaceScreenArrow(5, 5, 225) : doesn't respect coords
  nicolas: in fact, arrows of script are dependant of the resolution ;
   so i did not documented them while it's not clean :
       The concerned functions are :
       PlaceInGameArrow(x, y, angle)
       Place an arrow in the game to show something to the player
       PlaceScreenArrow(x, y, angle)
       Place an arrow in the game to show something to the player.
       Position is relative to the screen
       HideArrow()
       Hide the arrow
* Bug,
scenario:
- you touch the flower, but the is still a strawberry to take
  => m_bFinished remains to false
- you touch the last strawberry, but you are always touching the flower
 => this event is not called, m_bFinished remains to false
- you go out of the flower
 => nothing it called, m_bFinished remains to false
http://xmoto.free.fr/interesting_replays/ireplay_40.rpl

    case ET_ENDOFLEVEL:
      {
	      /* How many strawberries left? */
	      if(countEntitiesByType(ET_STRAWBERRY) == 0) {
	        /* Level is done! */
	        m_bFinished = true;
	        m_fFinishTime = getTime();
	      }
      }

#############################################################################################
### not important, not really necesary, very low urgency, or just makes thing more complex:

* BUG ? http://forum.xmoto.free.fr/viewtopic.php?p=212#212 (not really i bug methinks)
* SDL_ttf or something like that for rendering text
*(20:39:54) Neckelmann:   the game should really do all this:
zone1 = {}
zone1a = {}
zone1b = {}
zone2 = {}
zone2a = {}
zone2b = {}
* script :
   add : rotation for blocks         
* Add a command line option like the one to test themes. This option could be ''testscript'' and would show zones during game (with an extra, the name of the zone).
* BUG : save a replay as 0.0.0.0 restart xmoto, it doesn't appear in
   the list
* to be able to give a color to a block as parameter in a level
   (instead of a texture)
* bug : keys 1 2 3 4 5 won't work on french keybord : allow to configure key action for script instead of allow the script to choose the key
* OS X stuff:
        * Add Universal Binary build system to subdirectory.
        * Modify so it could run on a compile farm.
        * Use Application Support directory instead of ~/.xmoto on OS X
        * Better packaging for OS X (Readme, License, etc)
* BUG : as you can see at the end of "the only smooth", the block is
   not correctly drawned
* it seems that there is a bug on speed it is played (if i play
   replays done on fast machine, it appear faster) http://xmoto.free.fr/replays/replay_1312.rpl
* BUG :
- start a level, press very fastly (ESC-ENTER)* ; quite easy to
   reproduce (works on windows and linux)
   try {
     m_Renderer.render();
   } in Game.cpp to catch the exception.
   in VApp.cpp, if you replace while(SDL_PollEvent(&Event)) by
   if(SDL_PollEvent(&Event)), the pb disappear.
   event order threaten is ENTER then ESC
   _RestartLevels is called
   then the ESC is managed and it fails
* see about timeout when connection failed
 comment : it seems that there is nothing to do unless reduce
   connection timeout (or multithreading)
* when you press o in the level list and that no level start with an
   o, it bases on the 2nd letter,...
* themes : check the md5sum of the files ; don't display available if
   it's not really available
* xmoto -nosound
* use z-buffer for depth ordering
* BUG : when you see level info in level pack ; then you click on ok
   -> it close the window and the levelpack window
* loadness of headcrash sound should depend on head velocity 
* feature : a replay button when you finish a level (or die) which
   plays Latest.rpl
* themes : not more animation in .xml ? -> be able to load an animated bike ?
* to be able to move a zone ?
* make sound in themes
* we could make a "standard xmoto library" of lua functions :)
* new script call :
  collision between sprites, between sprites and head
* if a script ask for an already used key, propose an other one
* a button "clean replays" which remove not highscore replays or
   something like it
* check for a new version at startup
* add 2 rooms configurations so that i can display, world highscore
   and highscore of my room (priority=low)
* add import of players.bin (so that people playing at different
   location can merge their highscores) (priority=very low)
* separate personnal highscores from others (two tabs instead of a
   button, it's easiest) (it neckelmann agree)
* pb for left hand written people for the editor
* two possibilities to show room : one to see the world highscore, one
   to see you room (optionnal)
* allow to run : xmoto -level l1.lvl to allow playing a level just by cliking on
   it (even if it's not in the xmoto dir)
* display wind
* a fonction CameraRotate and CameraRotateAdaptToG (script)
* A SetDynamicBlockRotation function that rotates the vertices about a center point instead of making the block go in circles.
* a block0.Touch() function
* network game
* freestyle mode
* [20:55] <keesj> they have this great idea that you can create levels
   while walking in the level
  [20:56] <aspegic500> functions in the scripts to do that,