	War version Beta. (Par Emeric Poupon)

	Musiques par Mike Spang (www.mspang.de)

	War, qu'est-ce que c'est? C'est un wargame en temps rel dont il  reprend tous les principes de base. C'est un jeu de gestion, stratgie, vu de haut. On doit construire et grer une base (entretiens, rparations, nergie, systme de collecteuses). C'est  dire que l'on possde un capital argent au dpart que l'on doit faire fructifier pour acheter et construire un systme de dfense (tourelles, murs, units mobiles) et d'attaque (units mobiles) de manire  radiquer toute prsence ennemie de la carte. On peut acqurir de l'argent en allant rcuprer de l'pice  l'aide d'une moissonneuse et d'une raffinerie pour la transformer en crdits.
	

I) Dbut du jeu

	Au dbut du jeu, on ne possde qu'un chantier de construction -sans aucun doute le btiment le plus important car c'est le seul qui permet de construire d'autres btiments- et quelques units servant  reprer les environs pour localiser des champs de minerais. Il faut donc parvenir  construire au plus tt une raffinerie pour pouvoir collecter de l'pice.

II) Spcificits

 - Jeu compil sous DJGPP avec la fameuse librairie Allegro (v3.9.35 pour DOS, 3.9.37 pour Windows). Marche sous 95/98/Me/Dos.
 - Rsolution minimum de 640*480, souris obligatoire.
 - Jeu entirement en temps rel. Mthode d'affichage: double buffering, triple bufferering ou page flipping.
 - Rsolutions indpendantes du jeu. (on peut trs bien jouer du 640*480 au 1600*1200, mme si le jeu devient injouable).
 - Captures d'cran avec "F12" (rsultat: out.bmp  la racine du jeu)

 - Dplacement des units:
   - dplacement de une ou plusieurs unit en mme temps.
   - Algorithme de contournement des btiments/units lors des dplacements:
     - dtermine TOUJOURS le trajet le plus rapide en cas de contournement.
     - une unit qui ne peut atteindre son but (si elle est enferme par exemple) s'arrte immdiatement.
   - Slection des units: clique GAUCHE.
   - Dslection: clique DROIT.
   - Multislection: appuyer sur [SHIFT GAUCHE] en plus du clique gauche.
   - On peut envoyer des units au chantier de rparations en cliquant dessus (le curseur change de forme).
   - De mme, on peut faire rentrer une moissonneuse dans une raffinerie.
  
 - La moissonneuse:
    - dtermine automatiquement le prochain endroit (pas trop loin)  collecter et s'y rend.
    - une fois la moissonneuse pleine, retour automatique  une raffinerie libre, sinon, elle se place  proximit en attente.
    - si la moissonneuse contient de l'pice et ne trouve plus d'endroits  collecter, elle rentre toute seule  la raffinerie.

 - Constructions:
   - Menu de construction
     - dfilement des constructions disponibles  la souris.
   - Changement du curseur lors d'une construction
   - On peut suspendre ou annuler une construction (clique DROIT).

Remerciements:

- Toutes les personnes ayant contribues  Allegro. 
- Tous les programmeurs de la communaut Allegro.cc (www.allegro.cc)
- Frank Herbert, pour la magnifique fresque de Dune qu'il nous a laisse.
- Mike Spang, pour ses musiques.

