gfx2.dat is now replaced by an editable "skin" file: 'gfx2gui.gif', and a reference INI file: 'gfx2def.ini'.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@557 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									c018c13352
								
							
						
					
					
						commit
						e302f2d26a
					
				
							
								
								
									
										12
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Makefile
									
									
									
									
									
								
							@ -225,9 +225,9 @@ release : $(BIN) $(CFGBIN)
 | 
				
			|||||||
# A release zip archive
 | 
					# A release zip archive
 | 
				
			||||||
ziprelease: version $(BIN) $(BINCFG) release
 | 
					ziprelease: version $(BIN) $(BINCFG) release
 | 
				
			||||||
	tar cvzf src-svn`svnversion | sed 's/:/-/'`.tgz *.c *.h Makefile Makefile.dep gfx2.ico gfx2cfg.ico
 | 
						tar cvzf src-svn`svnversion | sed 's/:/-/'`.tgz *.c *.h Makefile Makefile.dep gfx2.ico gfx2cfg.ico
 | 
				
			||||||
	$(ZIP) $(ZIPOPT) grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-$(PLATFORM).$(ZIP) $(BIN) $(CFGBIN) gfx2.dat gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png doc/README-zlib1.txt doc/README-SDL.txt doc/README-SDL_image.txt doc/README-SDL_ttf.txt fonts/Tuffy.ttf src-svn`svnversion | sed 's/:/-/'`.tgz $(PLATFORMFILES)
 | 
						$(ZIP) $(ZIPOPT) grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-$(PLATFORM).$(ZIP) $(BIN) $(CFGBIN) gfx2def.ini gfx2gui.gif gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png doc/README-zlib1.txt doc/README-SDL.txt doc/README-SDL_image.txt doc/README-SDL_ttf.txt fonts/Tuffy.ttf src-svn`svnversion | sed 's/:/-/'`.tgz $(PLATFORMFILES)
 | 
				
			||||||
	$(DELCOMMAND) src-svn`svnversion | sed 's/:/-/'`.tgz
 | 
						$(DELCOMMAND) src-svn`svnversion | sed 's/:/-/'`.tgz
 | 
				
			||||||
	tar cvzf grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-src.tgz *.c *.h Makefile Makefile.dep gfx2.dat gfx2.ico gfx2cfg.ico gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png fonts/Tuffy.ttf
 | 
						tar cvzf grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-src.tgz *.c *.h Makefile Makefile.dep gfx2def.ini gfx2gui.gif gfx2.ico gfx2cfg.ico gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png fonts/Tuffy.ttf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(BIN) : $(OBJ) $(OBJRES)
 | 
					$(BIN) : $(OBJ) $(OBJRES)
 | 
				
			||||||
	$(CC) $(OBJ) $(OBJRES) -o $(BIN) $(LOPT)
 | 
						$(CC) $(OBJ) $(OBJRES) -o $(BIN) $(LOPT)
 | 
				
			||||||
@ -249,7 +249,7 @@ $(OBJDIR)/%.o :
 | 
				
			|||||||
	$(CC) $(COPT) -c $*.c -o $(OBJDIR)/$*.o
 | 
						$(CC) $(COPT) -c $*.c -o $(OBJDIR)/$*.o
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depend :
 | 
					depend :
 | 
				
			||||||
	$(CC) -MM *.c | sed 's:^[^ ]:$$(OBJDIR)/&:' > Makefile.dep
 | 
						$(CC) -MMG *.c | sed 's:^[^ ]:$$(OBJDIR)/&:' > Makefile.dep
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(OBJDIR)/winres.o : gfx2.ico
 | 
					$(OBJDIR)/winres.o : gfx2.ico
 | 
				
			||||||
	echo "1 ICON \"gfx2.ico\"" | $(WINDRES) -o $(OBJDIR)/winres.o
 | 
						echo "1 ICON \"gfx2.ico\"" | $(WINDRES) -o $(OBJDIR)/winres.o
 | 
				
			||||||
@ -271,7 +271,8 @@ install : $(BIN) $(CFGBIN)
 | 
				
			|||||||
	$(if $(wildcard $(datadir)/grafx2),,$(MKDIR) $(datadir)/grafx2)
 | 
						$(if $(wildcard $(datadir)/grafx2),,$(MKDIR) $(datadir)/grafx2)
 | 
				
			||||||
	$(CP) $(BIN) $(datadir)/grafx2/
 | 
						$(CP) $(BIN) $(datadir)/grafx2/
 | 
				
			||||||
	$(CP) $(CFGBIN) $(datadir)/grafx2/
 | 
						$(CP) $(CFGBIN) $(datadir)/grafx2/
 | 
				
			||||||
	$(CP) gfx2.dat $(datadir)/grafx2/
 | 
						$(CP) gfx2def.ini $(datadir)/grafx2/
 | 
				
			||||||
 | 
						$(CP) gfx2gui.gif $(datadir)/grafx2/
 | 
				
			||||||
	$(CP) gfx2.gif $(datadir)/grafx2/
 | 
						$(CP) gfx2.gif $(datadir)/grafx2/
 | 
				
			||||||
	$(CP) gfx2cfg.gif $(datadir)/grafx2/
 | 
						$(CP) gfx2cfg.gif $(datadir)/grafx2/
 | 
				
			||||||
	$(if $(wildcard $(datadir)/grafx2/fonts),,$(MKDIR) $(datadir)/grafx2/fonts)
 | 
						$(if $(wildcard $(datadir)/grafx2/fonts),,$(MKDIR) $(datadir)/grafx2/fonts)
 | 
				
			||||||
