Fix issue 46 : part 2

in Error(0) the palette was not properly restored
as it was always restored to the Main_palette.
Now we really restore the right palette !

Also clarified/simplified the change directory code in case of error.

http://pulkomandy.tk/projects/GrafX2/ticket/46
This commit is contained in:
Thomas Bernard
2018-01-20 23:59:41 +01:00
parent e078b3afe1
commit 08e3c6bebf
4 changed files with 42 additions and 28 deletions

View File

@@ -137,6 +137,7 @@ void Warning_function(const char *message, const char *filename, int line_number
void Error_function(int error_code, const char *filename, int line_number, const char *function_name)
{
T_Palette temp_palette;
T_Palette backup_palette;
int index;
printf("Error number %d occured in file %s, line %d, function %s.\n", error_code, filename,line_number,function_name);
@@ -144,12 +145,13 @@ void Error_function(int error_code, const char *filename, int line_number, const
{
// L'erreur 0 n'est pas une vraie erreur, elle fait seulement un flash rouge de l'écran pour dire qu'il y a un problème.
// Toutes les autres erreurs déclenchent toujours une sortie en catastrophe du programme !
memcpy(temp_palette,Main_palette,sizeof(T_Palette));
memcpy(backup_palette, Get_current_palette(), sizeof(T_Palette));
memcpy(temp_palette, backup_palette, sizeof(T_Palette));
for (index=0;index<=255;index++)
temp_palette[index].R=255;
Set_palette(temp_palette);
Delay_with_active_mouse(50); // Half a second of red flash
Set_palette(Main_palette);
Set_palette(backup_palette);
}
else
{