Game TODOs
- waypoints
- unit accelleration: units should slowly start to accelerate and to brake when
  moving
- AI
- BosonCommandWidget should paint the order pixmap only *once* no more. E.g. we
  repaint for setGrayOut() and setProductionCount()
- mine/harvest minerals/oil is only at an experimantal state ; same about
  refining
- oil towers: they should be placed on an oil field. oil tankers go to the
  towers and receive the oil from them, which they take to the refinery
- pathfinding doesn't support units with size > BO_TILE_SIZE. get rid of
  MobileUnit::boundingRect() hack
- let the player configure how often the different advance methods are called.
  E.g. advanceNone() when work()==WorkNone and so on. We should use a
  KGameProperty with PolicyClean, since it *must* be *exactly* the same value on
  every client. A frontend with settings like "best performance" == call
  advance methods seldom and stuff like this would also be nice
- pause
- display "filling" status of harvesters instead of firepower. use different
  colors!
- "welcome to Boson" text in startup screen should be translateable (we can use
  QPainter to paint it to pixmap)
- Do not start game before all players have loaded their data
- BosonTiles::mTilesImage is unused in game mode. free memory
- mark selected units, i.e. display the group number in the selectbox (and also
  in the cmd frame for every unit)
- maybe provide UnitGroups without keyboard, too. select units, click on a
  (empty) button to store that group. another click on that button restores the
  group. rmb on that button deletes it
- cmd bunker should display "completed" for completed facilities in the cmd
  frame. player should left click this then in order to select it for placement
  on the map. Currently the player has to click on the cmd bunker only (not on
  the order button) to start placement
- Make shield reloading speed configurable
- fix minimap-zooming. there are a few bugs when the viewport is not at top left
  of the map and we therefore have to call QPainter::translate().
- samsite should be more vulnerable when the doors are open. decrease armor
  then. we need to provide some config entries for indes.unit for this,
  specifying the frame number when armor changes. note that the frame number for
  this must NOT depend on the .3ds file!
- many methods depend on a factory to be a facility. remove this dependance. a
  production plugin can be part of a mobile unit, too
- maintaining two different files for one map sucks. we should be able to place
  all map_name.boson data into the .bpf file, too. xml supports i18n, too!
- particles: there are only very few different textures used by particles
  (specified in particles.boson). we would gain a lot of speed by grouping all
  particles with one texture on the screen into a single glBegin()/glEnd() pair
- Add screenshots support to saving/loading widget
- Shooting sounds should be specified per weapon, not per unit

Editor (map, unit, scenario) TODOs
- don't place units on invalid tiles (e.g. ship on grass)
- unit editor: add an additional page for the description of the unit (longer
  text - should go into the handbook). Should be able to contain images and so
  on. Maybe use plain docbook or so
- use another options dialog. we MUST NOT provide the possibility to change the
  game speed!!

General TODOs
- find out whether signalUnitPropertyChanged() is a good thing at all. Might
  save some performance if we don't use it.
- add revision (CVS) number of files to the connection protocol. If the versions
  differ then deny connection. This ensures that all clients are at the smae
  version. We need the revision number of each file - how to do add this
  automatically?
  We can do this using static const char filename_id = "$Id:";
- BosonTiles: pehaps use KPixmapSplitter (kdelibs/kdefx)
- transmit everything on startup over network (== map, unitProperties). This
  saves us from a cheating player who (maybe just accidently) changed the files
  (units/*/index.unit especially).
- make sure that kdemultimedia is installed - perhaps disable .ogg support
  somehow if it isn't
- make sure that libogg and so on is installed! even if kdemultimedia is
  installed it may still be that ogg support is missing
- hostname lineedit in BosonNetworkOptionsWidget seems to have wrong
  BackgroundOrigin  update: it's not wrong, it's disabled-color
- pixmaps on startup widgets should be centered horizontally
- Use KMD5 to calculate checksum of map and unitProperties at the beginning of
  game and transfer only needed things over network. Saves some traffic
- Minimap doesn't support units with width or height not equal to BO_TILE_SIZE
- Click+Move in minimap should move the rectangle (aka the screen position)
- ./configure allows --without-gl
- Clean up BosonNewGameWidget. E.g. map selection stuff sucks IMHO and we also
  need some UI fixes. E.g. it should show min/max players of current map

Data TODOs
- sound for destroyed facilities - shouldn't be speech i guess
- missile sound - e.g. for the samsite
- shipyard
- airport
- rewrite installation code:
  -> when a dir is renamed currently the old remains on disk and therefore is
     read by the game
- the text on the startup pixmap should be translatable. maybe we can use a
  QPainter to paint on it?
- can we use a coded gradient instead of the startup-bg pix? would allow every
  size then
- background story - especially descriptions of the units
- maps
- other species
- document [Sounds] in units/README
- write a script/program that parses the .3ds files and then outputs the
  textures that are in cvs but not used

