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))