Controles au clavier:

 Touche 'I': Affiche les informations du jeu en haut de l'cran
 Touche 'C': Permet de changer le camp controll.
 Touche 'S': Les units selectionnes s'arretent.
 Touche 'G': Les units selectionnes gardent. (Indicateur bleu en haut  gauche de l'unit)
 Touche Tabulation: permet d'afficher ou de masquer le menu de construction.

 Touche 'F1': Selectionne une autre musique
 Touche 'F2': Stoppe la musique
 Touche 'F12': Capture d'cran (out.bmp)


Historique du dpot d'Allegro.cc (www.allegro.cc):
 - 09/06/2001: War est pass en dernire position dans le 'Top Download's section 'Strategy' sur le depot (10me place)! 
 - 13/06/2001: War passe en 9me position (95 downloads)!
 - 25/06/2001: War passe en 8me position (135 downloads)!
 - 26/06/2001: War passe en 7me position (141 downloads)!
 - 27/06/2001: War passe en 6me position (147 downloads)!
 - 11/08/2001: War passe en 5me position (231 downloads)!
 - 29/08/2001: War passe en 4me position (303 downloads)!
 - 10/09/2001: War passe en 3me position (368 downloads)!


Historique:
Beta version:
 - 28/11/2000: Recommenc tout le systme de dplacement en temps rel! (Argh!)
 -  7/12/2000: Refais tout le systme du menu, constructions units OK!
               Dbut de la construction des btiments.
 - 12/12/2000: Construction des btiments OK!
 - 17/12/2000: je refais tout le systme des dplacements (Argh!)
 - 21/12/2000: La fonction de direction marche.
 - 22/12/2000: Btiments primaires.
 - 24/12/2000: Amlioration de la fonction de direction.
 - 25/12/2000: Corrig bug de direction pour les attaques.
               Ajout des collecteuses.
 - 04/01/2001: Ajout des scripts de construction.
 - 05/01/2001: Bugs corrigs raffineries-collecteuse.
               Ajouts de nouveaux btiments (radar et silo) de faon dcorative.
               Chantier, Usine Lourde, Usine Lgre et raffinerie oprationnels.
 - 09/01/2001: Supprim toute la partie sur les collecteuses.
               Commenc rcriture des collecteuses (Argh!)
 - 10/01/2001: On commence  corriger les bugs des collecteuses...
 - 20/01/2001: File d'attente pour les collecteuses.
 - 05/02/2001: Dfilement du menu  la souris.
               Changement de tous les bitmaps, orientation clone du jeu DUNE II.
 - 06/02/2001: Un norme bug de moissonneuses corrig! 
               Curseur rouge pour construction impossibles.
               Un bug dans les  files d'attente de moissonneuses corrig!
 - 07/02/2001: Btiments  sprites anims. Corrig bug de moissonneuse.
 - 08/02/2001: Commenc  rcuprer les sprites de DUNE 2.
               Corrig un bug dans les files d'attente de moissonneuses.
 - 14/02/2001: Corrig un bug lorsque les moissonneuses rentrent.
 - 16/02/2001: Corrig un bug lorsque les moissonneuses sortent.
 - 25/02/2001: Recherche en spirale de l'Epice.
 - 26/02/2001: Remise au propre du menu avec ajout du "point" en construction.
 - 07/03/2001: Introduction des listes de btiments ncessaires  la construction.
               d'autres btiments et d'autres units.
 - 09/03/2001: Ajout du "clique" sur la raffinerie pour faire rentrer les moissoneuses.
               Ajout du changement de curseur lorsque l'on passe sur un batiment.
 - 29/03/2001: Ajout du curseur de dplacement, d'attaque, et de raffinage.
               Modifications invisibles:              
                 Modification de la structure des fonctions du curseur.
                 Commenc le catalogue "propre" de toutes les fonctions.
 - 30/03/2001: Optimisation de la fonction des dplacements:
                 On vite de nettoyer toute la carte des dplacements  chaque fois.
                 On initialise directement le bloc mmoire des dplacements par calloc.
               Constructions avec btiments primaires amliores.               
 - 03/04/2001: Slection des btiments.
 - 04/04/2001: Premier radar qui affiche les units.
 - 05/04/2001: Le radar affiche tout: units, btiments, carte (dont pice).
 - 09/04/2001: Affichage de la vie des btiments.
 - 10/04/2001: Slection des btiments primaires.
 - 16/04/2001: Annulation des constructions des btiments.
 - 26/04/2001: Gestion des crdits en construction, suspension et annulation des constructions.
               Gestion des silos d'pice.
 - 27/04/2001: Petite optimisation d'affichage.
 - 28/04/2001: J'ai (une fois de plus) enlev les fonctions des collecteuses pour rentrer, sortir et attendre.
 - 29/04/2001: Maintenant, n'importe quelle unit peut entrer, attendre ou sortir de n'importe quel btiment.
               Donc, les centres de rparation marchent.
               Bugs corrigs: on construit uniquement dans la carte!
 - 06/05/2001: L'unit qui veut rentrer dans un btiment se place toujours dans une case vide.
 - 13/05/2001: Restructuration des fichiers du code source.               
               Correction d'un bug de temps rel dans le scrolling.
 - 14/05/2001: Premire version Windows. Les sons Waves et les musiques marchent.
 - 15/05/2001: Rorganisation du programme pour un portage inter-compilateurs ais.
               Fonction qui vrifie si la cible est occup lors d'un dplacement et qui en choisit une autre  ct.
 - 17/05/2001: Rorganisation du code source termine. Ajout du triple buffering.
               Fichier Logfile.txt pour les informations d'excution.
 - 20/05/2001: Bug de moissonneuse corrig!
 - 22/05/2001: Premire mise en place des rotations pendant les dplacements (changement de direction)!
 - 23/05/2001: Rotation des units dans les deux sens.
 - 25/05/2001: Reprogrammation du systme de rotation.
 - 26/05/2001: Les units vrifient si la cible est occupe pendant la rotation.
 - 31/05/2001: Recommenc le systme d'attaques! (Argh!)
 - 08/06/2001: Maintenant, le programme lit depuis un fichier les donnes du niveau (units, btiments).
 - 09/06/2001: Cration d'un diteur de niveau indpendant: WarEdit
                 Fonction de sauvegarde et de lecture d'une seule carte (emplacement fixe).
 - 10/06/2001: Chargement d'une carte de l'diteur par le jeu.
               Ajout des diffrents terrains avec proprit indpendantes!
               Chargement des terrains par fichier.
 - 13/06/2001: Addition du config.ini
               Fonction qui dfinie les constructions possibles dans le menu ds le chargement.
               Mmoire du tableau de l'pice alloue dynamiquement.
               Premire bauche de fentre dans le radar (cadre blanc)
 - 14/06/2001: Premire bauche d'affichage du radar stretch.
 - 17/06/2001: Allocation dynamique de la mmoire de toutes les cartes du jeu.
               Slection de la rsolution par le config.ini
 - 18/06/2001: Bug corrig dans l'affichage du radar.
               La taille de la carte n'est plus fixe mais dfinie par le fichier.
               Libration de la mmoire utilise par les bases de donnes.
 - 19/06/2001: Chargement par fichier des couleurs de chaque terrain pour le radar.
               Rcriture avec un nouvelle structure de carte.
               Nouvelle fonction pour dterminer l'occupation d'une case de la carte.
               Bug du menu de construction corrig.
               Optimisation pour la dtermination de l'unit/btiment sous le curseur.
 - 20/06/2001: Rcriture de la structure de la carte (Argh!)
 - 22/06/2001: Correction d'un bug de slection.
 - 26/06/2001: Support du page flipping.
 - 27/06/2001: Bug corrig lors de la vrification des constructions.
 - 28/06/2001: Les units tentent de pointer leurs adversaires pour attaquer.
 - 29/06/2001: Les units font des rotations pour attaquer! Ca marche: tous les bugs sont corrigs!
               Bug corrig lors de la recherche de l'pice. (La moissonneuse cherchait hors carte)
 - 30/06/2001: Amlioration de la fonction de rotation des units.
               Bug corrig lors de la redfinition de la cible.
               Gestion dynamique de la mmoire par fichier pour certaines structures.
 - 07/07/2001: Correction d'un bug de slection de btiment.
 - 08/07/2001: Les units tirent lorsqu'elles sont en zone de tir! (ARGH!!)
               Changement de l'organisation des variables (0 remplac par RIEN).
               Dfinition par fichier de la couleur des camps au radar.
               Les units peuvent dtruire les units ennemies!
 - 09/07/2001: Petits changements dans l'organisation des constuctions.
               Changements de noms pour certaines fonctions de gestion.
               Les units vrifient si un ennemi est en zone de tir.
 - 10/07/2001: Implmentation de quelques fonctionalits pour les attaques:
               Les units qui se font attaquer rpondent si elles sont inactives.
               Rorganisation : Ajout d'un module d'attaque pour chaque unit.
 - 11/07/2001: Extension du module d'attaque: les units peuvent attaquer les batiments
               Correction d'un bug de curseur lors d'une construction.
               Ajout de la fonction garder des units.
 - 08/08/2001: Optimisation de l'affichage du menu (cases transparentes par dfaut).
               Amlioration de la gestion de la musique avec fichier ddi (music.dat).
               Introduction de la touche 'I' pour les informations  l'cran.
               Introduction des numros de version (0.1 pour commencer).
               Cration d'un nouveau fichier keys.c pour traiter l'appui des touches.
 - 09/08/2001: Fix un bug de rptition de touches.
               Commenc l'organisation d'un "level descpriptor". (Chargement d'une carte  partir d'un fichier)
 - 11/08/2001: Ajout de la vitesse du scrolling dans le fichier de configuration.
               Ajout de la vitesse gnrale du jeu dans le fichier de configuration.
               Dtection d'une collisitions d'un tir sur un batiment.
               Reconstruction du menu en cas de destruction de batiment control.
               Annulation des constructions en cas de non possibilt de fabrication:
                Remboursement, restitution de l'energie, de l'pice.
               Bugs corrigs dans le module GARDE.
               Renomm variable (index_pos_cons).
               Si on annule une construction sans avoir assez de place pour stocker l'pice rcupre: elle est perdue.
 - 12/08/2001: Affichage "centr" des tirs.
               Gestion dynamique de la mmoire pour les variables de chaque camp.
               Rorganisation des crations de construction.
               Ajout des constructions dpendantes du camp!
 - 18/08/2001: Pleins de bugs corrigs dans les constructions!
               Le changement de camp est entirement oprationnel.
 - 19/08/2001: Les units ne se bloquent plus aprs une attaque!
               Les batiments primaires marchent pour chaque camp!
               Premire version d'une selection d'unit "par rectangle"  la souris.
 - 21/08/2001: Fin de la rorganisation des cliques de souris. La selection (rectangle) est oprationnelle.
               Mise en place d'une zone de tolrance pour la selection des units par souris (rectangle).
 - 22/08/2001: Correction d'affichage dans les boites de selection.
               Pleins de bugs corrigs dans les selections  la souris et au curseur.
 - 23/08/2001: Mise en place des tourelles  titre dcoratif.
 - 24/08/2001: Bugs corrigs pour les tourelles.
               On peut selectionner les tourelles comme des units.
               Elles tirent comme des units.
               Ajout des batiments non-selectionnables.
               Ajout de la construction des tourelles par le fichier level.
               Ajout de la detection de collision inter-batiment au chargement.
 - 25/08/2001: Mise en place des tirs qui passent au dessus des batiments.
               Premire utilisation pour les units de tourelles.
 - 27/08/2001: Mise en temps rel de WarWin mais perte de l'excellente fluidit!
 - 28/08/2001: J'ai retrouv une bonne fluidit, mais pas tout  fait au niveau prcdent.
 - 29/08/2001: Fluidit satisfaisante en utilisant les timers d'Allegro (mme mthode que la version DOS)
               Le radar est maintenant oprationnel!
 - 31/08/2001: Petit ramdom en crant les batiments pour l'tat des sprites. (Je me comprends)
               Mise en place des diffrentes couleurs pour chaque camp (rouge et bleu pour l'instant).
               Chargement de la couleur du camp par le fichier level.
 - 02/09/2001: Rajout de la couleur verte!
 - 03/09/2001: Dbut de la cration d'une aide in-game!
 - 04/09/2001: Rajout de la description de chaque batiment et de chaque unit pour l'aide.
               L'aide est maintenant compltement oprationelle!
 - 05/09/2001: Aide automatique dans le menu et dans le jeu.
 - 08/09/2001: Bug corrig dans l'affichage de l'aide automatique.
               Gestion de la touche 'S' pour arreter les units selectionnes               
               Le module de garde est entirement oprationnel!
 - 10/09/2001: Ajout d'indication si l'unit est en mode garder.
               Bug d'aide corrig (affichage incorects)!
 - 16/10/2001: Ajout de la touche Tabulation pour masquer/afficher le menu de construction
 - 17/10/2001: Correction d'un bug lorsque l'on masquait le menu completement  droite de la carte.

Optimisations possibles:
 - crer deux zones dans le menu. Une en haut pour le radar, une en bas pour les constructions:
On inclura la carte dans la zone en haut pour gagner de la place!

 - Les units en dplacement vrifient si leur objectif est occup dans lequel cas elles ciblent par spirale un  ct. A AMELIORER PAR: - Au lieu de choisir une autre cible, voir si on est pas trop mal plac et s'arrter!

 - IMPORTANT: CHANGER TOUTES LES STRUCTS EN TYPEDEF
              CHANGER TOUT LE BORDEL DU NOUVEAU TERRAIN ET L'UTILISER MIEUX. 
CHANGER REFRESH_BAT POUR L'INCLURE DANS GERE_BAT

TIRS:
ROTATION AVANT DE VERIFIER

CAHNGER L'ORGANISATION DES UNITES:
UNITES
 -> MODULE ATTAQUE
 -> MODULE DEPLACEMENT
 -> MODULE COLLECTEUSE

BUG APRES DESTRUCTION DES UNITES (??)

*AJOUTER L'ATTAQUE DES BATIMENTS PAR UNITES DANS LE FICHIER DU NIVEAU

*REGLER LES DERNIERS PROBLEMES DE CENTRE DE REPARATIONS.

*RAJOUTER LA DEUXIEME METHODE DE DEPLACEMENT (LA DEUXIEME BRANCHE DE POSSIBILITE POUR EVITER DE RECALCULER SYSTEMATIQUEMENT)

*PEUT ETRE ESSAYER DE FAIRE DES FLAGS GENRE POUR CHAQUE UNITE:CAN_ATTACK, CAN_COLLECT, CAN_MOVE

*RAJOUTER LA TOUCHE TAB POUR ENLEVER LE MENU

*LORSQUE ON A TUE UNE UNITE, LES AUTRES QUI L ATTAQUAIENT DOIVENT ALLLER VERS L'UNITE DETRUITE

*LE CURSEUR A CHANGER SI C'EST UNE UNITE IMMOBILE

*RAJOUTER UN MODULE FOLLOW UNIT, UTILE POUR L'ATTAQUE ET POUR L'ESCORTE
