/*void GereElementsCaches(HWND hDlg, int i)		{
	if (i==0)	{		//Case Personnalisé
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT1),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT2),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_STBLOCS),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT7),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT8),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_SPALETTE),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_STILESET),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC1),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC2),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT6),SW_HIDE);
	}
	else if (i==1)		{
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT1),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT2),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_STBLOCS),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT7),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT8),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_SPALETTE),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_STILESET),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC1),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC2),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT6),SW_HIDE);
	}
	else if (i==2)		{
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT1),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT2),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_STBLOCS),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT7),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT8),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_SPALETTE),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_STILESET),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC1),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC2),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT6),SW_SHOW);
	}
	else if (i==3)		{
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT1),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT2),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_STBLOCS),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT7),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT8),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_SPALETTE),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_STILESET),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC1),SW_SHOW);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC2),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT6),SW_SHOW);
	}
	else if (i==4)		{
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT1),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT2),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_STBLOCS),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT7),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT8),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_SPALETTE),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_STILESET),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC1),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_PARC2),SW_HIDE);
		ShowWindow(GetDlgItem(hDlg,IDC_EDIT6),SW_SHOW);
	}
}*/

// "Handler" pour la boîte de dialogue
/*LRESULT CALLBACK DlgImport(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	char str[1000], *tampon, nom_court[31];
	char nom1[MAX_PATH], nom2[MAX_PATH];
	HWND hCombo;
	FILE *f;
	int taille, i,j,k, x,y;
	static char *cAvertissement;

	switch (message)
	{
		case WM_INITDIALOG:
			cAvertissement="Attention!\nCeci va écrire l'en-tête GBA Graphics au début du fichier!\nCette opération peut foirer, et si c'est le cas, votre fichier sera perdu.\nÊtes-vous sûr(e)?";
			f=fopen(gblcMap,"r");
			while(1)		{
				i=fgetc(f);
				if (feof(f))
					break;
				if (i!='\r' && i!='\n' && (i<32 || i>255))		{
					cAvertissement="Attention!\nCeci va écrire l'en-tête GBA Graphics au début du fichier!\nIl s'agit d'un ici d'un fichier binaire, sur lequel vous ne DEVRIEZ ABSOLUMENT PAS effectuer cette opération. De toutes manières, si vous validez ici, considérez votre fichier comme perdu.\nÊtes-vous sûr(e)?";
					if (MessageBox(hDlg,"Données binaires trouvés dans le fichier.\nJe vous déconseille à 200% de continuer avec ce fichier, car il ne sera absolument plus utilisable si vous lui ajoutez un en-tête!\nVous êtes seul responsable de ce qui vous arrive si vous choisissez de continuer.\nContinuer?",gblcMap,MB_ICONERROR|MB_YESNO|MB_DEFBUTTON2)==IDNO)		{
						EndDialog(hDlg,IDCANCEL);
						return TRUE;
					}
					break;
				}
			}
			fclose(f);
			hCombo=GetDlgItem(hDlg,IDC_COMBO1);
			SendMessage(hCombo,CB_ADDSTRING,0,(LPARAM)"Palette");
			SendMessage(hCombo,CB_ADDSTRING,0,(LPARAM)"Jeu de mosaïques");
			SendMessage(hCombo,CB_ADDSTRING,0,(LPARAM)"Carte");
			SendMessage(hCombo,CB_ADDSTRING,0,(LPARAM)"Bitmap 8 bits");
			SendMessage(hCombo,CB_ADDSTRING,0,(LPARAM)"Bitmap 16 bits");
			if (strstr(gblcMap,"map"))
				SendMessage(hCombo,CB_SETCURSEL,2,0);
			else if (strstr(gblcMap,"pal"))
				SendMessage(hCombo,CB_SETCURSEL,0,0);
			else if (strstr(gblcMap,"til"))
				SendMessage(hCombo,CB_SETCURSEL,1,0);
			else if (strstr(gblcMap,"b16"))
				SendMessage(hCombo,CB_SETCURSEL,4,0);
			else if (strstr(gblcMap,"b8") || strstr(gblcMap,"bmp"))
				SendMessage(hCombo,CB_SETCURSEL,3,0);
			else
				SendMessage(hCombo,CB_SETCURSEL,0,0);
			SetDlgItemText(hDlg,IDC_EDIT4,gblcMap);
			SetDlgItemText(hDlg,IDC_EDIT1,"8");
			SetDlgItemText(hDlg,IDC_EDIT2,"8");
			SetDlgItemText(hDlg,IDC_EDIT5,"1");
			SetDlgItemText(hDlg,IDC_EDIT6,"1");
			i=SendDlgItemMessage(hDlg,IDC_COMBO1,CB_GETCURSEL,0,0);
			GereElementsCaches(hDlg,i);
			return TRUE;

		case WM_COMMAND:
			switch (HIWORD(wParam))		{
				case CBN_SELCHANGE:
					i=SendDlgItemMessage(hDlg,IDC_COMBO1,CB_GETCURSEL,0,0);
					GereElementsCaches(hDlg,i);
					break;
			}

			switch (LOWORD(wParam))		{
				case IDC_PARC1:
					GetDlgItemText(hDlg,IDC_EDIT7,str,MAX_PATH);
					if (OuvreFichier(str,"\1Tous les fichiers\0*.*\0\0"))
						SetDlgItemText(hDlg,IDC_EDIT7,str);
					break;
				case IDC_PARC2:
					GetDlgItemText(hDlg,IDC_EDIT8,str,MAX_PATH);
					if (OuvreFichier(str,"\1Tous les fichiers\0*.*\0\0"))
						SetDlgItemText(hDlg,IDC_EDIT8,str);
					break;

				//Bouton aperçu
				case IDC_APERCU:
					sprintf(str,"notepad \"%s\"",gblcMap);
					WinExec(str,1);
					break;

				//Bouton ok
				case IDOK:
					tampon=(char*)malloc(1024*1024);
					f=fopen(gblcMap,"r");
					if (!f || !tampon)
						break;
					taille=fread(tampon,1,1024*1024,f);
					if (!feof(f) || taille==0)		{
						MessageBox(hDlg,"Fichier trop long, trop court ou non-valide!","Mince!",MB_ICONERROR);
						break;
					}
					fclose(f);
//					if (strncmp(gblcMap+strlen(gblcMap)-2,".c",2))
						i=MessageBox(hDlg,cAvertissement,"Attention!",MB_ICONEXCLAMATION|MB_YESNO|MB_DEFBUTTON2);
//					else
//						i=IDYES;

					if (i==IDYES)		{
						f=fopen(gblcMap,"w");
						if (!f)
							break;
						faitNomCourt(gblcMap,nom_court);
						i=SendDlgItemMessage(hDlg,IDC_COMBO1,CB_GETCURSEL,0,0);
						if (i==0)		{
							GetDlgItemText(hDlg,IDC_EDIT5,str,sizeof(str));
							j=atoi(str);
							sprintf(str,"//%s\n//Converti avec GBA Graphics par Brünni\n//Palette\n//Taille: %i\n//Mémoire: %i octets\n\n//const unsigned short %s_palette[%i]=	{\n",gblcMap,j,j*2,nom_court,j);
							fputs(str,f);
						}
						else if (i==1)		{
							GetDlgItemText(hDlg,IDC_EDIT7,nom1,MAX_PATH);
							GetDlgItemText(hDlg,IDC_EDIT5,str,sizeof(str));
							j=atoi(str);
							sprintf(str,"//%s\n//Converti avec GBA Graphics par Brünni\n//Tileset (\"%s\")\n//Taille: 8*8*%i\n//Mémoire: %i octets\n\n//const unsigned char %s_tiles[%i]=	{\n",gblcMap,nom1,j,j*8*8,nom_court,j*8*8);
							fputs(str,f);
						}
						else if (i==2)		{
							GetDlgItemText(hDlg,IDC_EDIT7,nom1,MAX_PATH);
							GetDlgItemText(hDlg,IDC_EDIT8,nom2,MAX_PATH);
							GetDlgItemText(hDlg,IDC_EDIT5,str,sizeof(str));
							x=atoi(str);
							GetDlgItemText(hDlg,IDC_EDIT6,str,sizeof(str));
							y=atoi(str);
							GetDlgItemText(hDlg,IDC_EDIT1,str,sizeof(str));
							j=atoi(str);
							GetDlgItemText(hDlg,IDC_EDIT2,str,sizeof(str));
							k=atoi(str);

							sprintf(str,"//%s\n"
								"//Converti avec GBA Graphics par Brünni\n"
								"//Map (\"%s\",\"%s\")\n"
								"//Taille: %i*%i * %i*%i\n"
								"//Mémoire: %i octets\n\n"
								"//const unsigned short %s_map[%i]=	{\n"
								,gblcMap,
								nom1,nom2,
								j,k,x,y,
								x*y*2,
								nom_court,x*y);

							fputs(str,f);
						}
						else if (i==3)		{
							GetDlgItemText(hDlg,IDC_EDIT7,nom1,MAX_PATH);
							GetDlgItemText(hDlg,IDC_EDIT5,str,sizeof(str));
							x=atoi(str);
							GetDlgItemText(hDlg,IDC_EDIT6,str,sizeof(str));
							y=atoi(str);
							sprintf(str,"//%s\n//Converti avec GBA Graphics par Brünni\n//Bitmap 8 bits (\"%s\")\n//Taille: %i*%i\n//Mémoire: %i octets\n\n//const unsigned short %s_bitmap8[%i]=	{\n",gblcMap,nom1,x,y,x*y,nom_court,x*y);
							fputs(str,f);
						}
						else if (i==4)		{
							GetDlgItemText(hDlg,IDC_EDIT5,str,sizeof(str));
							x=atoi(str);
							GetDlgItemText(hDlg,IDC_EDIT6,str,sizeof(str));
							y=atoi(str);
							sprintf(str,"//%s\n//Converti avec GBA Graphics par Brünni\n//Bitmap 16 bits\n//Taille: %i*%i\n//Mémoire: %i octets\n\n//const unsigned short %s_bitmap16[%i]=	{\n",gblcMap,x,y,x*y*2,nom_court,x*y);
							fputs(str,f);
						}
//						fputs("Salut monde!\n",f);
						fwrite(tampon,taille,1,f);
						fclose(f);
						sprintf(str,"notepad \"%s\"",gblcMap);
						WinExec(str,1);
						//Dialogue terminé
						EndDialog(hDlg, IDOK);
						return TRUE;
					}
					break;

				//Bouton annuler
				case IDCANCEL:
					EndDialog(hDlg, IDCANCEL);
					return TRUE;
			}
			break;
	}

    return FALSE;
}*/

