More work on endianness,
fixed the save/load box to display names in 8+3 format, files can now be loaded in command-line. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@142 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									0eaba7e952
								
							
						
					
					
						commit
						37ca8d13aa
					
				
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@ -3,7 +3,7 @@ ifdef COMSPEC
 | 
			
		||||
DELCOMMAND = del
 | 
			
		||||
BIN = grafx2.exe
 | 
			
		||||
COPT = -Wall -O -g -ggdb -Dmain=SDL_main $(SCREEN)
 | 
			
		||||
LOPT = -mwindows -lmingw32 -lSDLmain -lSDL
 | 
			
		||||
LOPT = -mwindows -lmingw32 -lSDLmain -lSDL -lshlwapi
 | 
			
		||||
else
 | 
			
		||||
# Linux specific
 | 
			
		||||
DELCOMMAND = rm -rf
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								files.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								files.c
									
									
									
									
									
								
							@ -121,6 +121,7 @@ char * Nom_formate(char * Nom)
 | 
			
		||||
  static char Resultat[13];
 | 
			
		||||
  int         Curseur;
 | 
			
		||||
  int         Autre_curseur;
 | 
			
		||||
  int         Pos_DernierPoint;
 | 
			
		||||
 | 
			
		||||
  if (strcmp(Nom,"..")==0)
 | 
			
		||||
  {
 | 
			
		||||
@ -131,12 +132,19 @@ char * Nom_formate(char * Nom)
 | 
			
		||||
    strcpy(Resultat,"        .   ");
 | 
			
		||||
    // On commence par recopier la partie pr‚c‚dent le point:
 | 
			
		||||
    for (Curseur=0;( (Nom[Curseur]!='.') && (Nom[Curseur]!='\0') );Curseur++)
 | 
			
		||||
    {
 | 
			
		||||
      if (Curseur < 8)
 | 
			
		||||
        Resultat[Curseur]=Nom[Curseur];
 | 
			
		||||
    }
 | 
			
		||||
    // On recherche le dernier point dans le reste du nom
 | 
			
		||||
    for (Pos_DernierPoint = Curseur; Nom[Curseur]!='\0'; Curseur++)
 | 
			
		||||
      if (Nom[Curseur]=='.')
 | 
			
		||||
        Pos_DernierPoint = Curseur;
 | 
			
		||||
 | 
			
		||||
    // Ensuite on recopie la partie qui suit le point (si n‚cessaire):
 | 
			
		||||
    if (Nom[Curseur])
 | 
			
		||||
    if (Nom[Pos_DernierPoint])
 | 
			
		||||
    {
 | 
			
		||||
      for (Curseur++,Autre_curseur=9;Nom[Curseur]!='\0';Curseur++,Autre_curseur++)
 | 
			
		||||
      for (Curseur = Pos_DernierPoint+1,Autre_curseur=9;Nom[Curseur]!='\0' && Autre_curseur < 12;Curseur++,Autre_curseur++)
 | 
			
		||||
        Resultat[Autre_curseur]=Nom[Curseur];
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										30
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								main.c
									
									
									
									
									
								
							@ -26,7 +26,7 @@
 | 
			
		||||
 | 
			
		||||
#ifdef __linux__
 | 
			
		||||
    #include "linux.h" //Fichier avec diverses fonctions qui existaient sous dos mais pas sous linux...
 | 
			
		||||
#elif __WATCOMC__
 | 
			
		||||
#else
 | 
			
		||||
    #include <windows.h>
 | 
			
		||||
    #include <shlwapi.h>
 | 
			
		||||
    #define chdir(dir) SetCurrentDirectory(dir)
 | 
			
		||||
@ -215,14 +215,28 @@ void Analyse_de_la_ligne_de_commande(int argc,char * argv[])
 | 
			
		||||
        #ifdef __linux__
 | 
			
		||||
            Buffer=realpath(argv[1],NULL);
 | 
			
		||||
            _splitpath(Buffer,Principal_Repertoire_fichier,Principal_Nom_fichier);
 | 
			
		||||
        #elif __WATCOMC__
 | 
			
		||||
        #else
 | 
			
		||||
            Buffer = malloc(MAX_PATH);
 | 
			
		||||
            PathCanonicalize(Buffer,argv[1]);
 | 
			
		||||
            _splitpath(Buffer,
 | 
			
		||||
                Principal_Repertoire_fichier,
 | 
			
		||||
                Principal_Repertoire_fichier+3,
 | 
			
		||||
                Principal_Nom_fichier,
 | 
			
		||||
                Principal_Nom_fichier+8);
 | 
			
		||||
            _fullpath(Buffer,argv[1],MAX_PATH);
 | 
			
		||||
            {
 | 
			
		||||
              // Découpage du nom canonique de fichier en chemin + nom.
 | 
			
		||||
              // On croirait que c'est du classique pour la LibC, mais non...
 | 
			
		||||
              int i;
 | 
			
		||||
              int PosDernierSeparateur = 0;
 | 
			
		||||
              for (i=0; Buffer[i]!='\0'; i++)
 | 
			
		||||
              {
 | 
			
		||||
                Principal_Repertoire_fichier[i] = Buffer[i];
 | 
			
		||||
                if (Buffer[i]=='\\')
 | 
			
		||||
                  PosDernierSeparateur = i;
 | 
			
		||||
              }
 | 
			
		||||
              Principal_Repertoire_fichier[PosDernierSeparateur]='\0';
 | 
			
		||||
              for (i=0; Buffer[PosDernierSeparateur + i + 1]!='\0'; i++)
 | 
			
		||||
              {
 | 
			
		||||
                Principal_Nom_fichier[i] = Buffer[PosDernierSeparateur + i + 1];
 | 
			
		||||
              }
 | 
			
		||||
              Principal_Nom_fichier[i]='\0';
 | 
			
		||||
              
 | 
			
		||||
            }
 | 
			
		||||
            free(Buffer);
 | 
			
		||||
        #endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user