Resolution screen: Fixed a problem where it didn't find the current resolution, when using tall/wide/double pixels. If the cursor was not visible and you pressed OK anyway, it could crash.

Resolution changes: No longer reset the mouse cursor in center of screen.
Emergency save: When you run grafx2 again, the recovered images are now marked as modified (grafx2 will ask you to save before quit)



git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@646 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2009-02-20 20:12:27 +00:00
parent 58b793933c
commit aa7d13a3fc
3 changed files with 17 additions and 11 deletions

View File

@ -1655,9 +1655,6 @@ void Bouton_Resol(void)
Afficher_menu(); Afficher_menu();
Afficher_ecran(); Afficher_ecran();
} }
Mouse_X = Largeur_ecran >> 1;
Mouse_Y = Hauteur_ecran >> 1;
Set_mouse_position();
Pinceau_X = Mouse_X; Pinceau_X = Mouse_X;
Pinceau_Y = Mouse_Y; Pinceau_Y = Mouse_Y;

21
graph.c
View File

@ -187,8 +187,14 @@ int Initialiser_mode_video(int Largeur, int Hauteur, int Fullscreen)
int Indice; int Indice;
int Facteur; int Facteur;
if (Largeur_ecran!=Largeur || // Pour la première entrée dans cette fonction
Hauteur_ecran!=Hauteur || if (Pixel_width<1)
Pixel_width=1;
if (Pixel_height<1)
Pixel_height=1;
if (Largeur_ecran!=Largeur/Pixel_width ||
Hauteur_ecran!=Hauteur/Pixel_height ||
Mode_video[Resolution_actuelle].Fullscreen != Fullscreen) Mode_video[Resolution_actuelle].Fullscreen != Fullscreen)
{ {
switch (Pixel_ratio) switch (Pixel_ratio)
@ -347,18 +353,19 @@ int Initialiser_mode_video(int Largeur, int Hauteur, int Fullscreen)
Set_palette(Principal_Palette); Set_palette(Principal_Palette);
if (!Fullscreen) Resolution_actuelle=0;
Resolution_actuelle=0; if (Fullscreen)
else {
for (Indice=1; Indice<Nb_modes_video; Indice++) for (Indice=1; Indice<Nb_modes_video; Indice++)
{ {
if (Mode_video[Indice].Largeur==Largeur_ecran && if (Mode_video[Indice].Largeur/Pixel_width==Largeur_ecran &&
Mode_video[Indice].Hauteur==Hauteur_ecran) Mode_video[Indice].Hauteur/Pixel_height==Hauteur_ecran)
{ {
Resolution_actuelle=Indice; Resolution_actuelle=Indice;
break; break;
} }
} }
}
Changer_cellules_palette(); Changer_cellules_palette();

4
main.c
View File

@ -666,6 +666,7 @@ int main(int argc,char * argv[])
strcpy(Principal_Nom_fichier,"phoenix2.img"); strcpy(Principal_Nom_fichier,"phoenix2.img");
chdir(Principal_Repertoire_fichier); chdir(Principal_Repertoire_fichier);
Bouton_Reload(); Bouton_Reload();
Principal_Image_modifiee=1;
Warning_message("Spare page recovered"); Warning_message("Spare page recovered");
// I don't really like this, but... // I don't really like this, but...
remove(Nom_du_fichier_Phoenix2); remove(Nom_du_fichier_Phoenix2);
@ -677,6 +678,7 @@ int main(int argc,char * argv[])
strcpy(Principal_Nom_fichier,"phoenix.img"); strcpy(Principal_Nom_fichier,"phoenix.img");
chdir(Principal_Repertoire_fichier); chdir(Principal_Repertoire_fichier);
Bouton_Reload(); Bouton_Reload();
Principal_Image_modifiee=1;
Warning_message("Main page recovered"); Warning_message("Main page recovered");
// I don't really like this, but... // I don't really like this, but...
remove(Nom_du_fichier_Phoenix); remove(Nom_du_fichier_Phoenix);
@ -686,7 +688,7 @@ int main(int argc,char * argv[])
{ {
if (Config.Opening_message && (!Un_fichier_a_ete_passe_en_parametre)) if (Config.Opening_message && (!Un_fichier_a_ete_passe_en_parametre))
Bouton_Message_initial(); Bouton_Message_initial();
//free(Logo_GrafX2); // Utilisé dans le About free(Logo_GrafX2); // Pas encore utilisé dans le About
if (Un_fichier_a_ete_passe_en_parametre) if (Un_fichier_a_ete_passe_en_parametre)
{ {