Tasks for Heroes.  If you think something is missing here,
please send a note to <heroes-discuss@lists.sourceforge.net>.


Before 0.11
-----------

  Create a convenience library to load levels.  This is will
  make any change to the level format more easy.  It has to be
  used in heroes when loading the level for playing or editing.

  Load the level in a way that doesn't require ATTRIBUTE_PACKED
  structures.  ATTRIBUTE_PACKED is evil.

  hedlite.c should be cleaned.

Before 1.0.0
------------

  The code is VERY UGLY and needs to be cleaned up.

  If possible, Get rid of GETWORD, SETWORD and Cie, see src/endian.h.

  the default installation path on BeOS should not be /usr/local (?)

  Replace all C++-style comments (//foo) with C-style comments (/* foo */)

  There are several comments in French.  They should be translated.

  Check every place were filenames are used, use buffer allocated dynamically.

  Split heroes.c

  Split hedlite.c

  const.[ch] should not exist.

  Use {u,s}{8,16,32}_t types where it's important.

  A separate binary (say heroeslvl) is needed to perform various task
  on level files (such as modification of the header fields, automatic
  generation of level.lst, level integrity checking -- maybe conversion
  of level format, should we need to do this a day).

  __attribute__ ((packed)) is a gcc-isms, something must be done to avoid
  them. `something' may be using a different level format, in which case
  the `heroeslvl' above would be helpful.

  lib/fopenlock.c only know about fcntl locking, and don't perform any
  locking otherwise.  Other kind of locking should be implemented.


Left for a 1.1.x development branch
-----------------------------------

  Direct X11 support would be nice.

  The external editor should be ported too, it will need more work.

  Programmable vehicles (for CPU controlled ones) would be nice.  It
  would be fun to link with Guile and control the vehicles in scheme.

  Network support.


Miscellaneous
-------------

  What is the effect of removing the DMODE_SOFT_MUSIC from MikMod options ?

  Would Hermes be faster than LibGGI's crossblit ?

  Redesign the way menus are handled internally.

  Write assembly routines for stretching code.

  Use makeheaders (provided I can get in touch with its maintainer).


Ideas, to be discussed
----------------------

  Load GGI, SDL, and MikMod libraries dymically (i.e. select
  available library at run-time versus configure-time).  This needs
  to be discussed.
