#include "exec.h"

//Entrées des menus
EVENEMENT base[]=			{
	{"Explorer ce CD","Comme depuis l'explorateur"},
	{"Tester le projet...","Permet de le tester sur PC"},
	{"Voir les rapports...","Les documents Word imprimés"},
	{"Outils...","Affiche la liste des outils fournis (à tester)"},
	{"Exemples GBA...","Ouvre les exemples à tester avec VBA ou compiler"},
	{"Présentation","Ouvre le Power Point de la présentation"},
	{"Lire le readme","Ouvre un petit fichier d'aide"},
	{"Fermer","Quitte ce programme"},
};

EVENEMENT rapports[]=			{
	{"Rapport principal","Celui qui traite du projet global"},
	{"Rapport de David","Traite de son programme Automatisation en VB"},
	{"Rapport Florian","Traite de mon programme Map pour GBA"},
	{"Cours GBA","Petit cours pour débuter avec HAM"},
	{"[Abandonné] - Librairie","Petit cours pour débuter avec HAM"},
};

EVENEMENT tests[]=		{
//	{"Lisez-moi: émulateur","Ce qu'il faut savoir avant de lancer la map"},
	{"La map (GBA)","Sera émulée avec VisualBoyAdvance"},
	{"Automatisation","Programme VB permettant de paramétrer la Map"},
};

EVENEMENT outils[]=			{
	{"Installer HAM","Lance l'installation du compilateur HAM"},
	{"GBA Graphics","Editeur de map et convertisseur de graphismes"},
	{"VisualBoyAdvance","Emulateur Game Boy Advance"},
	{"Client EZFA","Vous devez l'installer pour utiliser la carte EZFA"},
	{"Filesystem","Système de fichiers pour la GBA"},
	{"Convert.exe","Convertisseur d'images et fontes pour le lecteur de textes"},
	{"All.exe","Crée un fichier .h contenant toutes les ressources"},
	{"Autorun","Menu interactif d'exploration du projet"},
	{"Graphlib","Librairie graphique nécessaire pour pouvoir tout compiler"}
};

EVENEMENT exemples[]=		{
	{"Exemple 01","Affiche un pixel (mode 3)"},
	{"Exemple 02","Affiche une image (mode 3)"},
	{"Mosaique","Affiche une map à faire défiler (mode 0)"},
	{"Dégradé","Fait une nuance de couleurs par IRQ HBLANK (mode 0)"},
	{"Assembleur","Mix d'ASM et de C vu dans ce projet"},
	{"IWRAM","Fichiers sources multiples"},
};

void Rapports(CBouton *boutons)			{
	int i;
	CreeListe(boutons,rapports,5);
	parentActive=1;
	gblTitre="Rapports";

	while(1)			{
		//Dessine le fond
		DessFond();
		i=BoucleParDefaut(boutons);
		if (i==-2)
			return;
		if (i==0)
			Ouvre("Documents\\Rapport.doc");
		else if (i==1)
			Ouvre("Documents\\Rapport automatisation.doc");
		else if (i==2)
			Ouvre("Documents\\Rapport map.doc");
		else if (i==3)
			Ouvre("Documents\\Cours GBA.doc");
		else if (i==4)
			Ouvre("Documents\\Librairie.doc");
		AttendSyncFreq(60);
	}
}

void Tester(CBouton *boutons)			{
	int i;
	CreeListe(boutons,tests,2);
	parentActive=1;
	gblTitre="Test du projet";

	while(1)			{
		//Dessine le fond
		DessFond();
		i=BoucleParDefaut(boutons);
		if (i==-2)
			return;
		if (i==0)			{
			ChoixMultiple(3,"A lire absolument!","readme-vba.htm","Tester!","Map\\map_final.gba","Ouvrir la source","Map\\");
			gblParam1=2;
		}
		else if (i==1)			{
			ChoixMultiple(2,"Tester!","Automatisation\\ZonenDefinition.exe","Ouvrir la source","Automatisation\\");
		}
		AttendSyncFreq(60);
	}
}

