diff --git a/Grafx2.xcodeproj/xx.pbxuser b/Grafx2.xcodeproj/xx.pbxuser
index 56baabf5..a6599352 100644
--- a/Grafx2.xcodeproj/xx.pbxuser
+++ b/Grafx2.xcodeproj/xx.pbxuser
@@ -165,8 +165,8 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 248029954;
- PBXWorkspaceStateSaveDate = 248029954;
+ PBXPerProjectTemplateStateSaveDate = 248180012;
+ PBXWorkspaceStateSaveDate = 248180012;
};
sourceControlManager = F5B19B690EA4BD79003F4BA4 /* Source Control */;
userBuildSettings = {
diff --git a/Grafx2.xcodeproj/xx.perspective b/Grafx2.xcodeproj/xx.perspective
index ddd4066f..1dc176d0 100644
--- a/Grafx2.xcodeproj/xx.perspective
+++ b/Grafx2.xcodeproj/xx.perspective
@@ -258,16 +258,14 @@
PBXSmartGroupTreeModuleOutlineStateExpansionKey
+ 29B97314FDCFA39411CA2CEA
1C37FBAC04509CD000000102
- F51CBD120EC8A302005C06AC
- F51CBD3B0EC8AB35005C06AC
PBXSmartGroupTreeModuleOutlineStateSelectionKey
9
- 2
- 1
+ 0
PBXSmartGroupTreeModuleOutlineStateVisibleRectKey
@@ -413,11 +411,11 @@
TableOfContents
- F51CBD140EC8A305005C06AC
+ F5368CFF0EC8ADDF00444B30
1CA23ED40692098700951B8B
- F51CBD150EC8A305005C06AC
+ F5368D000EC8ADDF00444B30
F5A33EBD0EC89C3000F8052D
- F51CBD160EC8A305005C06AC
+ F5368D010EC8ADDF00444B30
1CA23EDF0692099D00951B8B
1CA23EE00692099D00951B8B
1CA23EE10692099D00951B8B
@@ -483,7 +481,7 @@
PBXSmartGroupTreeModuleOutlineStateVisibleRectKey
- {{0, 0}, {193, 604}}
+ {{0, 0}, {0, 0}}
PBXTopSmartGroupGIDs
@@ -544,7 +542,7 @@
Proportion
- 617pt
+ 0pt
Tabs
@@ -562,7 +560,7 @@
GeometryConfiguration
Frame
- {{10, 27}, {762, 590}}
+ {{10, 27}, {0, -27}}
Module
PBXBuildResultsModule
@@ -624,7 +622,7 @@
Proportion
- 762pt
+ 0pt
Name
@@ -642,14 +640,14 @@
TableOfContents
- F51CBD1B0EC8A347005C06AC
+ F5368D020EC8ADDF00444B30
1CA23EE50692099D00951B8B
- F51CBD1C0EC8A347005C06AC
+ F5368D030EC8ADDF00444B30
F5A33EC20EC89C3000F8052D
- F51CBD1D0EC8A347005C06AC
+ F5368D040EC8ADDF00444B30
XCMainBuildResultsModuleGUID
1CA23EE80692099D00951B8B
- F51CBD1E0EC8A347005C06AC
+ F5368D050EC8ADDF00444B30
ToolbarConfiguration
xcode.toolbar.config.buildAndRun
diff --git a/boutons.c b/boutons.c
index f6f23e75..f850d794 100644
--- a/boutons.c
+++ b/boutons.c
@@ -2633,7 +2633,7 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
Principal_File_list_Decalage=Temp;
// On récupére le nom du schmilblick à "accéder"
- Determiner_element_de_la_liste(Principal_File_list_Position,Principal_File_list_Decalage,Principal_Nom_fichier,&Type_selectionne);
+ Determiner_element_de_la_liste(Principal_File_list_Position,Principal_File_list_Decalage,Principal_Nom_fichier,&Type_selectionne);
// On affiche le nouveau nom de fichier
Print_Nom_fichier_dans_selecteur();
// On affiche à nouveau la liste
@@ -2697,6 +2697,7 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
break;
case 8 : // Saisie du nom de fichier
Effacer_curseur();
+ Principal_Nom_fichier[0] = '\0';
if (Readline(13+9*8,90,Principal_Nom_fichier,27,2))
{
// On regarde s'il faut rajouter une extension. C'est-à-dire s'il
@@ -2706,9 +2707,42 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
Bidon=1;
if (!Bidon)
{
- strcat(Principal_Nom_fichier,".");
if (Principal_Format)
- strcat(Principal_Nom_fichier,Format_Extension[Principal_Format-1]);
+ {
+ if(!Repertoire_existe(Principal_Nom_fichier))
+ {
+ strcat(Principal_Nom_fichier,".");
+ strcat(Principal_Nom_fichier,Format_Extension[Principal_Format-1]);
+ }
+ }
+ else
+ {
+ // put default extension
+ // (but maybe we should browse through all available ones until we find
+ // something suitable ?)
+ if(!Repertoire_existe(Principal_Nom_fichier))
+ {
+ strcat(Principal_Nom_fichier, ".pkm");
+ }
+ }
+ }
+ if(Load)
+ {
+ // Determine the type
+ if(Fichier_existe(Principal_Nom_fichier))
+ {
+ Type_selectionne = 0;
+ if(Repertoire_existe(Principal_Nom_fichier)) Type_selectionne = 1;
+ }
+ else
+ {
+ Type_selectionne = 1;
+ }
+ }
+ else
+ {
+ if(Repertoire_existe(Principal_Nom_fichier)) Type_selectionne = 1;
+ else Type_selectionne = 0;
}
On_a_clicke_sur_OK=1;
}
diff --git a/clavier.c b/clavier.c
index 27bbe168..ee533718 100644
--- a/clavier.c
+++ b/clavier.c
@@ -466,10 +466,6 @@ const char * Nom_touche(word Touche)
// Renvoie 0 s'il n'y a pas de caractère associé (shift, backspace, etc)
word Conversion_ANSI(SDL_keysym Sym)
{
- if ( Sym.unicode == 0)
- {
- return Sym.sym;
- }
if ( Sym.unicode > 32 && Sym.unicode < 127)
{
return Sym.unicode; // Pas de souci, on est en ASCII standard
@@ -546,9 +542,15 @@ word Conversion_ANSI(SDL_keysym Sym)
{
return(SDLK_BACKSPACE);
}
+ // We make to difference between return & enter in the app context.
+ if(Sym.unicode == 3)
+ {
+ return(SDLK_RETURN);
+ }
#endif
return Sym.unicode;
}
- // Sinon c'est une touche spéciale, on retourne son scancode
+
+ // Sinon c'est une touche spéciale, on retourne son scancode
return Sym.sym;
}
diff --git a/loadsave.c b/loadsave.c
index 3120631d..82bcc884 100644
--- a/loadsave.c
+++ b/loadsave.c
@@ -1225,13 +1225,17 @@ void Save_PKM(void)
Compteur_de_pixels++;
Compteur_de_repetitions=1;
Derniere_couleur=Valeur_pixel;
- Valeur_pixel=Lit_pixel_de_sauvegarde(Compteur_de_pixels % Principal_Largeur_image,Compteur_de_pixels / Principal_Largeur_image);
+ if(Compteur_de_pixels=Taille_image) break;
Valeur_pixel=Lit_pixel_de_sauvegarde(Compteur_de_pixels % Principal_Largeur_image,Compteur_de_pixels / Principal_Largeur_image);
}
diff --git a/readline.c b/readline.c
index c2ccb103..0aa4ff2e 100644
--- a/readline.c
+++ b/readline.c
@@ -175,8 +175,8 @@ byte Readline_ex(word Pos_X,word Pos_Y,char * Chaine,byte Taille_affichee,byte T
Taille_affichee*(Menu_Facteur_X<<3),(Menu_Facteur_Y<<3));
#ifdef __macosx__
- Update_necessaire = 1;
- Flush_update();
+ Update_necessaire = 1;
+ Flush_update();
#endif
while ((Touche_lue!=SDLK_RETURN) && (Touche_lue!=SDLK_ESCAPE))