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

4
main.c
View File

@ -666,6 +666,7 @@ int main(int argc,char * argv[])
strcpy(Principal_Nom_fichier,"phoenix2.img");
chdir(Principal_Repertoire_fichier);
Bouton_Reload();
Principal_Image_modifiee=1;
Warning_message("Spare page recovered");
// I don't really like this, but...
remove(Nom_du_fichier_Phoenix2);
@ -677,6 +678,7 @@ int main(int argc,char * argv[])
strcpy(Principal_Nom_fichier,"phoenix.img");
chdir(Principal_Repertoire_fichier);
Bouton_Reload();
Principal_Image_modifiee=1;
Warning_message("Main page recovered");
// I don't really like this, but...
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))
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)
{