void Outils(CBouton *boutons)			{
	int i;
	CreeListe(boutons,outils,9);
	parentActive=1;
	gblTitre="Outils";

	gblParam1=0;
	while(1)			{
		//Dessine le fond
		DessFond();
		i=BoucleParDefaut(boutons);
		if (i==-2)
			return;
		if (i==0)
			Ouvre("Tools\\ham-280-full-win32.exe");
		else if (i==1)
			ChoixMultiple(4,"Lire la doc.","Tools\\GBA Graphics\\Français\\aide.htm","Exécuter le prog.","Tools\\GBA Graphics\\Français\\GBA Graphics.exe","Ouvrir la source","Tools\\GBA Graphics source\\","Ouvrir le répertoire","Tools\\GBA Graphics\\");
		else if (i==2)
			Ouvre("Tools\\VisualBoyAdvance\\VisualBoyAdvance.exe");
		else if (i==3)
			Ouvre("Tools\\EZFA Client");
		else if (i==4)
			ChoixProg("Utilitaires\\filesystem\\Release\\filesystem.exe","Utilitaires\\filesystem\\");
		else if (i==5)
			ChoixProg("Utilitaires\\convert\\Release\\convert.exe","Utilitaires\\convert\\");
		else if (i==6)
			Ouvre("Utilitaires\\all\\");
		else if (i==7)
			Ouvre("Utilitaires\\autorun\\");
		else if (i==8)
			ChoixMultiple(3,"Ouvrir le répertoire","Utilitaires\\Graphlib\\","Lire le readme...","Utilitaires\\Graphlib\\Readme.txt","Installer!","Utilitaires\\Graphlib\\Install.bat");
		AttendSyncFreq(60);
	}
}

void Exemples(CBouton *boutons)			{
	int i;
	CreeListe(boutons,exemples,6);
	parentActive=1;
	gblTitre="Exemples";

	gblParam1=1;
	while(1)			{
		//Dessine le fond
		DessFond();
		i=BoucleParDefaut(boutons);
		if (i==-2)
			return;
		if (i==0)
			ChoixExemple("Exemples\\Ex01\\Ex01.gba","Exemples\\Ex01\\");
		else if (i==1)
			ChoixExemple("Exemples\\Ex02\\Ex01.gba","Exemples\\Ex02\\");
		else if (i==2)
			ChoixExemple("Exemples\\Mosaique\\Mosaique.gba","Exemples\\Mosaique\\");
		else if (i==3)
			ChoixExemple("Exemples\\Degrade\\Degrade.gba","Exemples\\Degrade\\");
		else if (i==4)
			ChoixExemple("Exemples\\Assembleur\\Assembleur.gba","Exemples\\Assembleur\\");
		else if (i==5)
			ChoixExemple("Exemples\\IWRAM\\iwram.gba","Exemples\\IWRAM\\");
		AttendSyncFreq(60);
	}
}


void main(void)			{
	CBouton boutons[MAX_BOUTONS];						//Nombre de boutons max. : 20
	int i;

	SetWindowText(hConsole,"Powered by GraphLib - © 2004 Brünni");
	InitTimer();
	SupportMasque(0);
	objGBA=ChargeObjet("gba.bmp");
	SupportMasque(1);
	objBoutons=ChargeObjet("boutons.bmp");
	objFond=ChargeObjet("fond.bmp");

	ModeGraphique();
	ModeAttente(0,0);

base:
	CreeListe(boutons,base,8);
	parentActive=0;
	gblTitre="Projet GBA";

	while(1)			{
		//Dessine le fond
		DessFond();

		i=BoucleParDefaut(boutons);

		if (i==0)		{
			char str[1000], dir[1000];
			GetCurrentDirectory(sizeof(dir),dir);
			sprintf(str,"explorer %s",dir);
			WinExec(str,1);
		}
		else if (i==1)		{
			Tester(boutons);
			goto base;
		}
		else if (i==2)		{
			Rapports(boutons);
			goto base;
		}
		else if (i==3)		{
			Outils(boutons);
			goto base;
		}
		else if (i==4)		{
			Exemples(boutons);
			goto base;
		}
		else if (i==5)
			Ouvre("Presentation\\map.ppt");
		else if (i==6)
			Ouvre("readme.htm");
		else if (i==7)
			break;			

		AttendSyncFreq(60);
	}

	arret;
}