@ -283,7 +284,8 @@ uninstall :
 | 
				
			|||||||
	$(DELCOMMAND) $(bindir)/gfxcfg
 | 
						$(DELCOMMAND) $(bindir)/gfxcfg
 | 
				
			||||||
	$(DELCOMMAND) $(datadir)/grafx2/$(BIN)
 | 
						$(DELCOMMAND) $(datadir)/grafx2/$(BIN)
 | 
				
			||||||
	$(DELCOMMAND) $(datadir)/grafx2/$(CFGBIN)
 | 
						$(DELCOMMAND) $(datadir)/grafx2/$(CFGBIN)
 | 
				
			||||||
	$(DELCOMMAND) $(datadir)/grafx2/gfx2.dat
 | 
						$(DELCOMMAND) $(datadir)/grafx2/gfx2def.ini
 | 
				
			||||||
 | 
						$(DELCOMMAND) $(datadir)/grafx2/gfx2gui.gif
 | 
				
			||||||
	$(DELCOMMAND) $(datadir)/grafx2/gfx2.gif
 | 
						$(DELCOMMAND) $(datadir)/grafx2/gfx2.gif
 | 
				
			||||||
	$(DELCOMMAND) $(datadir)/grafx2/gfx2cfg.gif
 | 
						$(DELCOMMAND) $(datadir)/grafx2/gfx2cfg.gif
 | 
				
			||||||
	$(DELCOMMAND) $(datadir)/grafx2/fonts/*
 | 
						$(DELCOMMAND) $(datadir)/grafx2/fonts/*
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										35
									
								
								aide.c
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								aide.c
									
									
									
									
									
								
							@ -87,7 +87,7 @@ void Afficher_aide(void)
 | 
				
			|||||||
  short  Repeat_Menu_Facteur_Y;
 | 
					  short  Repeat_Menu_Facteur_Y;
 | 
				
			||||||
  short  Pos_Reel_X;
 | 
					  short  Pos_Reel_X;
 | 
				
			||||||
  short  Pos_Reel_Y;
 | 
					  short  Pos_Reel_Y;
 | 
				
			||||||
  int    Curseur;
 | 
					  byte * Curseur;
 | 
				
			||||||
  short  Largeur;             // Largeur physique d'une ligne de texte
 | 
					  short  Largeur;             // Largeur physique d'une ligne de texte
 | 
				
			||||||
  char   TypeLigne;           // N: Normale, T: Titre, S: Sous-titre
 | 
					  char   TypeLigne;           // N: Normale, T: Titre, S: Sous-titre
 | 
				
			||||||
                              // -: Ligne inférieur de sous-titre
 | 
					                              // -: Ligne inférieur de sous-titre
 | 
				
			||||||
@ -143,29 +143,38 @@ void Afficher_aide(void)
 | 
				
			|||||||
      // On crée une nouvelle ligne à splotcher
 | 
					      // On crée une nouvelle ligne à splotcher
 | 
				
			||||||
      for (Indice_de_caractere=0;Indice_de_caractere<Largeur;Indice_de_caractere++)
 | 
					      for (Indice_de_caractere=0;Indice_de_caractere<Largeur;Indice_de_caractere++)
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        // Recherche du caractère dans la fonte de 315 symboles.
 | 
					        // Recherche du caractère dans les fontes de l'aide.
 | 
				
			||||||
        // Ligne titre : Si l'indice est impair on dessine le quart de caractère
 | 
					        // Ligne titre : Si l'indice est impair on dessine le quart de caractère
 | 
				
			||||||
        // qui va a gauche, sinon celui qui va a droite.
 | 
					        // qui va a gauche, sinon celui qui va a droite.
 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        if (TypeLigne=='T')
 | 
					        if (TypeLigne=='T')
 | 
				
			||||||
          Curseur=Caracteres_Aide_Titre_haut[(unsigned char)(Ligne[Indice_de_caractere/2])-' '] + (Indice_de_caractere & 1);
 | 
					        {
 | 
				
			||||||
 | 
					          if (Ligne[Indice_de_caractere/2]>'_' || Ligne[Indice_de_caractere/2]<' ')
 | 
				
			||||||
 | 
					            Curseur=&(Fonte_help_norm['!'][0][0]); // Caractère pas géré
 | 
				
			||||||
 | 
					          else if (Indice_de_caractere & 1)
 | 
				
			||||||
 | 
					            Curseur=&(Fonte_help_t2[(unsigned char)(Ligne[Indice_de_caractere/2])-' '][0][0]);
 | 
				
			||||||
 | 
					          else
 | 
				
			||||||
 | 
					            Curseur=&(Fonte_help_t1[(unsigned char)(Ligne[Indice_de_caractere/2])-' '][0][0]);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        else if (TypeLigne=='-')
 | 
					        else if (TypeLigne=='-')
 | 
				
			||||||
          Curseur=Caracteres_Aide_Titre_bas[(unsigned char)(Ligne[Indice_de_caractere/2])-' '] + (Indice_de_caractere & 1);
 | 
					        {
 | 
				
			||||||
 | 
					          if (Ligne[Indice_de_caractere/2]>'_' || Ligne[Indice_de_caractere/2]<' ')
 | 
				
			||||||
 | 
					            Curseur=&(Fonte_help_norm['!'][0][0]); // Caractère pas géré
 | 
				
			||||||
 | 
					          else if (Indice_de_caractere & 1)
 | 
				
			||||||
 | 
					            Curseur=&(Fonte_help_t4[(unsigned char)(Ligne[Indice_de_caractere/2])-' '][0][0]);
 | 
				
			||||||
 | 
					          else
 | 
				
			||||||
 | 
					            Curseur=&(Fonte_help_t3[(unsigned char)(Ligne[Indice_de_caractere/2])-' '][0][0]);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        else if (TypeLigne=='S')
 | 
					        else if (TypeLigne=='S')
 | 
				
			||||||
          Curseur=Caracteres_Aide_S[(unsigned char)(Ligne[Indice_de_caractere])-' '];
 | 
					          Curseur=&(Fonte_help_bold[(unsigned char)(Ligne[Indice_de_caractere])][0][0]);
 | 
				
			||||||
        else if (TypeLigne=='N' || TypeLigne=='K')
 | 
					        else if (TypeLigne=='N' || TypeLigne=='K')
 | 
				
			||||||
          Curseur=Caracteres_Aide_N[(unsigned char)(Ligne[Indice_de_caractere])-' '];
 | 
					          Curseur=&(Fonte_help_norm[(unsigned char)(Ligne[Indice_de_caractere])][0][0]);
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
          Curseur=1; // Un garde-fou en cas de probleme
 | 
					          Curseur=&(Fonte_help_norm['!'][0][0]); // Un garde-fou en cas de probleme
 | 
				
			||||||
          
 | 
					          
 | 
				
			||||||
        // Un deuxième garde-fou
 | 
					 | 
				
			||||||
        if (Curseur < 0 || Curseur > 315)
 | 
					 | 
				
			||||||
          Curseur = 1; // '!' affiché pour les caractères non prévus
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        for (X=0;X<6;X++)
 | 
					        for (X=0;X<6;X++)
 | 
				
			||||||
          for (Repeat_Menu_Facteur_X=0;Repeat_Menu_Facteur_X<Menu_Facteur_X;Repeat_Menu_Facteur_X++)
 | 
					          for (Repeat_Menu_Facteur_X=0;Repeat_Menu_Facteur_X<Menu_Facteur_X;Repeat_Menu_Facteur_X++)
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            byte Couleur = Fonte_help[Curseur][X][Y];
 | 
					            byte Couleur = *(Curseur+X+Y*6);
 | 
				
			||||||
            // Surlignement pour liens
 | 
					            // Surlignement pour liens
 | 
				
			||||||
            if (TypeLigne=='K' && Indice_de_caractere>=Position_lien
 | 
					            if (TypeLigne=='K' && Indice_de_caractere>=Position_lien
 | 
				
			||||||
              && Indice_de_caractere<(Position_lien+Taille_lien))
 | 
					              && Indice_de_caractere<(Position_lien+Taille_lien))
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										7
									
								
								const.h
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								const.h
									
									
									
									
									
								
							@ -28,14 +28,12 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define M_2PI 6.28318530717958647692528676656
 | 
					#define M_2PI 6.28318530717958647692528676656
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Note: La taille du fichier GFX2.DAT est définie au début de INIT.C !
 | 
					 | 
				
			||||||
#define POURCENTAGE_VERSION     "98.0%" // Libellé du pourcentage de la version ß
 | 
					#define POURCENTAGE_VERSION     "98.0%" // Libellé du pourcentage de la version ß
 | 
				
			||||||
#define VERSION1                  2     // |
 | 
					#define VERSION1                  2     // |
 | 
				
			||||||
#define VERSION2                  0     // |_ Numéro de version découpé en
 | 
					#define VERSION2                  0     // |_ Numéro de version découpé en
 | 
				
			||||||
#define BETA1                     97    // |  plusieurs parties => 2.0 ß95.5%
 | 
					#define BETA1                     97    // |  plusieurs parties => 2.0 ß95.5%
 | 
				
			||||||
#define BETA2                     0     // |  (utilisé pour le fichier de config)
 | 
					#define BETA2                     0     // |  (utilisé pour le fichier de config)
 | 
				
			||||||
#define ALPHA_BETA                "ß"   // Type de la version "Þ" ou "ß"
 | 
					#define ALPHA_BETA                "ß"   // Type de la version "Þ" ou "ß"
 | 
				
			||||||
#define DAT_DEBUT_INI_PAR_DEFAUT  0xF385 // Dans gfx2.dat, début du fichier gfx2.ini standard
 | 
					 | 
				
			||||||
#define MAX_MODES_VIDEO           100   // Nombre de modes vidéo maxi
 | 
					#define MAX_MODES_VIDEO           100   // Nombre de modes vidéo maxi
 | 
				
			||||||
#define NB_BOUTONS                38    // Nombre de boutons à gérer
 | 
					#define NB_BOUTONS                38    // Nombre de boutons à gérer
 | 
				
			||||||
#define NB_TOUCHES                134   // Nombre de combinaisons de touches
 | 
					#define NB_TOUCHES                134   // Nombre de combinaisons de touches
 | 
				
			||||||
@ -118,8 +116,9 @@ enum FORMATS_RECONNUS
 | 
				
			|||||||
enum CODES_D_ERREURS
 | 
					enum CODES_D_ERREURS
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  // 0 = Flash rouge de l'écran, erreur non critique
 | 
					  // 0 = Flash rouge de l'écran, erreur non critique
 | 
				
			||||||
  ERREUR_DAT_ABSENT=1,          // Le fichier GFX2.DAT est absent
 | 
					  ERREUR_GUI_ABSENT=1,          // Le fichier gfx2gui.gif est absent
 | 
				
			||||||
  ERREUR_DAT_CORROMPU,          // Mauvais fichier GFX2.DAT
 | 
					  ERREUR_GUI_CORROMPU,          // Mauvais fichier gfx2gui.gif
 | 
				
			||||||
 | 
					  ERREUR_INI_ABSENT,            // Le fichier gfx2def.ini est absent
 | 
				
			||||||
  ERREUR_CFG_ABSENT,            // Le fichier GFX2.CFG est absent
 | 
					  ERREUR_CFG_ABSENT,            // Le fichier GFX2.CFG est absent
 | 
				
			||||||
  ERREUR_CFG_CORROMPU,          // Mauvais fichier GFX2.CFG
 | 
					  ERREUR_CFG_CORROMPU,          // Mauvais fichier GFX2.CFG
 | 
				
			||||||
  ERREUR_CFG_ANCIEN,            // Ancienne version du fichier GFX2.CFG
 | 
					  ERREUR_CFG_ANCIEN,            // Ancienne version du fichier GFX2.CFG
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										292
									
								
								gfx2def.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										292
									
								
								gfx2def.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,292 @@
 | 
				
			|||||||
 | 
					###### GrafX2 initialization file ###### Fichier d'initialisation de GrafX2 ##
 | 
				
			||||||
 | 
					#                                     #                                      #                                                                          #
 | 
				
			||||||
 | 
					# You may modify this file with any   # Vous pouvez modifier ce fichier avec #
 | 
				
			||||||
 | 
					# standard ASCII text editor.         # n'importe quel éditeur de texte      #
 | 
				
			||||||
 | 
					#                                     # ASCII standard.                      #
 | 
				
			||||||
 | 
					#                                     #                                      #
 | 
				
			||||||
 | 
					# Comments are preceded by ';' or     # Les commentaires sont précédés par   #
 | 
				
			||||||
 | 
					# '#'.                                # ';' ou '#'.                          #
 | 
				
			||||||
 | 
					#                                     #                                      #
 | 
				
			||||||
 | 
					# Options are not case sensitive and  # Les options ne sont pas sensibles à  #
 | 
				
			||||||
 | 
					# spaces are ignored.                 # la casse et les espaces sont ignorés.#
 | 
				
			||||||
 | 
					#                                     #                                      #
 | 
				
			||||||
 | 
					# You must not change the order of    # Vous ne devez pas changer l'ordre    #
 | 
				
			||||||
 | 
					# the sections and their options.     # des sections et de leurs options.    #
 | 
				
			||||||
 | 
					# You must not delete or put into     # Vous ne devez pas effacer ou mettre  #
 | 
				
			||||||
 | 
					# comment any section nor option.     # en commentaire une section ou option.#
 | 
				
			||||||
 | 
					#                                     #                                      #
 | 
				
			||||||
 | 
					# Each option is preceded by a        # Chaque option est précédée par un    #
 | 
				
			||||||
 | 
					# comment which explains its meaning. # commentaire qui explique sa fonction.#
 | 
				
			||||||
 | 
					#                                     #                                      #
 | 
				
			||||||
 | 
					##############################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[MOUSE]                               # [SOURIS]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; The sensitivity of the mouse can  | La sensibilité de la souris peut
 | 
				
			||||||
 | 
					  ; take values from 1 to 64. The     | prendre des valeurs de 1 à 64. Plus
 | 
				
			||||||
 | 
					  ; smaller values, the faster.       | les valeurs sont petites, plus c'est
 | 
				
			||||||
 | 
					  ;                                   | rapide.
 | 
				
			||||||
 | 
					  X_sensitivity = 1	; (default 3)
 | 
				
			||||||
 | 
					  Y_sensitivity = 1	; (default 3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Due to the fact that those stupid | A cause du fait que ces imbéciles de
 | 
				
			||||||
 | 
					  ; mouse drivers' makers don't care  | programmeurs de gestionnaires de
 | 
				
			||||||
 | 
					  ; if the mouse moves by steps of 2, | souris se fichent que votre souris se
 | 
				
			||||||
 | 
					  ; 4 or even 8 pixels, we have to    | deplace par pas de 2, 4 ou même 8
 | 
				
			||||||
 | 
					  ; stretch the virtual area of the   | pixels, nous devons élargir la zone
 | 
				
			||||||
 | 
					  ; mouse and divide coordinates to   | virtuelle de la souris et diviser les
 | 
				
			||||||
 | 
					  ; get a one-pixel step motion.      | coordonnées pour obtenir un pas de 1.
 | 
				
			||||||
 | 
					  ; (Warning: the mouse movement can  | (Attention: le déplacement de la
 | 
				
			||||||
 | 
					  ; be correct in some video modes    | souris peut être correct dans certains
 | 
				
			||||||
 | 
					  ; but not in others... But all the  | modes vidéos mais pas dans d'autres...
 | 
				
			||||||
 | 
					  ; "Modes X" should behave the same  | Mais tout les Modes X devraient se
 | 
				
			||||||
 | 
					  ; way, so you won't have to test    | comporter de la même manière, donc
 | 
				
			||||||
 | 
					  ; them all).                        | vous n'aurez pas à tous les tester.
 | 
				
			||||||
 | 
					  ; A correction factor of 0 means    | Un facteur de correction de 0 signifie
 | 
				
			||||||
 | 
					  ; that you are very lucky because   | que vous avez de la chace car votre
 | 
				
			||||||
 | 
					  ; your driver doesn't need any      | driver n'a pas besoin de correction.
 | 
				
			||||||
 | 
					  ; correction. If you set the        | Si vous définissez le facteur de
 | 
				
			||||||
 | 
					  ; correction factor to 1, it means  | correction à 1, cela signifie que
 | 
				
			||||||
 | 
					  ; that your mouse moves by steps of | votre souris se déplace par pas de 2
 | 
				
			||||||
 | 
					  ; 2 pixels; 2 for 4; 3 for 8, etc...| pixels; 2 pour 4; 3 pour 8, etc...
 | 
				
			||||||
 | 
					  ; If you want to use GrafX2 in a    | Si vous désirez lancer GrafX2 dans une
 | 
				
			||||||
 | 
					  ; Win95 window, you should turn     | fenêtre Windows95, vous devriez passer
 | 
				
			||||||
 | 
					  ; these values to 0 (and increase X | ces valeurs à 0 (et augmenter les sen-
 | 
				
			||||||
 | 
					  ; and Y sensitivities above).       | sibilités X et Y définies plus haut).
 | 
				
			||||||
 | 
					  X_correction_factor = 0	; (default 0)
 | 
				
			||||||
 | 
					  Y_correction_factor = 0	; (default 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Aspect of the main cursor (cross) | Aspect du curseur principal (croix)
 | 
				
			||||||
 | 
					  ; 1: Solid                          | 1: Solide
 | 
				
			||||||
 | 
					  ; 2: Transparent                    | 2: Transparent
 | 
				
			||||||
 | 
					  ; 3: Thin (solid)                   | 3: Fin (solide)
 | 
				
			||||||
 | 
					  Cursor_aspect = 1	; (default 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[MENU]                                # [MENU]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Colors of the menus (the black    | Couleurs des menus (la couleur noire
 | 
				
			||||||
 | 
					  ; and the white colors cannot be    | et la couleur blanche ne peuvent pas
 | 
				
			||||||
 | 
					  ; modified).                        | être modifiées).
 | 
				
			||||||
 | 
					  ; Values are in {Red,Green,Blue}    | Les valeurs sont dans l'ordre {Rouge,
 | 
				
			||||||
 | 
					  ; order and are between 0 and 63.   | Vert,Bleu} et vont de 0 à 63.
 | 
				
			||||||
 | 
					  Light_color = 42,42,42	; (default 42,42,42)
 | 
				
			||||||
 | 
					  Dark_color  = 27,27,27	; (default 27,27,27)
 | 
				
			||||||
 | 
					  ;
 | 
				
			||||||
 | 
					  ;  Light_color = 24,25,30	; \_ Nightmare
 | 
				
			||||||
 | 
					  ;  Dark_color  = 13,14,19	; /
 | 
				
			||||||
 | 
					  ;
 | 
				
			||||||
 | 
					  ;  Light_color = 10,45,28	; \_ Forest
 | 
				
			||||||
 | 
					  ;  Dark_color  =  5,27,12	; /
 | 
				
			||||||
 | 
					  ;
 | 
				
			||||||
 | 
					  ;  Light_color = 48,41,26	; \_ Gold
 | 
				
			||||||
 | 
					  ;  Dark_color  = 26,22,15	; /
 | 
				
			||||||
 | 
					  ;
 | 
				
			||||||
 | 
					  ;  Light_color = 10,40,55	; \_ Oceanic
 | 
				
			||||||
 | 
					  ;  Dark_color  = 10,20,32	; /
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Aspect ratio and size of the      | Proportion des menus et de la barre
 | 
				
			||||||
 | 
					  ; menus and the tool-bar.           | d'outils.
 | 
				
			||||||
 | 
					  ; Possible values:                  | Valeurs possibles:
 | 
				
			||||||
 | 
					  ; 0: Do not adapt (pixels are not   | 0: Ne pas adapter (les pixels ne sont
 | 
				
			||||||
 | 
					  ;    stretched)                     |    pas étirés)
 | 
				
			||||||
 | 
					  ; 1: Adapt the menus and the tool-  | 1: Adapter les menus et la barre
 | 
				
			||||||
 | 
					  ;    bar according to the resolution|    d'outils suivant la résolution
 | 
				
			||||||
 | 
					  ; 2: Slightly adapt the ratio of    | 2: Adapter légèrement les proportions
 | 
				
			||||||
 | 
					  ;    the menus and tool-bar         |    des menus et de la barre d'outils
 | 
				
			||||||
 | 
					  Menu_ratio = 1	; (default 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Font:                             | Police de caractères (fonte):
 | 
				
			||||||
 | 
					  ; 1: Classic                        | 1: Classique
 | 
				
			||||||
 | 
					  ; 2: Fun                            | 2: Fun
 | 
				
			||||||
 | 
					  Font = 1	; (default 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[FILE_SELECTOR]                       # [SELECTEUR_DE_FICHIERS]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Show hidden files and             | Afficher les fichiers et répertoires
 | 
				
			||||||
 | 
					  ; directories (values are 'yes' or  | cachés (les valeurs sont 'yes' ou
 | 
				
			||||||
 | 
					  ; 'no').                            | 'no').
 | 
				
			||||||
 | 
					  Show_hidden_files       = no	; (default 'no')
 | 
				
			||||||
 | 
					  Show_hidden_directories = no	; (default 'no')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Delay before displaying a preview | Délai avant d'afficher une preview
 | 
				
			||||||
 | 
					  ; in file-selectors (in 18.2th of   | dans les sélecteurs de fichiers (en
 | 
				
			||||||
 | 
					  ; second). Possible values range    | 18.2èmes de seconde) Les valeurs
 | 
				
			||||||
 | 
					  ; from 1 to 256.                    | possibles vont de 1 à 256.
 | 
				
			||||||
 | 
					  Preview_delay = 8	; (default 8)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Maximize the preview of the       | Maximiser la preview des images pour
 | 
				
			||||||
 | 
					  ; pictures so that it is as big as  | qu'elle soit aussi grande que
 | 
				
			||||||
 | 
					  ; possible. If you're not in the    | possible.
 | 
				
			||||||
 | 
					  ; same resolution as the picture's  | Si vous n'êtes pas dans la même réso-
 | 
				
			||||||
 | 
					  ; one, it can try to correct the    | lution que celle de l'image, cela peut
 | 
				
			||||||
 | 
					  ; aspect ratio, but if the picture  | essayer de corriger les proportions,
 | 
				
			||||||
 | 
					  ; does not fill the whole screen,   | mais si l'image ne prend pas tout
 | 
				
			||||||
 | 
					  ; it can be worse.                  | l'écran, cela peut être pire.
 | 
				
			||||||
 | 
					  Maximize_preview = no	; (default 'no')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; This option is used to place the  | Cette option est utilisée pour placer
 | 
				
			||||||
 | 
					  ; selection bar on a filename by    | la barre de sélection sur un nom de
 | 
				
			||||||
 | 
					  ; typing its first letters.         | fichier en tapant ses 1ères lettres.
 | 
				
			||||||
 | 
					  ; For example, if you want to find  | Par exemple, si vous voulez trouver le
 | 
				
			||||||
 | 
					  ; the "PICTURE.PKM" in a directory  | fichier "PICTURE.PKM" dans un réper-
 | 
				
			||||||
 | 
					  ; that also contains "PALETTE.PAL", | toire contenant également le fichier
 | 
				
			||||||
 | 
					  ; you'll just have to type P and I. | "PALETTE.PAL", vous n'aurez qu'à taper
 | 
				
			||||||
 | 
					  ; The different values of "FFF"     | P puis I.
 | 
				
			||||||
 | 
					  ; indicate if you want to find the  | Les different valeurs de "FFF"
 | 
				
			||||||
 | 
					  ; name in both files and directories| indiquent si vous voulez trouvez le nom
 | 
				
			||||||
 | 
					  ; or just in only one of these:     | dans les fichiers ET les répertoires ou
 | 
				
			||||||
 | 
					  ; 0: files and directories          | simplement dans l'un OU l'autre.
 | 
				
			||||||
 | 
					  ; 1: files only                     | 0: fichiers et répertoires
 | 
				
			||||||
 | 
					  ; 2: directories only               | 1: fichiers seulement
 | 
				
			||||||
 | 
					  ;                                   | 2: répertoires seulement
 | 
				
			||||||
 | 
					  Find_file_fast = 0	; (default 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[LOADING]                             # [CHARGEMENT]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Automatically set the resolution  | Passer automatiquement dans la bonne
 | 
				
			||||||
 | 
					  ; when loading a picture.           | résolution lors du chargement d'une
 | 
				
			||||||
 | 
					  ; You should set this value to      | image.
 | 
				
			||||||
 | 
					  ; 'yes' after disabling the video   | Vous devriez définir cette option à
 | 
				
			||||||
 | 
					  ; modes that are not supported by   | 'yes' après avoir inhibé les modes
 | 
				
			||||||
 | 
					  ; your video card or monitor.       | vidéo qui ne sont pas supportés par
 | 
				
			||||||
 | 
					  ;                                   | votre matériel.
 | 
				
			||||||
 | 
					  Auto_set_resolution = no	; (default 'no')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; If the variable above is set to   | Si la variable ci-dessus est à 'yes',
 | 
				
			||||||
 | 
					  ; 'yes', this one tells if you want | celle-ci indique si vous voulez
 | 
				
			||||||
 | 
					  ; to set the resolution according   | définir la résolution suivant:
 | 
				
			||||||
 | 
					  ; to:                               | 1: les dimensions de "l'écran
 | 
				
			||||||
 | 
					  ; 1: the internal "original screen" |    d'origine" internes à l'image
 | 
				
			||||||
 | 
					  ;    dimensions of the picture      | 2: les véritables dimensions de
 | 
				
			||||||
 | 
					  ; 2: the actual dimensions of the   |    l'image
 | 
				
			||||||
 | 
					  ;    picture                        |
 | 
				
			||||||
 | 
					  Set_resolution_according_to = 1	; (default 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; If you load a picture with a      | Si vous chargez une image ayant une
 | 
				
			||||||
 | 
					  ; palette of less than 256 colors,  | palette de moins de 256 couleurs,
 | 
				
			||||||
 | 
					  ; this option defines if you want   | cette option indique si vous souhaitez
 | 
				
			||||||
 | 
					  ; to clear the palette or to keep   | effacer la palette ou bien conserver
 | 
				
			||||||
 | 
					  ; the colors of the previous        | les couleurs de l'image précédente qui
 | 
				
			||||||
 | 
					  ; picture that are over the number  | se situent au-delà du nombre de la
 | 
				
			||||||
 | 
					  ; of colors of the new picture.     | nouvelle image.
 | 
				
			||||||
 | 
					  ; For example, if you load a        | Par exemple, si vous chargez une image
 | 
				
			||||||
 | 
					  ; 32-color picture, the colors 32   | de 32 couleurs, les couleurs 32 à 255
 | 
				
			||||||
 | 
					  ; to 255 will be set to black if    | seront passées en noir si cette option
 | 
				
			||||||
 | 
					  ; this option is set to 'yes', or   | est à 'yes', ou bien elles resteront
 | 
				
			||||||
 | 
					  ; they will be kept unchanged if    | inchangées si elle est à 'no'.
 | 
				
			||||||
 | 
					  ; this option is set to 'no'.       |
 | 
				
			||||||
 | 
					  Clear_palette = yes	; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[MISCELLANEOUS]                       # [DIVERS]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Draw the limits of the picture.   | Afficher les limites de l'image
 | 
				
			||||||
 | 
					  Draw_limits = yes	; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Adjust the brush grabbing in      | Ajuster la capture de brosse en mode
 | 
				
			||||||
 | 
					  ; "grid" mode.                      | "grille".
 | 
				
			||||||
 | 
					  Adjust_brush_pick = yes	; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Coordinates:                      | Coordonnées:
 | 
				
			||||||
 | 
					  ; 1: Relative                       | 1: Relatives
 | 
				
			||||||
 | 
					  ; 2: Absolute                       | 2: Absolues
 | 
				
			||||||
 | 
					  Coordinates = 1	; (default 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Create a backup file when saving. | Créer un fichier backup lors des
 | 
				
			||||||
 | 
					  ;                                   | sauvegardes.
 | 
				
			||||||
 | 
					  Backup = no	; (default 'no')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Number of pages stored in memory  | Nombre de pages stockées en mémoire
 | 
				
			||||||
 | 
					  ; for "undoing".                    | destinées à annuler les dernières
 | 
				
			||||||
 | 
					  ; Values are between 1 and 99.      | modifications. Valeurs entre 1 et 99.
 | 
				
			||||||
 | 
					  Undo_pages = 4	; (default 4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Speed of the scroll-bars (in VBLs | Vitesse des barre de défilement (en
 | 
				
			||||||
 | 
					  ; waited) while clicking with the   | VBLs attendus) lorsque l'un des
 | 
				
			||||||
 | 
					  ; left or right button of the mouse.| boutons de la souris est enfoncé.
 | 
				
			||||||
 | 
					  ; Values can be between 1 and 255.  | Les valeurs sont comprises entre 1 et
 | 
				
			||||||
 | 
					  ; The bigger values, the slower.    | 255. Plus elles sont grandes, plus
 | 
				
			||||||
 | 
					  ;                                   | c'est lent.
 | 
				
			||||||
 | 
					  Gauges_scrolling_speed_Left  = 10	; (default 10)
 | 
				
			||||||
 | 
					  Gauges_scrolling_speed_Right = 3	; (default 3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Automatically save the configu-   | Enregistre automatiquement la configu-
 | 
				
			||||||
 | 
					  ; ration when exiting the program.  | ration lorsqu'on quitte le programme.
 | 
				
			||||||
 | 
					  Auto_save = yes	; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Maximum number of vertices used   | Nombre maximum de vertex utilisés dans
 | 
				
			||||||
 | 
					  ; in filled polygons and polyforms, | les polygônes et polyformes pleins, et
 | 
				
			||||||
 | 
					  ; and lasso. Possible values range  | le lasso. Les valeurs possibles vont
 | 
				
			||||||
 | 
					  ; from 2 to 16384.                  | de 2 à 16384.
 | 
				
			||||||
 | 
					  ; Each vertex takes 4 bytes.        | Chaque vertex prend 4 octets.
 | 
				
			||||||
 | 
					  Vertices_per_polygon = 1024	; (default 1024)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Automatically zoom into the       | Zoomer automatiquement la zone pointée
 | 
				
			||||||
 | 
					  ; pointed area when you press the   | par la souris lorsque vous appuyez sur
 | 
				
			||||||
 | 
					  ; short-key of the Magnifier button | la touche de raccourci de la loupe.
 | 
				
			||||||
 | 
					  ; while being above the picture.    |
 | 
				
			||||||
 | 
					  Fast_zoom = yes	; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Separate the colors in the tool-  | Séparer les couleurs dans la barre
 | 
				
			||||||
 | 
					  ; bar by a black squaring.          | d'outils par un quadrillage noir.
 | 
				
			||||||
 | 
					  Separate_colors = no	; (default 'no')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Initial value of the feedback for | Valeur initiale du "feedback" pour les
 | 
				
			||||||
 | 
					  ; the drawing modes (cf. docs).     | modes de dessin (cf. docs).
 | 
				
			||||||
 | 
					  FX_feedback = yes	; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; When you reduce the palette or    | Si vous réduisez la palette ou "zappez"
 | 
				
			||||||
 | 
					  ; "zap" some colors out of it, it is| quelques couleurs, il est possible
 | 
				
			||||||
 | 
					  ; possible that there are not enough| qu'il ne reste pas assez de couleurs
 | 
				
			||||||
 | 
					  ; colors left to draw the menus.    | pour afficher les menus. Mettre cette
 | 
				
			||||||
 | 
					  ; Switching the following variable  | variable à 'yes' ramènera automatiquent
 | 
				
			||||||
 | 
					  ; on will bring back the colors of  | les couleurs du menu s'il reste moins
 | 
				
			||||||
 | 
					  ; the menu if there are less than 4 | de 4 couleurs après une "réduction" ou
 | 
				
			||||||
 | 
					  ; colors left after "reducing" or   | un "zapping".
 | 
				
			||||||
 | 
					  ; "zapping".                        |
 | 
				
			||||||
 | 
					  Safety_colors = yes	; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Display a message at startup      | Afficher un message au démarrage
 | 
				
			||||||
 | 
					  ; telling the version number of the | indiquant le numéro de version du
 | 
				
			||||||
 | 
					  ; program.                          | programme.
 | 
				
			||||||
 | 
					  Opening_message = yes	; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Take the Stencil into account when| Prendre le Stencil en compte lorsqu'on
 | 
				
			||||||
 | 
					  ; clearing the image.               | efface l'image.
 | 
				
			||||||
 | 
					  Clear_with_stencil = yes	; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Directly set the discontinuous    | Passer automatiquement en mode de
 | 
				
			||||||
 | 
					  ; freehand drawing mode after brush | dessin discontinu après la prise d'une
 | 
				
			||||||
 | 
					  ; grabbing.                         | brosse.
 | 
				
			||||||
 | 
					  Auto_discontinuous = no	; (default 'no')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Save the screen dimensions in GIF | Sauver les dimensions de l'écran dans
 | 
				
			||||||
 | 
					  ; files. If you want to read these  | les fichiers GIF. Si vous voulez lire
 | 
				
			||||||
 | 
					  ; files with Photoshop or Alchemy,  | ces fichiers avec Photoshop ou Alchemy,
 | 
				
			||||||
 | 
					  ; and maybe some other programs, you| et peut-être d'autres programmes, vous
 | 
				
			||||||
 | 
					  ; must set this option to 'no'.     | devez mettre cette option à 'no'.
 | 
				
			||||||
 | 
					  Save_screen_size_in_GIF = no	; (default 'no')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Automaticaly count the number of  | Compter automatiquement le nombre de
 | 
				
			||||||
 | 
					  ; different colors used when opening| couleurs différentes utilisées lors de
 | 
				
			||||||
 | 
					  ; the palette editor window. (Set it| d'ouverture de la fenêtre d'édition de
 | 
				
			||||||
 | 
					  ; to 'no' if you have a slow PC or  | la palette. (Mettez-le à 'no' si vous
 | 
				
			||||||
 | 
					  ; if you edit huge pictures)        | avez un PC lent ou bien si vous éditez
 | 
				
			||||||
 | 
					  ;                                   | d'énormes images).
 | 
				
			||||||
 | 
					  Auto_nb_colors_used = yes     ; (default 'yes')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Default video mode at startup     | Numéro du mode vidéo par défaut au
 | 
				
			||||||
 | 
					  ; (see the list by running the      | démarrage (voir la liste en lançant
 | 
				
			||||||
 | 
					  ; program with argument "/?".       | le programme avec l'option "/?".
 | 
				
			||||||
 | 
					  Default_video_mode = window	; (default 'window')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ; Window dimensions. The program    | Dimensions de la fenêtre en mode 
 | 
				
			||||||
 | 
					  ; remembers the last window size.   | fenêtré.
 | 
				
			||||||
 | 
					  Default_window_size = 640,480	; (default '640,480')
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								gfx2gui.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gfx2gui.gif
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 20 KiB  | 
							
								
								
									
										9
									
								
								global.h
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								global.h
									
									
									
									
									
								
							@ -560,7 +560,14 @@ GFX2_GLOBAL byte * Logo_GrafX2;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
GFX2_GLOBAL byte Fonte_systeme[256*8*8];
 | 
					GFX2_GLOBAL byte Fonte_systeme[256*8*8];
 | 
				
			||||||
GFX2_GLOBAL byte Fonte_fun    [256*8*8];
 | 
					GFX2_GLOBAL byte Fonte_fun    [256*8*8];
 | 
				
			||||||
GFX2_GLOBAL byte Fonte_help   [315][6][8];
 | 
					GFX2_GLOBAL byte Fonte_help_norm [256][6][8];
 | 
				
			||||||
 | 
					GFX2_GLOBAL byte Fonte_help_bold [256][6][8];
 | 
				
			||||||
 | 
					// 12
 | 
				
			||||||
 | 
					// 34
 | 
				
			||||||
 | 
					GFX2_GLOBAL byte Fonte_help_t1 [64][6][8];
 | 
				
			||||||
 | 
					GFX2_GLOBAL byte Fonte_help_t2 [64][6][8];
 | 
				
			||||||
 | 
					GFX2_GLOBAL byte Fonte_help_t3 [64][6][8];
 | 
				
			||||||
 | 
					GFX2_GLOBAL byte Fonte_help_t4 [64][6][8];
 | 
				
			||||||
GFX2_GLOBAL byte * Fonte;
 | 
					GFX2_GLOBAL byte * Fonte;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Les données de l'aide:
 | 
					  // Les données de l'aide:
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										499
									
								
								init.c
									
									
									
									
									
								
							
							
						
						
									
										499
									
								
								init.c
									
									
									
									
									
								
							@ -32,6 +32,7 @@
 | 
				
			|||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <errno.h>
 | 
					#include <errno.h>
 | 
				
			||||||
#include <SDL_byteorder.h>
 | 
					#include <SDL_byteorder.h>
 | 
				
			||||||
 | 
					#include <SDL_image.h>
 | 
				
			||||||
#if defined(__WIN32__)
 | 
					#if defined(__WIN32__)
 | 
				
			||||||
  #include <windows.h> // GetLogicalDrives(), GetDriveType(), DRIVE_*
 | 
					  #include <windows.h> // GetLogicalDrives(), GetDriveType(), DRIVE_*
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@ -57,6 +58,7 @@
 | 
				
			|||||||
#include "files.h"
 | 
					#include "files.h"
 | 
				
			||||||
#include "setup.h"
 | 
					#include "setup.h"
 | 
				
			||||||
#include "windows.h"
 | 
					#include "windows.h"
 | 
				
			||||||
 | 
					#include "sdlscreen.h"
 | 
				
			||||||
#include "mountlist.h" // read_file_system_list
 | 
					#include "mountlist.h" // read_file_system_list
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Ajouter un lecteur à la liste de lecteurs
 | 
					// Ajouter un lecteur à la liste de lecteurs
 | 
				
			||||||
@ -185,114 +187,439 @@ int ActiverLecteur(int NumeroLecteur)
 | 
				
			|||||||
  return chdir(Drive[NumeroLecteur].Chemin);
 | 
					  return chdir(Drive[NumeroLecteur].Chemin);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Charger_DAT(void)
 | 
					// Fonctions de lecture dans la skin de l'interface graphique
 | 
				
			||||||
 | 
					void Chercher_bas(SDL_Surface *GUI, int *Debut_X, int *Debut_Y, byte Couleur_neutre,char * Section)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  FILE*  Handle;
 | 
					  byte Couleur;
 | 
				
			||||||
  int  Taille_fichier;
 | 
					  int Y;
 | 
				
			||||||
  int  Indice;
 | 
					  Y=*Debut_Y;
 | 
				
			||||||
  char Nom_du_fichier[TAILLE_CHEMIN_FICHIER];
 | 
					  *Debut_X=0;
 | 
				
			||||||
  byte * Fonte_temporaire;
 | 
					  do
 | 
				
			||||||
  byte Pos_X;
 | 
					 | 
				
			||||||
  byte Pos_Y;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  struct stat Informations_Fichier;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  strcpy(Nom_du_fichier,Repertoire_des_donnees);
 | 
					 | 
				
			||||||
  strcat(Nom_du_fichier,"gfx2.dat");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if(stat(Nom_du_fichier,&Informations_Fichier))
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    switch(errno)
 | 
					    Couleur=Sdl_Get_pixel_8(GUI,*Debut_X,Y);
 | 
				
			||||||
 | 
					    if (Couleur!=Couleur_neutre)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      case EACCES: puts("La permission de parcours est refusée pour un des répertoires contenu dans le chemin path."); break;
 | 
					      *Debut_Y=Y;
 | 
				
			||||||
      case EBADF:  puts("filedes est un mauvais descripteur."); break;
 | 
					      return;
 | 
				
			||||||
      case EFAULT: puts("Un pointeur se trouve en dehors de l'espace d'adressage."); break;
 | 
					    }
 | 
				
			||||||
      case ENAMETOOLONG: puts("Nom de fichier trop long."); break;
 | 
					    Y++;
 | 
				
			||||||
      case ENOENT: puts("The file path is empty or points to a non-existing directory."); break;
 | 
					  } while (Y<GUI->h);
 | 
				
			||||||
      case ENOMEM: puts("Pas assez de mémoire pour le noyau."); break;
 | 
					  
 | 
				
			||||||
      case ENOTDIR: puts("Un composant du chemin d'accès n'est pas un répertoire."); break;
 | 
					  printf("Error in skin file: Was looking down from %d,%d for a '%s', and reached the end of the image\n",
 | 
				
			||||||
      #ifdef ELOOP
 | 
					    *Debut_X, *Debut_Y, Section);
 | 
				
			||||||
          case ELOOP:  puts("Trop de liens symboliques rencontrés dans le chemin d'accès."); break;
 | 
					  Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
      #endif
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Chercher_droite(SDL_Surface *GUI, int *Debut_X, int Debut_Y, byte Couleur_neutre, char * Section)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  byte Couleur;
 | 
				
			||||||
 | 
					  int X;
 | 
				
			||||||
 | 
					  X=*Debut_X;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  do
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    Couleur=Sdl_Get_pixel_8(GUI,X,Debut_Y);
 | 
				
			||||||
 | 
					    if (Couleur!=Couleur_neutre)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      *Debut_X=X;
 | 
				
			||||||
 | 
					      return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    X++;
 | 
				
			||||||
 | 
					  } while (X<GUI->w);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  printf("Error in skin file: Was looking right from %d,%d for a '%s', and reached the edege of the image\n",
 | 
				
			||||||
 | 
					    *Debut_X, Debut_Y, Section);
 | 
				
			||||||
 | 
					  Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Lire_bloc(SDL_Surface *GUI, int Debut_X, int Debut_Y, void *Dest, int Largeur, int Hauteur, char * Section, int Type)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  // Type: 0 = normal GUI element, only 4 colors allowed
 | 
				
			||||||
 | 
					  // Type: 1 = mouse cursor, 4 colors allowed + transparent
 | 
				
			||||||
 | 
					  // Type: 2 = brush icon or sieve pattern (only CM_Blanc and CM_Trans)
 | 
				
			||||||
 | 
					  // Type: 3 = raw bitmap (splash screen)
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  byte * Ptr=Dest;
 | 
				
			||||||
 | 
					  int X,Y;
 | 
				
			||||||
 | 
					  byte Couleur;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Verification taille
 | 
				
			||||||
 | 
					  if (Debut_Y+Hauteur>=GUI->h || Debut_X+Largeur>=GUI->w)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but it doesn't fit the image.\n",
 | 
				
			||||||
 | 
					      Debut_X, Debut_Y, Hauteur, Largeur, Section);
 | 
				
			||||||
 | 
					    Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for (Y=Debut_Y; Y<Debut_Y+Hauteur; Y++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    for (X=Debut_X; X<Debut_X+Largeur; X++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      Couleur=Sdl_Get_pixel_8(GUI,X,Y);
 | 
				
			||||||
 | 
					      if (Type==0 && (Couleur != CM_Noir && Couleur != CM_Fonce && Couleur != CM_Clair && Couleur != CM_Blanc))
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the GUI colors (which were detected as %d,%d,%d,%d.\n",
 | 
				
			||||||
 | 
					          Debut_X, Debut_Y, Hauteur, Largeur, Section, X, Y, Couleur, CM_Noir, CM_Fonce, CM_Clair, CM_Blanc);
 | 
				
			||||||
 | 
					        Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      if (Type==1 && (Couleur != CM_Noir && Couleur != CM_Fonce && Couleur != CM_Clair && Couleur != CM_Blanc && Couleur != CM_Trans))
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the mouse colors (which were detected as %d,%d,%d,%d,%d.\n",
 | 
				
			||||||
 | 
					          Debut_X, Debut_Y, Hauteur, Largeur, Section, X, Y, Couleur, CM_Noir, CM_Fonce, CM_Clair, CM_Blanc, CM_Trans);
 | 
				
			||||||
 | 
					        Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      if (Type==2)
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        if (Couleur != CM_Blanc && Couleur != CM_Trans)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the brush colors (which were detected as %d on %d.\n",
 | 
				
			||||||
 | 
					            Debut_X, Debut_Y, Hauteur, Largeur, Section, X, Y, Couleur, CM_Blanc, CM_Trans);
 | 
				
			||||||
 | 
					          Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        // Conversion en 0/1 pour les brosses monochromes internes
 | 
				
			||||||
 | 
					        Couleur = (Couleur != CM_Trans);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      *Ptr=Couleur;
 | 
				
			||||||
 | 
					      Ptr++;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Taille_fichier=Informations_Fichier.st_size;
 | 
					void Lire_trame(SDL_Surface *GUI, int Debut_X, int Debut_Y, word *Dest, char * Section)
 | 
				
			||||||
  if (Taille_fichier<DAT_DEBUT_INI_PAR_DEFAUT)
 | 
					{
 | 
				
			||||||
 | 
					  byte Buffer[256];
 | 
				
			||||||
 | 
					  int X,Y;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  Lire_bloc(GUI, Debut_X, Debut_Y, Buffer, 16, 16, Section, 2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for (Y=0; Y<16; Y++)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    DEBUG("Taille",0);
 | 
					    *Dest=0;
 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					    for (X=0; X<16; X++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      *Dest=*Dest | Buffer[Y*16+X]<<X;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Dest++;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Handle=fopen(Nom_du_fichier,"rb");
 | 
					
 | 
				
			||||||
  if (Handle==NULL)
 | 
					void Charger_DAT(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  int  Indice;
 | 
				
			||||||
 | 
					  char Nom_du_fichier[TAILLE_CHEMIN_FICHIER];
 | 
				
			||||||
 | 
					  SDL_Surface * GUI;
 | 
				
			||||||
 | 
					  SDL_Palette * SDLPal;
 | 
				
			||||||
 | 
					  int i;
 | 
				
			||||||
 | 
					  int Curseur_X=0,Curseur_Y=0;
 | 
				
			||||||
 | 
					  byte Couleur;
 | 
				
			||||||
 | 
					  byte CM_Neutre; // Couleur neutre utilisée pour délimiter les éléments GUI
 | 
				
			||||||
 | 
					  int Car_1=0;  // Indices utilisés pour les 4 "fontes" qui composent les
 | 
				
			||||||
 | 
					  int Car_2=0;  // grands titres de l'aide. Chaque indice avance dans 
 | 
				
			||||||
 | 
					  int Car_3=0;  // l'une des fontes dans l'ordre :  1 2
 | 
				
			||||||
 | 
					  int Car_4=0;  //                                  3 4
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Lecture du fichier "skin"
 | 
				
			||||||
 | 
					  strcpy(Nom_du_fichier,Repertoire_des_donnees);
 | 
				
			||||||
 | 
					  strcat(Nom_du_fichier,"gfx2gui.gif");
 | 
				
			||||||
 | 
					  GUI=IMG_Load(Nom_du_fichier);
 | 
				
			||||||
 | 
					  if (!GUI)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
        DEBUG("Absent",0);
 | 
					    Erreur(ERREUR_GUI_ABSENT);
 | 
				
			||||||
        Erreur(ERREUR_DAT_ABSENT);
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  if (!GUI->format || GUI->format->BitsPerPixel != 8)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    printf("Not a 8-bit image");
 | 
				
			||||||
 | 
					    Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  SDLPal=GUI->format->palette;
 | 
				
			||||||
 | 
					  if (!SDLPal || SDLPal->ncolors!=256)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    printf("Not a 256-color palette");
 | 
				
			||||||
 | 
					    Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  // Lecture de la palette par défaut
 | 
				
			||||||
 | 
					  for (i=0; i<256; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    Palette_defaut[i].R=SDLPal->colors[i].r;
 | 
				
			||||||
 | 
					    Palette_defaut[i].V=SDLPal->colors[i].g;
 | 
				
			||||||
 | 
					    Palette_defaut[i].B=SDLPal->colors[i].b;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Carré "noir"
 | 
				
			||||||
 | 
					  CM_Noir = Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
 | 
				
			||||||
 | 
					  do
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (++Curseur_X>=GUI->w)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
 | 
				
			||||||
 | 
					      Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
 | 
				
			||||||
 | 
					  } while(Couleur==CM_Noir);
 | 
				
			||||||
 | 
					  // Carré "foncé"
 | 
				
			||||||
 | 
					  CM_Fonce=Couleur;
 | 
				
			||||||
 | 
					  do
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (++Curseur_X>=GUI->w)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
 | 
				
			||||||
 | 
					      Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
 | 
				
			||||||
 | 
					  } while(Couleur==CM_Fonce);
 | 
				
			||||||
 | 
					  // Carré "clair"
 | 
				
			||||||
 | 
					  CM_Clair=Couleur;
 | 
				
			||||||
 | 
					  do
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (++Curseur_X>GUI->w)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
 | 
				
			||||||
 | 
					      Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
 | 
				
			||||||
 | 
					  } while(Couleur==CM_Clair);
 | 
				
			||||||
 | 
					  // Carré "blanc"
 | 
				
			||||||
 | 
					  CM_Blanc=Couleur;
 | 
				
			||||||
 | 
					  do
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (++Curseur_X>=GUI->w)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
 | 
				
			||||||
 | 
					      Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
 | 
				
			||||||
 | 
					  } while(Couleur==CM_Blanc);
 | 
				
			||||||
 | 
					  // Carré "transparent"
 | 
				
			||||||
 | 
					  CM_Trans=Couleur;
 | 
				
			||||||
 | 
					  do
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (++Curseur_X>=GUI->w)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
 | 
				
			||||||
 | 
					      Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
 | 
				
			||||||
 | 
					  } while(Couleur==CM_Trans);
 | 
				
			||||||
 | 
					  // Reste : couleur neutre
 | 
				
			||||||
 | 
					  CM_Neutre=Couleur;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (!read_bytes(Handle, Palette_defaut,sizeof(T_Palette)))
 | 
					  
 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					  Curseur_X=0;
 | 
				
			||||||
  Palette_64_to_256(Palette_defaut);
 | 
					  Curseur_Y=1;
 | 
				
			||||||
 | 
					  while ((Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y))==CM_Noir)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    Curseur_Y++;
 | 
				
			||||||
 | 
					    if (Curseur_Y>=GUI->h)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
 | 
				
			||||||
 | 
					      Erreur(ERREUR_GUI_CORROMPU);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Menu
 | 
				
			||||||
 | 
					  Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "menu");
 | 
				
			||||||
 | 
					  Lire_bloc(GUI, Curseur_X, Curseur_Y, BLOCK_MENU, LARGEUR_MENU, HAUTEUR_MENU,"menu",0);
 | 
				
			||||||
 | 
					  Curseur_Y+=HAUTEUR_MENU;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (!read_bytes(Handle, BLOCK_MENU,LARGEUR_MENU*HAUTEUR_MENU))
 | 
					  // Effets
 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					  for (i=0; i<NB_SPRITES_EFFETS; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (i==0)
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "effect sprite");
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "effect sprite");
 | 
				
			||||||
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_EFFET[i], LARGEUR_SPRITE_MENU, HAUTEUR_SPRITE_MENU, "effect sprite",0);
 | 
				
			||||||
 | 
					    Curseur_X+=LARGEUR_SPRITE_MENU;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=HAUTEUR_SPRITE_MENU;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Curseurs souris
 | 
				
			||||||
 | 
					  for (i=0; i<NB_SPRITES_CURSEUR; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (i==0)
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "mouse cursor");
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "mouse cursor");
 | 
				
			||||||
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_CURSEUR[i], LARGEUR_SPRITE_CURSEUR, HAUTEUR_SPRITE_CURSEUR, "mouse cursor",1);
 | 
				
			||||||
 | 
					    Curseur_X+=LARGEUR_SPRITE_CURSEUR;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=HAUTEUR_SPRITE_CURSEUR;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Sprites menu
 | 
				
			||||||
 | 
					  for (i=0; i<NB_SPRITES_MENU; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (i==0)
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "menu sprite");
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "menu sprite");
 | 
				
			||||||
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_MENU[i], LARGEUR_SPRITE_MENU, HAUTEUR_SPRITE_MENU, "menu sprite",1);
 | 
				
			||||||
 | 
					    Curseur_X+=LARGEUR_SPRITE_MENU;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=HAUTEUR_SPRITE_MENU;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Icones des Pinceaux
 | 
				
			||||||
 | 
					  for (i=0; i<NB_SPRITES_PINCEAU; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // Rangés par ligne de 12
 | 
				
			||||||
 | 
					    if ((i%12)==0)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (i!=0)
 | 
				
			||||||
 | 
					        Curseur_Y+=HAUTEUR_PINCEAU;
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "brush icon");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "brush icon");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_PINCEAU[i], LARGEUR_PINCEAU, HAUTEUR_PINCEAU, "brush icon",2);
 | 
				
			||||||
 | 
					    Curseur_X+=LARGEUR_PINCEAU;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=HAUTEUR_PINCEAU;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (!read_bytes(Handle, SPRITE_EFFET,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_EFFETS))
 | 
					  // Sprites drive
 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					  for (i=0; i<NB_SPRITES_DRIVES; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
  if (!read_bytes(Handle, SPRITE_CURSEUR,LARGEUR_SPRITE_CURSEUR*HAUTEUR_SPRITE_CURSEUR*NB_SPRITES_CURSEUR))
 | 
					    if (i==0)
 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "sprite drive");
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
  if (!read_bytes(Handle, SPRITE_MENU,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_MENU))
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "sprite drive");
 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_DRIVE[i], LARGEUR_SPRITE_DRIVE, HAUTEUR_SPRITE_DRIVE, "sprite drive",1);
 | 
				
			||||||
 | 
					    Curseur_X+=LARGEUR_SPRITE_DRIVE;
 | 
				
			||||||
  if (!read_bytes(Handle, SPRITE_PINCEAU,LARGEUR_PINCEAU*HAUTEUR_PINCEAU*NB_SPRITES_PINCEAU))
 | 
					  }
 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					  Curseur_Y+=HAUTEUR_SPRITE_DRIVE;
 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (!read_bytes(Handle, SPRITE_DRIVE,LARGEUR_SPRITE_DRIVE*HAUTEUR_SPRITE_DRIVE*NB_SPRITES_DRIVES))
 | 
					 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Logo splash screen
 | 
				
			||||||
  if (!(Logo_GrafX2=(byte *)malloc(231*56)))
 | 
					  if (!(Logo_GrafX2=(byte *)malloc(231*56)))
 | 
				
			||||||
    Erreur(ERREUR_MEMOIRE);
 | 
					    Erreur(ERREUR_MEMOIRE);
 | 
				
			||||||
  if (!read_bytes(Handle, Logo_GrafX2,231*56))
 | 
					 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (!read_bytes(Handle, TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES))
 | 
					 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // Lecture des fontes 8x8:
 | 
					 | 
				
			||||||
  if (!(Fonte_temporaire=(byte *)malloc(2048)))
 | 
					 | 
				
			||||||
    Erreur(ERREUR_MEMOIRE);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // Lecture de la fonte système
 | 
					 | 
				
			||||||
  if (!read_bytes(Handle, Fonte_temporaire,2048))
 | 
					 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					 | 
				
			||||||
  for (Indice=0;Indice<256;Indice++)
 | 
					 | 
				
			||||||
    for (Pos_X=0;Pos_X<8;Pos_X++)
 | 
					 | 
				
			||||||
      for (Pos_Y=0;Pos_Y<8;Pos_Y++)
 | 
					 | 
				
			||||||
        Fonte_systeme[(Indice<<6)+(Pos_X<<3)+Pos_Y]=( ((*(Fonte_temporaire+(Indice*8)+Pos_Y))&(0x80>>Pos_X)) ? 1 : 0);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // Lecture de la fonte alternative
 | 
					 | 
				
			||||||
  if (!read_bytes(Handle, Fonte_temporaire,2048))
 | 
					 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					 | 
				
			||||||
  for (Indice=0;Indice<256;Indice++)
 | 
					 | 
				
			||||||
    for (Pos_X=0;Pos_X<8;Pos_X++)
 | 
					 | 
				
			||||||
      for (Pos_Y=0;Pos_Y<8;Pos_Y++)
 | 
					 | 
				
			||||||
        Fonte_fun[(Indice<<6)+(Pos_X<<3)+Pos_Y]=( ((*(Fonte_temporaire+(Indice*8)+Pos_Y))&(0x80>>Pos_X)) ? 1 : 0);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  free(Fonte_temporaire);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "logo menu");
 | 
				
			||||||
 | 
					  Lire_bloc(GUI, Curseur_X, Curseur_Y, Logo_GrafX2, 231, 56, "logo menu",3);
 | 
				
			||||||
 | 
					  Curseur_Y+=56;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Trames
 | 
				
			||||||
 | 
					  for (i=0; i<NB_TRAMES_PREDEFINIES; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (i==0)
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "sieve pattern");
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "sieve pattern");
 | 
				
			||||||
 | 
					    Lire_trame(GUI, Curseur_X, Curseur_Y, TRAME_PREDEFINIE[i],"sieve pattern");
 | 
				
			||||||
 | 
					    Curseur_X+=16;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=16;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Fonte Système
 | 
				
			||||||
 | 
					  for (i=0; i<256; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // Rangés par ligne de 32
 | 
				
			||||||
 | 
					    if ((i%32)==0)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (i!=0)
 | 
				
			||||||
 | 
					        Curseur_Y+=8;
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "system font");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "system font");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, &Fonte_systeme[i*64], 8, 8, "system font",2);
 | 
				
			||||||
 | 
					    Curseur_X+=8;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=8;
 | 
				
			||||||
  Fonte=Fonte_systeme;
 | 
					  Fonte=Fonte_systeme;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Lecture de la fonte 6x8: (spéciale aide)
 | 
					  // Fonte Fun
 | 
				
			||||||
  if (!read_bytes(Handle, Fonte_help,315*6*8))
 | 
					  for (i=0; i<256; i++)
 | 
				
			||||||
    Erreur(ERREUR_DAT_CORROMPU);
 | 
					  {
 | 
				
			||||||
 | 
					    // Rangés par ligne de 32
 | 
				
			||||||
 | 
					    if ((i%32)==0)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (i!=0)
 | 
				
			||||||
 | 
					        Curseur_Y+=8;
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "fun font");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "fun font");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, &Fonte_fun[i*64], 8, 8, "fun font",2);
 | 
				
			||||||
 | 
					    Curseur_X+=8;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=8;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Le reste est actuellement une copie du fichier INI par défaut:
 | 
					  // Fonte help normale
 | 
				
			||||||
  // Pas besoin ici.
 | 
					  for (i=0; i<256; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // Rangés par ligne de 32
 | 
				
			||||||
 | 
					    if ((i%32)==0)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (i!=0)
 | 
				
			||||||
 | 
					        Curseur_Y+=8;
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "help font (norm)");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "help font (norm)");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, &(Fonte_help_norm[i][0][0]), 6, 8, "help font (norm)",0);
 | 
				
			||||||
 | 
					    Curseur_X+=6;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=8;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Fonte help bold
 | 
				
			||||||
 | 
					  for (i=0; i<256; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // Rangés par ligne de 32
 | 
				
			||||||
 | 
					    if ((i%32)==0)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (i!=0)
 | 
				
			||||||
 | 
					        Curseur_Y+=8;
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "help font (bold)");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "help font (bold)");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, &(Fonte_help_bold[i][0][0]), 6, 8, "help font (bold)",0);
 | 
				
			||||||
 | 
					    Curseur_X+=6;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=8;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fclose(Handle);
 | 
					  // Fonte help titre
 | 
				
			||||||
 | 
					  for (i=0; i<256; i++)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    byte * Dest;
 | 
				
			||||||
 | 
					    // Rangés par ligne de 64
 | 
				
			||||||
 | 
					    if ((i%64)==0)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (i!=0)
 | 
				
			||||||
 | 
					        Curseur_Y+=8;
 | 
				
			||||||
 | 
					      Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "help font (title)");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "help font (title)");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (i&1)
 | 
				
			||||||
 | 
					      if (i&64)
 | 
				
			||||||
 | 
					        Dest=&(Fonte_help_t4[Car_4++][0][0]);
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        Dest=&(Fonte_help_t2[Car_2++][0][0]);
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      if (i&64)
 | 
				
			||||||
 | 
					        Dest=&(Fonte_help_t3[Car_3++][0][0]);
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        Dest=&(Fonte_help_t1[Car_1++][0][0]);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    Lire_bloc(GUI, Curseur_X, Curseur_Y, Dest, 6, 8, "help font (title)",0);
 | 
				
			||||||
 | 
					    Curseur_X+=6;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  Curseur_Y+=8;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // Terminé: libération de l'image skin
 | 
				
			||||||
 | 
					  SDL_FreeSurface(GUI);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Section_d_aide_en_cours=0;
 | 
					  Section_d_aide_en_cours=0;
 | 
				
			||||||
  Position_d_aide_en_cours=0;
 | 
					  Position_d_aide_en_cours=0;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										20
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								main.c
									
									
									
									
									
								
							@ -105,12 +105,15 @@ void Erreur_fonction(int Code, const char *Nom_fichier, int Numero_ligne, const
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    switch (Code)
 | 
					    switch (Code)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      case ERREUR_DAT_ABSENT         : printf("Error: File GFX2.DAT is missing!\n");
 | 
					      case ERREUR_GUI_ABSENT         : printf("Error: File gfx2gui.gif is missing!\n");
 | 
				
			||||||
                                       printf("This program cannot run without this file.\n");
 | 
					                                       printf("This program cannot run without this file.\n");
 | 
				
			||||||
                                       break;
 | 
					                                       break;
 | 
				
			||||||
      case ERREUR_DAT_CORROMPU       : printf("Error: File GFX2.DAT is corrupt!\n");
 | 
					      case ERREUR_GUI_CORROMPU       : printf("Error: File gfx2gui.gif is corrupt!\n");
 | 
				
			||||||
                                       printf("This program cannot run without a correct version of this file.\n");
 | 
					                                       printf("This program cannot run without a correct version of this file.\n");
 | 
				
			||||||
                                       break;
 | 
					                                       break;
 | 
				
			||||||
 | 
					      case ERREUR_INI_ABSENT         : printf("Error: File gfx2def.ini is missing!\n");
 | 
				
			||||||
 | 
					                                       printf("This program cannot run without this file.\n");
 | 
				
			||||||
 | 
					                                       break;
 | 
				
			||||||
      case ERREUR_CFG_ABSENT         : printf("Error: File GFX2.CFG is missing!\n");
 | 
					      case ERREUR_CFG_ABSENT         : printf("Error: File GFX2.CFG is missing!\n");
 | 
				
			||||||
                                       printf("Please run GFXCFG to create it.\n");
 | 
					                                       printf("Please run GFXCFG to create it.\n");
 | 
				
			||||||
                                       break;
 | 
					                                       break;
 | 
				
			||||||
@ -496,17 +499,12 @@ void Initialisation_du_programme(int argc,char * argv[])
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // Transfert des valeurs du .INI qui ne changent pas dans des variables
 | 
					  // Transfert des valeurs du .INI qui ne changent pas dans des variables
 | 
				
			||||||
  // plus accessibles:
 | 
					  // plus accessibles:
 | 
				
			||||||
  Palette_defaut[252]=Coul_menu_pref[0]=Config.Coul_menu_pref[0];
 | 
					  Palette_defaut[CM_Noir] =Coul_menu_pref[0]=Config.Coul_menu_pref[0];
 | 
				
			||||||
  Palette_defaut[253]=Coul_menu_pref[1]=Config.Coul_menu_pref[1];
 | 
					  Palette_defaut[CM_Fonce]=Coul_menu_pref[1]=Config.Coul_menu_pref[1];
 | 
				
			||||||
  Palette_defaut[254]=Coul_menu_pref[2]=Config.Coul_menu_pref[2];
 | 
					  Palette_defaut[CM_Clair]=Coul_menu_pref[2]=Config.Coul_menu_pref[2];
 | 
				
			||||||
  Palette_defaut[255]=Coul_menu_pref[3]=Config.Coul_menu_pref[3];
 | 
					  Palette_defaut[CM_Blanc]=Coul_menu_pref[3]=Config.Coul_menu_pref[3];
 | 
				
			||||||
  memcpy(Principal_Palette,Palette_defaut,sizeof(T_Palette));
 | 
					  memcpy(Principal_Palette,Palette_defaut,sizeof(T_Palette));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  CM_Noir =0;
 | 
					 | 
				
			||||||
  CM_Fonce=25;
 | 
					 | 
				
			||||||
  CM_Clair=7;
 | 
					 | 
				
			||||||
  CM_Blanc=15;
 | 
					 | 
				
			||||||
  CM_Trans=1;
 | 
					 | 
				
			||||||
  Calculer_couleurs_menu_optimales(Palette_defaut);
 | 
					  Calculer_couleurs_menu_optimales(Palette_defaut);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Infos sur les trames (Sieve)
 | 
					  // Infos sur les trames (Sieve)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										13
									
								
								readini.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								readini.c
									
									
									
									
									
								
							@ -411,22 +411,15 @@ int Charger_INI(struct S_Config * Conf)
 | 
				
			|||||||
  Fichier=fopen(Nom_du_fichier,"rb");
 | 
					  Fichier=fopen(Nom_du_fichier,"rb");
 | 
				
			||||||
  if (Fichier==0)
 | 
					  if (Fichier==0)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    // Si le fichier ini est absent on le relit depuis gfx2.dat
 | 
					    // Si le fichier ini est absent on le relit depuis gfx2def.ini
 | 
				
			||||||
    strcpy(Nom_du_fichier,Repertoire_des_donnees);
 | 
					    strcpy(Nom_du_fichier,Repertoire_des_donnees);
 | 
				
			||||||
    strcat(Nom_du_fichier,"gfx2.dat");
 | 
					    strcat(Nom_du_fichier,"gfx2def.ini");
 | 
				
			||||||
    Fichier=fopen(Nom_du_fichier,"rb");
 | 
					    Fichier=fopen(Nom_du_fichier,"rb");
 | 
				
			||||||
    if (Fichier == 0)
 | 
					    if (Fichier == 0)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      free(Nom_du_fichier);
 | 
					      free(Nom_du_fichier);
 | 
				
			||||||
      free(Buffer);
 | 
					      free(Buffer);
 | 
				
			||||||
      return ERREUR_DAT_ABSENT;
 | 
					      return ERREUR_INI_ABSENT;
 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if (fseek(Fichier, DAT_DEBUT_INI_PAR_DEFAUT ,SEEK_SET))
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      fclose(Fichier);
 | 
					 | 
				
			||||||
      free(Nom_du_fichier);
 | 
					 | 
				
			||||||
      free(Buffer);
 | 
					 | 
				
			||||||
      return ERREUR_DAT_CORROMPU;
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								saveini.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								saveini.c
									
									
									
									
									
								
							@ -415,19 +415,14 @@ int Sauver_INI(struct S_Config * Conf)
 | 
				
			|||||||
      goto Erreur_ERREUR_SAUVEGARDE_INI;
 | 
					      goto Erreur_ERREUR_SAUVEGARDE_INI;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  // On récupère un fichier INI "propre" dans GFX2.DAT
 | 
					  // On récupère un fichier INI "propre" à partir de gfx2def.ini
 | 
				
			||||||
  strcpy(Nom_du_fichier_DAT,Repertoire_des_donnees);
 | 
					  strcpy(Nom_du_fichier_DAT,Repertoire_des_donnees);
 | 
				
			||||||
  strcat(Nom_du_fichier_DAT,"gfx2.dat");
 | 
					  strcat(Nom_du_fichier_DAT,"gfx2def.ini");
 | 
				
			||||||
  Ancien_fichier=fopen(Nom_du_fichier_DAT,"rb");
 | 
					  Ancien_fichier=fopen(Nom_du_fichier_DAT,"rb");
 | 
				
			||||||
  if (Ancien_fichier==0)
 | 
					  if (Ancien_fichier==0)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    fclose(Ancien_fichier);
 | 
					    fclose(Ancien_fichier);
 | 
				
			||||||
    return ERREUR_DAT_ABSENT;
 | 
					    return ERREUR_INI_ABSENT;
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (fseek(Ancien_fichier, DAT_DEBUT_INI_PAR_DEFAUT, SEEK_SET))
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    fclose(Ancien_fichier);
 | 
					 | 
				
			||||||
    return ERREUR_DAT_CORROMPU;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  Nouveau_fichier=fopen(Nom_du_fichier,"wb");
 | 
					  Nouveau_fichier=fopen(Nom_du_fichier,"wb");
 | 
				
			||||||
  if (Nouveau_fichier==0)
 | 
					  if (Nouveau_fichier==0)
 | 
				
			||||||
 | 
				
			|||||||
@ -182,3 +182,10 @@ SDL_Color Conversion_couleur_SDL(byte Index)
 | 
				
			|||||||
  Couleur.unused = 255;
 | 
					  Couleur.unused = 255;
 | 
				
			||||||
  return Couleur;
 | 
					  return Couleur;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Lecture d'un pixel pour une surface SDL.
 | 
				
			||||||
 | 
					// Attention, ne fonctionne que pour les surfaces 8-bit
 | 
				
			||||||
 | 
					byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int X, int Y)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  return ((byte *)(Bmp->pixels))[(Y*Bmp->pitch+X)];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -34,5 +34,6 @@
 | 
				
			|||||||
  void Flush_update(void);
 | 
					  void Flush_update(void);
 | 
				
			||||||
  byte * Surface_en_bytefield(SDL_Surface *Source, byte * Destination);
 | 
					  byte * Surface_en_bytefield(SDL_Surface *Source, byte * Destination);
 | 
				
			||||||
  SDL_Color Conversion_couleur_SDL(byte);
 | 
					  SDL_Color Conversion_couleur_SDL(byte);
 | 
				
			||||||
 | 
					  byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int X, int Y);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
#endif // SDLSCREEN_H_INCLUDED
 | 
					#endif // SDLSCREEN_H_INCLUDED
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										153
									
								
								tables_aide.h
									
									
									
									
									
								
							
							
						
						
									
										153
									
								
								tables_aide.h
									
									
									
									
									
								
							@ -21,159 +21,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "const.h" // Utilise les enumerations BOUTON_ et SPECIAL_
 | 
					#include "const.h" // Utilise les enumerations BOUTON_ et SPECIAL_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Les tables suivantes servent de table de conversion entre un caractère ASCII
 | 
					 | 
				
			||||||
// et le sprite qui le représente dans la Fonte
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Table de caractères Normaux
 | 
					 | 
				
			||||||
static const int Caracteres_Aide_N[] = { // Commence à ' '
 | 
					 | 
				
			||||||
    0,     1,     2,     3,     4,     5,     6,     7,     8,     9,
 | 
					 | 
				
			||||||
   10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
 | 
					 | 
				
			||||||
   20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
 | 
					 | 
				
			||||||
   30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
 | 
					 | 
				
			||||||
   40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 | 
					 | 
				
			||||||
   50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
 | 
					 | 
				
			||||||
   60,    61,     0,    62,    63,    64,    65,    66,    67,    68,
 | 
					 | 
				
			||||||
   69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
 | 
					 | 
				
			||||||
   79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
 | 
					 | 
				
			||||||
   89,    90,    91,    92,     0,     0,    93,    94,    95,    96,
 | 
					 | 
				
			||||||
    0,    97,     0,    98,    99,   100,   101,     0,     0,     0,
 | 
					 | 
				
			||||||
    0,     0,     0,   102,     0,   103,     0,     0,   104,   105};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Table de caractères Sous-Titres
 | 
					 | 
				
			||||||
static const int Caracteres_Aide_S[] = { // Commence à ' '
 | 
					 | 
				
			||||||
    0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 | 
					 | 
				
			||||||
    0,     0,     0,   132,   133,   134,   135,   136,   137,   138,
 | 
					 | 
				
			||||||
  139,   140,   141,   142,   143,   144,   145,     0,     0,     0,
 | 
					 | 
				
			||||||
    0,   146,     0,   106,   107,   108,   109,   110,   111,   112,
 | 
					 | 
				
			||||||
  113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
 | 
					 | 
				
			||||||
  123,   124,   125,   126,   127,   128,   129,   130,   131 };
 | 
					 | 
				
			||||||
  // Table de caractères Titres (demi-ligne supérieure)
 | 
					 | 
				
			||||||
static const int Caracteres_Aide_Titre_haut[] = { // Commence à ' '
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
   96+147, // -
 | 
					 | 
				
			||||||
   98+147, // .
 | 
					 | 
				
			||||||
  100+147, // /
 | 
					 | 
				
			||||||
  102+147, // 0
 | 
					 | 
				
			||||||
  104+147, // 1
 | 
					 | 
				
			||||||
  106+147, // 2
 | 
					 | 
				
			||||||
  108+147, // 3
 | 
					 | 
				
			||||||
  110+147, // 4
 | 
					 | 
				
			||||||
  112+147, // 5
 | 
					 | 
				
			||||||
  114+147, // 6
 | 
					 | 
				
			||||||
  116+147, // 7
 | 
					 | 
				
			||||||
  118+147, // 8
 | 
					 | 
				
			||||||
  120+147, // 9
 | 
					 | 
				
			||||||
  122+147, // :
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
  124+147,  // ?// ?
 | 
					 | 
				
			||||||
  126+147,
 | 
					 | 
				
			||||||
    0+147, // A
 | 
					 | 
				
			||||||
    2+147, // B
 | 
					 | 
				
			||||||
    4+147, // C
 | 
					 | 
				
			||||||
    6+147, // D
 | 
					 | 
				
			||||||
    8+147, // E
 | 
					 | 
				
			||||||
   10+147, // F
 | 
					 | 
				
			||||||
   12+147, // G
 | 
					 | 
				
			||||||
   14+147, // H
 | 
					 | 
				
			||||||
   16+147, // I
 | 
					 | 
				
			||||||
   18+147, // J
 | 
					 | 
				
			||||||
   20+147, // K
 | 
					 | 
				
			||||||
   22+147, // L
 | 
					 | 
				
			||||||
   24+147, // M
 | 
					 | 
				
			||||||
   26+147, // N
 | 
					 | 
				
			||||||
   28+147, // O
 | 
					 | 
				
			||||||
   30+147, // P
 | 
					 | 
				
			||||||
   32+147, // Q
 | 
					 | 
				
			||||||
   34+147, // R
 | 
					 | 
				
			||||||
   36+147, // S
 | 
					 | 
				
			||||||
   38+147, // T
 | 
					 | 
				
			||||||
   40+147, // U
 | 
					 | 
				
			||||||
   42+147, // V
 | 
					 | 
				
			||||||
   88+147, // W
 | 
					 | 
				
			||||||
   90+147, // X
 | 
					 | 
				
			||||||
   92+147, // Y
 | 
					 | 
				
			||||||
   94+147  // Z
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
  // Table de caractères Titres (demi-ligne supérieure)
 | 
					 | 
				
			||||||
static const int Caracteres_Aide_Titre_bas[] = { // Commence à ' '
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
   96+147+40, // -
 | 
					 | 
				
			||||||
   98+147+40, // .
 | 
					 | 
				
			||||||
  100+147+40, // /
 | 
					 | 
				
			||||||
  102+147+40, // 0
 | 
					 | 
				
			||||||
  104+147+40, // 1
 | 
					 | 
				
			||||||
  106+147+40, // 2
 | 
					 | 
				
			||||||
  108+147+40, // 3
 | 
					 | 
				
			||||||
  110+147+40, // 4
 | 
					 | 
				
			||||||
  112+147+40, // 5
 | 
					 | 
				
			||||||
  114+147+40, // 6
 | 
					 | 
				
			||||||
  116+147+40, // 7
 | 
					 | 
				
			||||||
  118+147+40, // 8
 | 
					 | 
				
			||||||
  120+147+40, // 9
 | 
					 | 
				
			||||||
  122+147+40, // :
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
  124+147+40, // ?
 | 
					 | 
				
			||||||
  126+147+40,
 | 
					 | 
				
			||||||
    0+147+44, // A
 | 
					 | 
				
			||||||
    2+147+44, // B
 | 
					 | 
				
			||||||
    4+147+44, // C
 | 
					 | 
				
			||||||
    6+147+44, // D
 | 
					 | 
				
			||||||
    8+147+44, // E
 | 
					 | 
				
			||||||
   10+147+44, // F
 | 
					 | 
				
			||||||
   12+147+44, // G
 | 
					 | 
				
			||||||
   14+147+44, // H
 | 
					 | 
				
			||||||
   16+147+44, // I
 | 
					 | 
				
			||||||
   18+147+44, // J
 | 
					 | 
				
			||||||
   20+147+44, // K
 | 
					 | 
				
			||||||
   22+147+44, // L
 | 
					 | 
				
			||||||
   24+147+44, // M
 | 
					 | 
				
			||||||
   26+147+44, // N
 | 
					 | 
				
			||||||
   28+147+44, // O
 | 
					 | 
				
			||||||
   30+147+44, // P
 | 
					 | 
				
			||||||
   32+147+44, // Q
 | 
					 | 
				
			||||||
   34+147+44, // R
 | 
					 | 
				
			||||||
   36+147+44, // S
 | 
					 | 
				
			||||||
   38+147+44, // T
 | 
					 | 
				
			||||||
   40+147+44, // U
 | 
					 | 
				
			||||||
   42+147+44, // V
 | 
					 | 
				
			||||||
   88+147+40, // W
 | 
					 | 
				
			||||||
   90+147+40, // X
 | 
					 | 
				
			||||||
   92+147+40, // Y
 | 
					 | 
				
			||||||
   94+147+40  // Z
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Quelques formules magiques:
 | 
					// Quelques formules magiques:
 | 
				
			||||||
#define AIDE_TEXTE(x) {'N', x, 0},
 | 
					#define AIDE_TEXTE(x) {'N', x, 0},
 | 
				
			||||||
// Génère une ligne 'N' (Normale)
 | 
					// Génère une ligne 'N' (Normale)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										47
									
								
								windows.c
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								windows.c
									
									
									
									
									
								
							@ -321,14 +321,14 @@ void Print_general(short X,short Y,char * Chaine,byte Couleur_texte,byte Couleur
 | 
				
			|||||||
  byte Repeat_Menu_Facteur_Y;
 | 
					  byte Repeat_Menu_Facteur_Y;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Reel_Y=Y;
 | 
					  Reel_Y=Y;
 | 
				
			||||||
  for (Pos_Y=0;Pos_Y<8;Pos_Y++)
 | 
					  for (Pos_Y=0;Pos_Y<8<<3;Pos_Y+=1<<3)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    Reel_X=0; // Position dans le buffer
 | 
					    Reel_X=0; // Position dans le buffer
 | 
				
			||||||
    for (Indice=0;Chaine[Indice]!='\0';Indice++)
 | 
					    for (Indice=0;Chaine[Indice]!='\0';Indice++)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      // Pointeur sur le premier pixel du caractère
 | 
					      // Pointeur sur le premier pixel du caractère
 | 
				
			||||||
      Caractere=Fonte+(((unsigned char)Chaine[Indice])<<6);
 | 
					      Caractere=Fonte+(((unsigned char)Chaine[Indice])<<6);
 | 
				
			||||||
      for (Pos_X=0;Pos_X<8<<3;Pos_X+=1<<3)
 | 
					      for (Pos_X=0;Pos_X<8;Pos_X+=1)
 | 
				
			||||||
        for (Repeat_Menu_Facteur_X=0;Repeat_Menu_Facteur_X<Menu_Facteur_X*Pixel_width;Repeat_Menu_Facteur_X++)
 | 
					        for (Repeat_Menu_Facteur_X=0;Repeat_Menu_Facteur_X<Menu_Facteur_X*Pixel_width;Repeat_Menu_Facteur_X++)
 | 
				
			||||||
          Buffer_de_ligne_horizontale[Reel_X++]=*(Caractere+Pos_X+Pos_Y)?Couleur_texte:Couleur_fond;
 | 
					          Buffer_de_ligne_horizontale[Reel_X++]=*(Caractere+Pos_X+Pos_Y)?Couleur_texte:Couleur_fond;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -363,10 +363,10 @@ void Print_char_transparent_dans_fenetre(short Pos_X,short Pos_Y,unsigned char C
 | 
				
			|||||||
  Pos_X=(Pos_X*Menu_Facteur_X)+Fenetre_Pos_X;
 | 
					  Pos_X=(Pos_X*Menu_Facteur_X)+Fenetre_Pos_X;
 | 
				
			||||||
  Pos_Y=(Pos_Y*Menu_Facteur_Y)+Fenetre_Pos_Y;
 | 
					  Pos_Y=(Pos_Y*Menu_Facteur_Y)+Fenetre_Pos_Y;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (X=0;X<8;X++)
 | 
					  for (Y=0;Y<8;Y++)
 | 
				
			||||||
    for (Y=0;Y<8;Y++)
 | 
					    for (X=0;X<8;X++)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      if (*(Fonte+((int)Caractere<<6)+(X<<3)+Y))
 | 
					      if (*(Fonte+((int)Caractere<<6)+(Y<<3)+X))
 | 
				
			||||||
        Block(Pos_X+(X*Menu_Facteur_X), Pos_Y+(Y*Menu_Facteur_Y),
 | 
					        Block(Pos_X+(X*Menu_Facteur_X), Pos_Y+(Y*Menu_Facteur_Y),
 | 
				
			||||||
              Menu_Facteur_X, Menu_Facteur_Y, Couleur);
 | 
					              Menu_Facteur_X, Menu_Facteur_Y, Couleur);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -2330,31 +2330,52 @@ void Calculer_couleurs_menu_optimales(struct Composantes * Palette)
 | 
				
			|||||||
    || (CM_Noir !=Old_Noir )
 | 
					    || (CM_Noir !=Old_Noir )
 | 
				
			||||||
    || (CM_Trans!=Old_Trans) )
 | 
					    || (CM_Trans!=Old_Trans) )
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
      // Sprites du curseur
 | 
					    // Sprites du curseur
 | 
				
			||||||
    for (K=0; K<NB_SPRITES_CURSEUR; K++)
 | 
					    for (K=0; K<NB_SPRITES_CURSEUR; K++)
 | 
				
			||||||
      for (J=0; J<HAUTEUR_SPRITE_CURSEUR; J++)
 | 
					      for (J=0; J<HAUTEUR_SPRITE_CURSEUR; J++)
 | 
				
			||||||
        for (I=0; I<LARGEUR_SPRITE_CURSEUR; I++)
 | 
					        for (I=0; I<LARGEUR_SPRITE_CURSEUR; I++)
 | 
				
			||||||
          Remap_pixel(&SPRITE_CURSEUR[K][J][I]);
 | 
					          Remap_pixel(&SPRITE_CURSEUR[K][J][I]);
 | 
				
			||||||
      // Le menu
 | 
					    // Le menu
 | 
				
			||||||
    for (J=0; J<HAUTEUR_MENU; J++)
 | 
					    for (J=0; J<HAUTEUR_MENU; J++)
 | 
				
			||||||
      for (I=0; I<LARGEUR_MENU; I++)
 | 
					      for (I=0; I<LARGEUR_MENU; I++)
 | 
				
			||||||
        Remap_pixel(&BLOCK_MENU[J][I]);
 | 
					        Remap_pixel(&BLOCK_MENU[J][I]);
 | 
				
			||||||
      // Sprites du menu
 | 
					    // Sprites du menu
 | 
				
			||||||
    for (K=0; K<NB_SPRITES_MENU; K++)
 | 
					    for (K=0; K<NB_SPRITES_MENU; K++)
 | 
				
			||||||
      for (J=0; J<HAUTEUR_SPRITE_MENU; J++)
 | 
					      for (J=0; J<HAUTEUR_SPRITE_MENU; J++)
 | 
				
			||||||
        for (I=0; I<LARGEUR_SPRITE_MENU; I++)
 | 
					        for (I=0; I<LARGEUR_SPRITE_MENU; I++)
 | 
				
			||||||
          Remap_pixel(&SPRITE_MENU[K][J][I]);
 | 
					          Remap_pixel(&SPRITE_MENU[K][J][I]);
 | 
				
			||||||
      // Sprites d'effets
 | 
					    // Sprites d'effets
 | 
				
			||||||
    for (K=0; K<NB_SPRITES_EFFETS; K++)
 | 
					    for (K=0; K<NB_SPRITES_EFFETS; K++)
 | 
				
			||||||
      for (J=0; J<HAUTEUR_SPRITE_MENU; J++)
 | 
					      for (J=0; J<HAUTEUR_SPRITE_MENU; J++)
 | 
				
			||||||
        for (I=0; I<LARGEUR_SPRITE_MENU; I++)
 | 
					        for (I=0; I<LARGEUR_SPRITE_MENU; I++)
 | 
				
			||||||
          Remap_pixel(&SPRITE_EFFET[K][J][I]);
 | 
					          Remap_pixel(&SPRITE_EFFET[K][J][I]);
 | 
				
			||||||
      // Fonte de l'aide
 | 
					    // Fontes de l'aide
 | 
				
			||||||
    for (K=0; K<315; K++)
 | 
					    for (K=0; K<256; K++)
 | 
				
			||||||
      for (J=0; J<8; J++)
 | 
					      for (J=0; J<8; J++)
 | 
				
			||||||
        for (I=0; I<6; I++)
 | 
					        for (I=0; I<6; I++)
 | 
				
			||||||
          Remap_pixel(&Fonte_help[K][I][J]);
 | 
					          Remap_pixel(&Fonte_help_norm[K][I][J]);
 | 
				
			||||||
      // Sprites de lecteurs (drives)
 | 
					    for (K=0; K<256; K++)
 | 
				
			||||||
 | 
					      for (J=0; J<8; J++)
 | 
				
			||||||
 | 
					        for (I=0; I<6; I++)
 | 
				
			||||||
 | 
					          Remap_pixel(&Fonte_help_bold[K][I][J]);
 | 
				
			||||||
 | 
					    for (K=0; K<64; K++)
 | 
				
			||||||
 | 
					      for (J=0; J<8; J++)
 | 
				
			||||||
 | 
					        for (I=0; I<6; I++)
 | 
				
			||||||
 | 
					          Remap_pixel(&Fonte_help_t1[K][I][J]);
 | 
				
			||||||
 | 
					    for (K=0; K<64; K++)
 | 
				
			||||||
 | 
					      for (J=0; J<8; J++)
 | 
				
			||||||
 | 
					        for (I=0; I<6; I++)
 | 
				
			||||||
 | 
					          Remap_pixel(&Fonte_help_t2[K][I][J]);
 | 
				
			||||||
 | 
					    for (K=0; K<64; K++)
 | 
				
			||||||
 | 
					      for (J=0; J<8; J++)
 | 
				
			||||||
 | 
					        for (I=0; I<6; I++)
 | 
				
			||||||
 | 
					          Remap_pixel(&Fonte_help_t3[K][I][J]);
 | 
				
			||||||
 | 
					    for (K=0; K<64; K++)
 | 
				
			||||||
 | 
					      for (J=0; J<8; J++)
 | 
				
			||||||
 | 
					        for (I=0; I<6; I++)
 | 
				
			||||||
 | 
					          Remap_pixel(&Fonte_help_t4[K][I][J]);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    // Sprites de lecteurs (drives)
 | 
				
			||||||
    for (K=0; K<NB_SPRITES_DRIVES; K++)
 | 
					    for (K=0; K<NB_SPRITES_DRIVES; K++)
 | 
				
			||||||
      for (J=0; J<HAUTEUR_SPRITE_DRIVE; J++)
 | 
					      for (J=0; J<HAUTEUR_SPRITE_DRIVE; J++)
 | 
				
			||||||
        for (I=0; I<LARGEUR_SPRITE_DRIVE; I++)
 | 
					        for (I=0; I<LARGEUR_SPRITE_DRIVE; I++)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user