ToDo:
=====

 - smooth selection
 - tile editor
 - wrapper sexpr parser into a read class, LispReader like
 - turn proc{} into blocks
 - get rid of 'mysprite'
 - scrollbar in tileselector
 - gui and some magic to set the supertux datadir
 - support additional layers (paralax and normal)
 - doors/sector support needs improvement
 - moving platforms + path
 - camera path 
 - automatic backup of files
 - get rid of make_metadat, get_ruby_object in SuperTux code
 - faster tile-loading (load on demand, pixelbuffer cache)
 - make controlpoints unzoomable
 - fix load/save and write a few testcases for them
 - seperate undoable functions from not undoable ones
 - provide feature to group/suspend undo/redo
 - objects need to have visible text-lables attached to them (name of
   spawnpoints, etc.)
 - sexpr based config file, no evil eval games
 - all pseudo object without position (background, particle-system) should be
   placed beside each other beginning at 0, -32. (Currently they're all placed
   at 0,0)

New Object Types:
=================
  writer.start_list("camera"); 
  if(mode == NORMAL) {
    writer.write_string("mode", "normal");
    writer.write_bool("backscrolling", do_backscrolling);
  } else if(mode == AUTOSCROLL) {
    writer.write_string("mode", "autoscroll");
    writer.start_list("path");
    for(std::vector<ScrollPoint>::iterator i = scrollpoints.begin();
        i != scrollpoints.end(); ++i) {
      writer.start_list("point");
      writer.write_float("x", i->position.x);
      writer.write_float("y", i->position.y);
      writer.write_float("speed", i->speed);
      writer.end_list("point");
    }
    writer.end_list("path");
  } else if(mode == MANUAL) {
    writer.write_string("mode", "manual");
  }

   
Bugs
====

 - switching to the current sector resets visible properties
 - sometime the tilemap is alot huger than the level

# EOF #
