


Un niveau est représenté par un fichier avec l'extension .lvl
Le fichier est un fichier binaire contenant comme header cette structure.
Les données sont au format little endian.
struct level_desc 
{
  unsigned char  version[4]; 		/* LVL?, ? is the version number of the file */
  unsigned short int sizex;	/* width of the playfield */
  unsigned short int sizey;	/* height of the playfield */
  unsigned short int nsquares;	/* number of différents squares in this file */

  unsigned char  dummy[20];		/* For futher extension */
};
La suite du fichier contient la description des cases représentés par cette structure
struct level_squares_desc
{
  unsigned int square_properties;	/* Define the propertie of the square */
  unsigned short int nimages;		/* number of images for animation */
  unsigned int delay;			/* delay between 2 images in ms */
  list of filenames for images;
}
enum
{
  CAN_MOVE_TO_NORTH = (1<<0),
  CAN_MOVE_TO_SOUTH = (1<<1),
  CAN_MOVE_TO_EAST  = (1<<2),
  CAN_MOVE_TO_WEST  = (1<<3),
  AFTER_MOVE_CRASH  = (1<<4),
  CAN_GO_ABOVE      = (1<<5)
};
La suite du fichier contient le tableau contenant un index sur les cases:
  sur 8 bits s'il y a moins de 256 cases, sinon 16 bits.




Pour la partie solo, un fichier décrit l'ordre des niveaux auquel le jouer pourra jouer.