int ImporteFichier(char *fichier)		{
	char *extension;
	int i, j, type;

	extension = GetWideExtension((char*)fichier);
	for (i=0;i<nb_sections;i++)			{
		//Pour chaque type de fichier, compare si l'extension est la même que le fichier en cours
		for (j=0;j<NBRE_PTRS_FORMATS;j++)		{
			//+1 pour supprimer le point
			if (!strcmp(extension, formats[i].ptrs[j][8]+1))			{
				ELEMENT el;
				if (j==0)
					type = TYPE_BITMAP16;
				else if (j==1)
					type = TYPE_BITMAP8;
				else if (j==2)
					type = TYPE_PALETTE;
				else if (j==3)
					type = TYPE_MOSAIQUE;
				else if (j==4)
					type = TYPE_MAP;
				else if (j==5)
					type = TYPE_LISTE;

				el.type = type;
				if (dossierParDefaut[type][0])		{
					elements[i].type |= DANS_DOSSIER;
					strcpy(el.dossier, dossierParDefaut[type]);
				}
				strcpy(el.nom_fichier,CreeNomRelatif(fichier));
				strcpy(el.nom_base, "");
				faitNomCourt(fichier, str);
				strcpy(el.nom_court, str);
				el.hti = NULL;
				AjouteAuProjet(el);
				return 0;
			}
		}
	}

/*	FILE *f;
	ELEMENT el;
	char str[1000], str2[31], *ptr, temp[1000], str3[1000];
	int i;

refait:
	f=fopen(fichier,"r");
	if (!f)
		return 0;
	fgets(temp,1000,f);
	temp[strlen(temp)-1]=0;
	fgets(str,1000,f);
	if (strcmp(str,"//Converti avec GBA Graphics par Brünni\n"))		{
		faitNomCourt(fichier,str2);
		strcpy(gblcMap,fichier);
		fclose(f);
		if (DialogBox(hInst,(LPCTSTR)IDD_IMPORTER,gblHDlg,(DLGPROC)DlgImport)==IDOK)
			goto refait;
		else
			return 0;
	}
	fgets(str,1000,f);
	strcpy(el.nom_base,temp+2);
	strcpy(el.nom_fichier,CreeNomRelatif(fichier));
	faitNomCourt(fichier,el.nom_court);
	if (!strcmp(str,"//Palette\n"))		{
		el.type=TYPE_PALETTE;
		AjouteAuProjet(el);
	}
	else if (!strncmp(str,"//Bitmap 8 bits (",17))		{
		el.type=TYPE_BITMAP8;
		AjouteAuProjet(el);
		str[strlen(str)-3]=0;
		LitNomBase(str+18,temp);
		strcpy(el.nom_base,temp);
		strcpy(el.nom_fichier,CreeNomRelatif(str+18));
		faitNomCourt(el.nom_fichier,el.nom_court);
		el.type=TYPE_PALETTE;
		AjouteAuProjet(el);
	}
	else if (!strcmp(str,"//Bitmap 16 bits\n"))		{
		el.type=TYPE_BITMAP16;
		AjouteAuProjet(el);
	}
	else if (!strncmp(str,"//Map (",5))		{
		el.type=TYPE_CARTE;
		AjouteAuProjet(el);

		ptr=str+8;
		i=0;
		while(*ptr!='\"' && *ptr)		{
			temp[i++]=*ptr++;
		}
		temp[i]=0;
		LitNomBase(temp,str3);
		strcpy(el.nom_base,str3);
		strcpy(el.nom_fichier,CreeNomRelatif(temp));
		faitNomCourt(el.nom_fichier,el.nom_court);
		el.type=TYPE_PALETTE;
		AjouteAuProjet(el);

		ptr+=3;
		i=0;
		while(*ptr!='\"' && *ptr)		{
			temp[i++]=*ptr++;
		}
		temp[i]=0;
		LitNomBase(temp,str3);
		strcpy(el.nom_base,str3);
		strcpy(el.nom_fichier,CreeNomRelatif(temp));
		faitNomCourt(el.nom_fichier,el.nom_court);
		el.type=TYPE_MOSAIQUE;
		AjouteAuProjet(el);
	}
	else if (!strncmp(str,"//Tileset 16 bits (",19) || !strncmp(str,"//Tileset 8 bits (",18) || !strncmp(str,"//Tileset 4 bits (",18))		{
		char *ptr;
		el.type=TYPE_MOSAIQUE;
		AjouteAuProjet(el);
		str[strlen(str)-3]=0;
		ptr=str;
		while(*ptr!='(' && *ptr)
			*ptr++;
		LitNomBase(ptr+1,temp);
		strcpy(el.nom_base,temp);
		strcpy(el.nom_fichier,CreeNomRelatif(ptr+1));
		faitNomCourt(el.nom_fichier,el.nom_court);
		el.type=TYPE_PALETTE;
		AjouteAuProjet(el);
	}
	else if (!strncmp(str,"//Liste (",9))		{
		el.type=TYPE_LISTE;
		AjouteAuProjet(el);
		str[strlen(str)-3]=0;
		LitNomBase(str+10,temp);
		strcpy(el.nom_base,temp);
		strcpy(el.nom_fichier,CreeNomRelatif(str+10));
		faitNomCourt(el.nom_fichier,el.nom_court);
		el.type=TYPE_MOSAIQUE;
		AjouteAuProjet(el);
	}
	else	{
//		Debug(str);
		MessageBox(gblHDlg,"Bien que l'en-tête spécifie que ce fichier a été fait avec GBA Graphics, le type d'objet qu'il contient semble inconnu.",fichier,MB_ICONERROR);
		fclose(f);
		return 0;
	}
	fclose(f);*/
	return 1;
}

