All code ready for mass translation

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@691 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2009-03-23 18:08:42 +00:00
parent f8c7c6730b
commit 346d940889
51 changed files with 1772 additions and 1773 deletions

78
aide.c
View File

@ -233,8 +233,8 @@ void Fenetre_controle(int NumeroControle)
void Afficher_aide(void) void Afficher_aide(void)
{ {
short X; // Indices d'affichage d'un caractère short x; // Indices d'affichage d'un caractère
short Y; short y;
short Position_X; // Parcours de remplissage du buffer de ligne short Position_X; // Parcours de remplissage du buffer de ligne
short Indice_de_ligne; // 0-15 (16 lignes de textes) short Indice_de_ligne; // 0-15 (16 lignes de textes)
short Indice_de_caractere; // Parcours des caractères d'une ligne short Indice_de_caractere; // Parcours des caractères d'une ligne
@ -298,7 +298,7 @@ void Afficher_aide(void)
width = width*2; width = width*2;
// Pour chaque ligne dans la fenêtre: // Pour chaque ligne dans la fenêtre:
for (Y=0;Y<8;Y++) for (y=0;y<8;y++)
{ {
Position_X=0; Position_X=0;
// On crée une nouvelle ligne à splotcher // On crée une nouvelle ligne à splotcher
@ -332,10 +332,10 @@ void Afficher_aide(void)
else else
char_pixel=&(Fonte_help_norm['!'][0][0]); // Un garde-fou en cas de probleme char_pixel=&(Fonte_help_norm['!'][0][0]); // Un garde-fou en cas de probleme
for (X=0;X<6;X++) for (x=0;x<6;x++)
for (Repeat_Menu_Facteur_X=0;Repeat_Menu_Facteur_X<Menu_Facteur_X;Repeat_Menu_Facteur_X++) for (Repeat_Menu_Facteur_X=0;Repeat_Menu_Facteur_X<Menu_Facteur_X;Repeat_Menu_Facteur_X++)
{ {
byte Couleur = *(char_pixel+X+Y*6); byte Couleur = *(char_pixel+x+y*6);
byte Repetition = Pixel_width-1; byte Repetition = Pixel_width-1;
// Surlignement pour liens // Surlignement pour liens
if (TypeLigne=='K' && Indice_de_caractere>=Position_lien if (TypeLigne=='K' && Indice_de_caractere>=Position_lien
@ -345,7 +345,7 @@ void Afficher_aide(void)
Couleur=CM_Blanc; Couleur=CM_Blanc;
else if (Couleur == CM_Fonce) else if (Couleur == CM_Fonce)
Couleur=CM_Clair; Couleur=CM_Clair;
else if (Y<7) else if (y<7)
Couleur=CM_Fonce; Couleur=CM_Fonce;
} }
Buffer_de_ligne_horizontale[Position_X++]=Couleur; Buffer_de_ligne_horizontale[Position_X++]=Couleur;
@ -371,12 +371,12 @@ void Afficher_aide(void)
} }
void Scroller_aide(T_Bouton_scroller * Scroller) void Scroller_aide(T_Bouton_scroller * scroller)
{ {
Effacer_curseur(); Effacer_curseur();
Scroller->Position=Position_d_aide_en_cours; scroller->Position=Position_d_aide_en_cours;
Calculer_hauteur_curseur_jauge(Scroller); Calculer_hauteur_curseur_jauge(scroller);
Fenetre_Dessiner_jauge(Scroller); Fenetre_Dessiner_jauge(scroller);
Afficher_aide(); Afficher_aide();
Afficher_curseur(); Afficher_curseur();
} }
@ -400,19 +400,19 @@ void Bouton_Aide(void)
} }
// Ouvre l'ecran d'aide. Passer -1 pour la section par défaut (ou derniere,) // Ouvre l'ecran d'aide. Passer -1 pour la section par défaut (ou derniere,)
// Ou un nombre de l'enumération NUMEROS_DE_BOUTONS pour l'aide contextuelle. // Ou un nombre de l'enumération NUMEROS_DE_BOUTONS pour l'aide contextuelle.
void Fenetre_aide(int Section, const char *Sous_section) void Fenetre_aide(int section, const char *Sous_section)
{ {
short Bouton_clicke; short Bouton_clicke;
short Nb_lignes; short Nb_lignes;
T_Bouton_scroller * Scroller; T_Bouton_scroller * scroller;
if (Section!=-1) if (section!=-1)
{ {
Section_d_aide_en_cours = 4 + Section; Section_d_aide_en_cours = 4 + section;
Position_d_aide_en_cours = 0; Position_d_aide_en_cours = 0;
} }
Nb_lignes=Table_d_aide[Section_d_aide_en_cours].Nombre_de_lignes; Nb_lignes=Table_d_aide[Section_d_aide_en_cours].Nombre_de_lignes;
if (Section!=-1 && Sous_section!=NULL) if (section!=-1 && Sous_section!=NULL)
{ {
int Indice=0; int Indice=0;
for (Indice=0; Indice<Nb_lignes; Indice++) for (Indice=0; Indice<Nb_lignes; Indice++)
@ -434,7 +434,7 @@ void Fenetre_aide(int Section, const char *Sous_section)
Menu_Facteur_X*272,Menu_Facteur_Y*130,CM_Noir); Menu_Facteur_X*272,Menu_Facteur_Y*130,CM_Noir);
Fenetre_Definir_bouton_normal(266,153,35,14,"Exit",0,1,TOUCHE_ESC); // 1 Fenetre_Definir_bouton_normal(266,153,35,14,"Exit",0,1,TOUCHE_ESC); // 1
Scroller=Fenetre_Definir_bouton_scroller(290,18,130,Nb_lignes, scroller=Fenetre_Definir_bouton_scroller(290,18,130,Nb_lignes,
16,Position_d_aide_en_cours); // 2 16,Position_d_aide_en_cours); // 2
Fenetre_Definir_bouton_normal( 9,154, 6*8,14,"About" ,1,1,SDLK_a); // 3 Fenetre_Definir_bouton_normal( 9,154, 6*8,14,"About" ,1,1,SDLK_a); // 3
@ -492,10 +492,10 @@ void Fenetre_aide(int Section, const char *Sous_section)
Section_d_aide_en_cours=Bouton_clicke-3; Section_d_aide_en_cours=Bouton_clicke-3;
Position_d_aide_en_cours=0; Position_d_aide_en_cours=0;
Nb_lignes=Table_d_aide[Section_d_aide_en_cours].Nombre_de_lignes; Nb_lignes=Table_d_aide[Section_d_aide_en_cours].Nombre_de_lignes;
Scroller->Position=0; scroller->Position=0;
Scroller->Nb_elements=Nb_lignes; scroller->Nb_elements=Nb_lignes;
Calculer_hauteur_curseur_jauge(Scroller); Calculer_hauteur_curseur_jauge(scroller);
Fenetre_Dessiner_jauge(Scroller); Fenetre_Dessiner_jauge(scroller);
} }
else else
Position_d_aide_en_cours=Fenetre_Attribut2; Position_d_aide_en_cours=Fenetre_Attribut2;
@ -511,13 +511,13 @@ void Fenetre_aide(int Section, const char *Sous_section)
case SDLK_UP : // Haut case SDLK_UP : // Haut
if (Position_d_aide_en_cours>0) if (Position_d_aide_en_cours>0)
Position_d_aide_en_cours--; Position_d_aide_en_cours--;
Scroller_aide(Scroller); Scroller_aide(scroller);
Touche=0; Touche=0;
break; break;
case SDLK_DOWN : // Bas case SDLK_DOWN : // Bas
if (Position_d_aide_en_cours<Nb_lignes-16) if (Position_d_aide_en_cours<Nb_lignes-16)
Position_d_aide_en_cours++; Position_d_aide_en_cours++;
Scroller_aide(Scroller); Scroller_aide(scroller);
Touche=0; Touche=0;
break; break;
case SDLK_PAGEUP : // PageUp case SDLK_PAGEUP : // PageUp
@ -525,7 +525,7 @@ void Fenetre_aide(int Section, const char *Sous_section)
Position_d_aide_en_cours-=15; Position_d_aide_en_cours-=15;
else else
Position_d_aide_en_cours=0; Position_d_aide_en_cours=0;
Scroller_aide(Scroller); Scroller_aide(scroller);
Touche=0; Touche=0;
break; break;
case (TOUCHE_MOUSEWHEELUP) : // WheelUp case (TOUCHE_MOUSEWHEELUP) : // WheelUp
@ -533,7 +533,7 @@ void Fenetre_aide(int Section, const char *Sous_section)
Position_d_aide_en_cours-=3; Position_d_aide_en_cours-=3;
else else
Position_d_aide_en_cours=0; Position_d_aide_en_cours=0;
Scroller_aide(Scroller); Scroller_aide(scroller);
Touche=0; Touche=0;
break; break;
case SDLK_PAGEDOWN : // PageDown case SDLK_PAGEDOWN : // PageDown
@ -543,7 +543,7 @@ void Fenetre_aide(int Section, const char *Sous_section)
Position_d_aide_en_cours+=15; Position_d_aide_en_cours+=15;
else else
Position_d_aide_en_cours=Nb_lignes-16; Position_d_aide_en_cours=Nb_lignes-16;
Scroller_aide(Scroller); Scroller_aide(scroller);
Touche=0; Touche=0;
} }
break; break;
@ -554,20 +554,20 @@ void Fenetre_aide(int Section, const char *Sous_section)
Position_d_aide_en_cours+=3; Position_d_aide_en_cours+=3;
else else
Position_d_aide_en_cours=Nb_lignes-16; Position_d_aide_en_cours=Nb_lignes-16;
Scroller_aide(Scroller); Scroller_aide(scroller);
Touche=0; Touche=0;
} }
break; break;
case SDLK_HOME : // Home case SDLK_HOME : // Home
Position_d_aide_en_cours=0; Position_d_aide_en_cours=0;
Scroller_aide(Scroller); Scroller_aide(scroller);
Touche=0; Touche=0;
break; break;
case SDLK_END : // End case SDLK_END : // End
if (Nb_lignes>16) if (Nb_lignes>16)
{ {
Position_d_aide_en_cours=Nb_lignes-16; Position_d_aide_en_cours=Nb_lignes-16;
Scroller_aide(Scroller); Scroller_aide(scroller);
Touche=0; Touche=0;
} }
break; break;
@ -591,7 +591,7 @@ void Bouton_Stats(void)
char Buffer[37]; char Buffer[37];
dword Utilisation_couleur[256]; dword Utilisation_couleur[256];
unsigned long long freeRam; unsigned long long freeRam;
qword Taille = 0; qword mem_size = 0;
Ouvrir_fenetre(310,174,"Statistics"); Ouvrir_fenetre(310,174,"Statistics");
@ -636,29 +636,29 @@ void Bouton_Stats(void)
{ {
ULARGE_INTEGER tailleU; ULARGE_INTEGER tailleU;
GetDiskFreeSpaceEx(Principal_Repertoire_courant,&tailleU,NULL,NULL); GetDiskFreeSpaceEx(Principal_Repertoire_courant,&tailleU,NULL,NULL);
Taille = tailleU.QuadPart; mem_size = tailleU.QuadPart;
} }
#elif defined(__linux__) || defined(__macosx__) || defined(__FreeBSD__) #elif defined(__linux__) || defined(__macosx__) || defined(__FreeBSD__)
// Note: under MacOSX, both macros are defined anyway. // Note: under MacOSX, both macros are defined anyway.
{ {
struct statfs Informations_Disque; struct statfs Informations_Disque;
statfs(Principal_Repertoire_courant,&Informations_Disque); statfs(Principal_Repertoire_courant,&Informations_Disque);
Taille=(qword) Informations_Disque.f_bfree * (qword) Informations_Disque.f_bsize; mem_size=(qword) Informations_Disque.f_bfree * (qword) Informations_Disque.f_bsize;
} }
#else #else
// Free disk space is only for shows. Other platforms can display 0. // Free disk space is only for shows. Other platforms can display 0.
#warning "Missing code for your platform !!! Check and correct please :)" #warning "Missing code for your platform !!! Check and correct please :)"
Taille=0; mem_size=0;
#endif #endif
if(Taille > (100ULL*1024*1024*1024)) if(mem_size > (100ULL*1024*1024*1024))
sprintf(Buffer,"%u Gigabytes",(unsigned int)(Taille/(1024*1024*1024))); sprintf(Buffer,"%u Gigabytes",(unsigned int)(mem_size/(1024*1024*1024)));
else if(Taille > (100*1024*1024)) else if(mem_size > (100*1024*1024))
sprintf(Buffer,"%u Megabytes",(unsigned int)(Taille/(1024*1024))); sprintf(Buffer,"%u Megabytes",(unsigned int)(mem_size/(1024*1024)));
else if(Taille > (100*1024)) else if(mem_size > (100*1024))
sprintf(Buffer,"%u Kilobytes",(unsigned int)(Taille/1024)); sprintf(Buffer,"%u Kilobytes",(unsigned int)(mem_size/1024));
else else
sprintf(Buffer,"%u bytes",(unsigned int)Taille); sprintf(Buffer,"%u bytes",(unsigned int)mem_size);
Print_dans_fenetre(146,67,Buffer,STATS_COULEUR_DONNEES,CM_Noir); Print_dans_fenetre(146,67,Buffer,STATS_COULEUR_DONNEES,CM_Noir);
// Affichage des informations sur l'image // Affichage des informations sur l'image

4
aide.h
View File

@ -36,10 +36,10 @@ void Bouton_Stats(void);
/*! /*!
Displays and runs the "Help / About..." window Displays and runs the "Help / About..." window
@param Section Number of the help section page to display (equals the button number the mouse was hovering for the contextual help), -1 for the main help page. @param section Number of the help section page to display (equals the button number the mouse was hovering for the contextual help), -1 for the main help page.
@param Sous_section Help sub-section title (the page will be scrolled so this title is at the top). @param Sous_section Help sub-section title (the page will be scrolled so this title is at the top).
*/ */
void Fenetre_aide(int Section, const char * Sous_section); void Fenetre_aide(int section, const char * Sous_section);
#endif #endif

100
boutons.c
View File

@ -54,7 +54,7 @@
#define FILENAMESPACE 13 #define FILENAMESPACE 13
#define Display_Window(X,Y) UpdateRect(Fenetre_Pos_X,Fenetre_Pos_Y,X*Menu_Facteur_X,Y*Menu_Facteur_Y); #define Display_Window(x,y) UpdateRect(Fenetre_Pos_X,Fenetre_Pos_Y,(x)*Menu_Facteur_X,(y)*Menu_Facteur_Y);
extern short Old_MX; extern short Old_MX;
extern short Old_MY; extern short Old_MY;
@ -148,7 +148,7 @@ void Message_Memoire_insuffisante(void)
void Bouton_Message_initial(void) void Bouton_Message_initial(void)
{ {
char Chaine[21]; char Chaine[21];
int x_pos,Offs_Y,X,Y; int x_pos,Offs_Y,x,y;
sprintf(Chaine,"GrafX %d.%.2d%s%s",VERSION1, VERSION2, ALPHA_BETA,POURCENTAGE_VERSION); sprintf(Chaine,"GrafX %d.%.2d%s%s",VERSION1, VERSION2, ALPHA_BETA,POURCENTAGE_VERSION);
Ouvrir_fenetre(260,172,Chaine); Ouvrir_fenetre(260,172,Chaine);
@ -157,9 +157,9 @@ void Bouton_Message_initial(void)
Block(Fenetre_Pos_X+(Menu_Facteur_X*11), Block(Fenetre_Pos_X+(Menu_Facteur_X*11),
Fenetre_Pos_Y+(Menu_Facteur_Y*21), Fenetre_Pos_Y+(Menu_Facteur_Y*21),
Menu_Facteur_X*237,Menu_Facteur_Y*60,CM_Noir); Menu_Facteur_X*237,Menu_Facteur_Y*60,CM_Noir);
for (Y=23,Offs_Y=0; Y<79; Offs_Y+=231,Y++) for (y=23,Offs_Y=0; y<79; Offs_Y+=231,y++)
for (X=14,x_pos=0; x_pos<231; x_pos++,X++) for (x=14,x_pos=0; x_pos<231; x_pos++,x++)
Pixel_dans_fenetre(X,Y,Logo_GrafX2[Offs_Y+x_pos]); Pixel_dans_fenetre(x,y,Logo_GrafX2[Offs_Y+x_pos]);
Print_dans_fenetre(130-4*21,88,"Copyright (c) 2007 by",CM_Fonce,CM_Clair); Print_dans_fenetre(130-4*21,88,"Copyright (c) 2007 by",CM_Fonce,CM_Clair);
Print_dans_fenetre(130-4*23,96,"the Grafx2 project team",CM_Noir,CM_Clair); Print_dans_fenetre(130-4*23,96,"the Grafx2 project team",CM_Noir,CM_Clair);
@ -337,7 +337,7 @@ void Bouton_Choix_backcolor(void)
//---------------------- Cacher ou réafficher le menu ------------------------ //---------------------- Cacher ou réafficher le menu ------------------------
void Pixel_dans_barre_d_outil_cachee(__attribute__((unused)) word X,__attribute__((unused)) word Y,__attribute__((unused)) byte Couleur) void Pixel_dans_barre_d_outil_cachee(__attribute__((unused)) word x,__attribute__((unused)) word y,__attribute__((unused)) byte Couleur)
{ {
// C'est fait exprès que ce soit vide... // C'est fait exprès que ce soit vide...
// C'est parce que y'a rien du tout à afficher vu que la barre d'outil est // C'est parce que y'a rien du tout à afficher vu que la barre d'outil est
@ -529,7 +529,7 @@ void Bouton_Clear_colore(void)
} }
//---------- Menu dans lequel on tagge des couleurs (genre Stencil) ---------- //---------- Menu dans lequel on tagge des couleurs (genre Stencil) ----------
void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * mode, byte can_cancel, const char *Section_aide) void Menu_Tag_couleurs(char * En_tete, byte * table, byte * mode, byte can_cancel, const char *Section_aide)
{ {
short Bouton_clicke; short Bouton_clicke;
byte Backup_table[256]; byte Backup_table[256];
@ -552,14 +552,14 @@ void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * mode, byte can_cance
Fenetre_Definir_bouton_normal(91,129,78,14,"OK" ,0,1,SDLK_RETURN); // 4 Fenetre_Definir_bouton_normal(91,129,78,14,"OK" ,0,1,SDLK_RETURN); // 4
Fenetre_Definir_bouton_normal( 7,129,78,14,"Cancel",0,1,TOUCHE_ESC); // 5 Fenetre_Definir_bouton_normal( 7,129,78,14,"Cancel",0,1,TOUCHE_ESC); // 5
// On enregistre la table dans un backup au cas où on ferait Cancel // On enregistre la table dans un backup au cas où on ferait Cancel
memcpy(Backup_table,Table,256); memcpy(Backup_table,table,256);
} }
else else
Fenetre_Definir_bouton_normal(49,129,78,14,"OK" ,0,1,SDLK_RETURN); // 4 Fenetre_Definir_bouton_normal(49,129,78,14,"OK" ,0,1,SDLK_RETURN); // 4
// On affiche l'état actuel de la table // On affiche l'état actuel de la table
for (Indice=0; Indice<=255; Indice++) for (Indice=0; Indice<=255; Indice++)
Stencil_Tagger_couleur(Indice, (Table[Indice])?CM_Noir:CM_Clair); Stencil_Tagger_couleur(Indice, (table[Indice])?CM_Noir:CM_Clair);
Display_Window(176,150); Display_Window(176,150);
Afficher_curseur(); Afficher_curseur();
@ -582,14 +582,14 @@ void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * mode, byte can_cance
{ {
Effacer_curseur(); Effacer_curseur();
Couleur_taggee=(Bouton_clicke==1) ? Fenetre_Attribut2 : Lit_pixel(Mouse_X,Mouse_Y); Couleur_taggee=(Bouton_clicke==1) ? Fenetre_Attribut2 : Lit_pixel(Mouse_X,Mouse_Y);
Table[Couleur_taggee]=(Mouse_K==A_GAUCHE); table[Couleur_taggee]=(Mouse_K==A_GAUCHE);
Stencil_Tagger_couleur(Couleur_taggee,(Mouse_K==A_GAUCHE)?CM_Noir:CM_Clair); Stencil_Tagger_couleur(Couleur_taggee,(Mouse_K==A_GAUCHE)?CM_Noir:CM_Clair);
Afficher_curseur(); Afficher_curseur();
Stencil_Actualiser_couleur(Couleur_taggee); Stencil_Actualiser_couleur(Couleur_taggee);
} }
break; break;
case 2 : // Clear case 2 : // Clear
memset(Table,0,256); memset(table,0,256);
Effacer_curseur(); Effacer_curseur();
for (Indice=0; Indice<=255; Indice++) for (Indice=0; Indice<=255; Indice++)
Stencil_Tagger_couleur(Indice,CM_Clair); Stencil_Tagger_couleur(Indice,CM_Clair);
@ -599,7 +599,7 @@ void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * mode, byte can_cance
case 3 : // Invert case 3 : // Invert
Effacer_curseur(); Effacer_curseur();
for (Indice=0; Indice<=255; Indice++) for (Indice=0; Indice<=255; Indice++)
Stencil_Tagger_couleur(Indice,(Table[Indice]^=1)?CM_Noir:CM_Clair); Stencil_Tagger_couleur(Indice,(table[Indice]^=1)?CM_Noir:CM_Clair);
Afficher_curseur(); Afficher_curseur();
Display_Window(Fenetre_Largeur, Fenetre_Hauteur); Display_Window(Fenetre_Largeur, Fenetre_Hauteur);
} }
@ -614,7 +614,7 @@ void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * mode, byte can_cance
{ {
Effacer_curseur(); Effacer_curseur();
Couleur_taggee=Couleur; Couleur_taggee=Couleur;
Table[Couleur_taggee]=(click==A_GAUCHE); table[Couleur_taggee]=(click==A_GAUCHE);
Stencil_Tagger_couleur(Couleur_taggee,(click==A_GAUCHE)?CM_Noir:CM_Clair); Stencil_Tagger_couleur(Couleur_taggee,(click==A_GAUCHE)?CM_Noir:CM_Clair);
Stencil_Actualiser_couleur(Couleur_taggee); Stencil_Actualiser_couleur(Couleur_taggee);
Afficher_curseur(); Afficher_curseur();
@ -636,7 +636,7 @@ void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * mode, byte can_cance
Fermer_fenetre(); Fermer_fenetre();
if (Bouton_clicke==5) // Cancel if (Bouton_clicke==5) // Cancel
memcpy(Table,Backup_table,256); memcpy(table,Backup_table,256);
else // OK else // OK
*mode=1; *mode=1;
@ -1278,7 +1278,7 @@ void Afficher_liste_modes(short Debut_liste, short Position_curseur)
short y_pos; short y_pos;
byte Couleur_texte,Couleur_fond; byte Couleur_texte,Couleur_fond;
char Chaine[29]; char Chaine[29];
char *Ratio; char *ratio;
for (Mode_courant=Debut_liste,Indice=0; Indice<12 && Mode_courant < Nb_modes_video ; Indice++,Mode_courant++) for (Mode_courant=Debut_liste,Indice=0; Indice<12 && Mode_courant < Nb_modes_video ; Indice++,Mode_courant++)
{ {
@ -1311,27 +1311,27 @@ void Afficher_liste_modes(short Debut_liste, short Position_curseur)
memcpy(Chaine+9," Window ",13); memcpy(Chaine+9," Window ",13);
if (Mode_video[Mode_courant].Width*3 == Mode_video[Mode_courant].Height*4) if (Mode_video[Mode_courant].Width*3 == Mode_video[Mode_courant].Height*4)
Ratio=" 4:3"; ratio=" 4:3";
else if (Mode_video[Mode_courant].Width*9 == Mode_video[Mode_courant].Height*16) else if (Mode_video[Mode_courant].Width*9 == Mode_video[Mode_courant].Height*16)
Ratio=" 16:9"; ratio=" 16:9";
else if (Mode_video[Mode_courant].Width*10 == Mode_video[Mode_courant].Height*16) else if (Mode_video[Mode_courant].Width*10 == Mode_video[Mode_courant].Height*16)
Ratio=" 16:10"; ratio=" 16:10";
else if (Mode_video[Mode_courant].Width*145 == Mode_video[Mode_courant].Height*192) else if (Mode_video[Mode_courant].Width*145 == Mode_video[Mode_courant].Height*192)
Ratio="192:145"; ratio="192:145";
else if (Mode_video[Mode_courant].Width*2 == Mode_video[Mode_courant].Height*3) else if (Mode_video[Mode_courant].Width*2 == Mode_video[Mode_courant].Height*3)
Ratio=" 3:2"; ratio=" 3:2";
else if (Mode_video[Mode_courant].Width*3 == Mode_video[Mode_courant].Height*5) else if (Mode_video[Mode_courant].Width*3 == Mode_video[Mode_courant].Height*5)
Ratio=" 5:3"; ratio=" 5:3";
else if (Mode_video[Mode_courant].Width*4 == Mode_video[Mode_courant].Height*5) else if (Mode_video[Mode_courant].Width*4 == Mode_video[Mode_courant].Height*5)
Ratio=" 5:4"; ratio=" 5:4";
else if (Mode_video[Mode_courant].Width*16 == Mode_video[Mode_courant].Height*25) else if (Mode_video[Mode_courant].Width*16 == Mode_video[Mode_courant].Height*25)
Ratio=" 25:16"; ratio=" 25:16";
else else
Ratio=" "; ratio=" ";
if (Mode_courant == 0) if (Mode_courant == 0)
Ratio=" "; ratio=" ";
strcat(Chaine,Ratio); strcat(Chaine,ratio);
Print_dans_fenetre(38,y_pos,Chaine,Couleur_texte,Couleur_fond); Print_dans_fenetre(38,y_pos,Chaine,Couleur_texte,Couleur_fond);
} }
@ -1768,7 +1768,7 @@ void Bouton_Ellipse_pleine(void)
// -- Gestion du menu des dégradés ------------------------------------------ // -- Gestion du menu des dégradés ------------------------------------------
void Degrade_Dessiner_bouton_de_technique(short x_pos,short y_pos,int Technique) void Degrade_Dessiner_bouton_de_technique(short x_pos,short y_pos,int technique)
{ {
short line; short line;
@ -1784,7 +1784,7 @@ void Degrade_Dessiner_bouton_de_technique(short x_pos,short y_pos,int Technique)
Menu_Facteur_X*5, Menu_Facteur_X*5,
Menu_Facteur_Y*10,CM_Blanc); Menu_Facteur_Y*10,CM_Blanc);
switch(Technique) switch(technique)
{ {
case 1 : // Dégradé de trames simples case 1 : // Dégradé de trames simples
// Au centre, on place 10 lignes tramées simplement // Au centre, on place 10 lignes tramées simplement
@ -4361,7 +4361,7 @@ byte Smooth_Matrice_defaut[4][3][3]=
void Bouton_Smooth_Menu(void) void Bouton_Smooth_Menu(void)
{ {
short Bouton_clicke; short Bouton_clicke;
short X,Y,i,j; short x,y,i,j;
byte Matrice_choisie[3][3]; byte Matrice_choisie[3][3];
T_Bouton_special * Matrice_Zone_saisie[3][3]; T_Bouton_special * Matrice_Zone_saisie[3][3];
char Chaine[3]; char Chaine[3];
@ -4372,12 +4372,12 @@ void Bouton_Smooth_Menu(void)
Fenetre_Definir_bouton_normal(82,88,53,14,"OK" ,0,1,SDLK_RETURN); // 2 Fenetre_Definir_bouton_normal(82,88,53,14,"OK" ,0,1,SDLK_RETURN); // 2
Fenetre_Afficher_cadre(6,17,130,37); Fenetre_Afficher_cadre(6,17,130,37);
for (X=11,Y=0; Y<4; X+=31,Y++) for (x=11,y=0; y<4; x+=31,y++)
{ {
Fenetre_Definir_bouton_normal(X,22,27,27,"",0,1,SDLK_LAST); // 3,4,5,6 Fenetre_Definir_bouton_normal(x,22,27,27,"",0,1,SDLK_LAST); // 3,4,5,6
for (j=0; j<3; j++) for (j=0; j<3; j++)
for (i=0; i<3; i++) for (i=0; i<3; i++)
Print_char_dans_fenetre(X+2+(i<<3),24+(j<<3),'0'+Smooth_Matrice_defaut[Y][i][j],CM_Noir,CM_Clair); Print_char_dans_fenetre(x+2+(i<<3),24+(j<<3),'0'+Smooth_Matrice_defaut[y][i][j],CM_Noir,CM_Clair);
} }
Fenetre_Afficher_cadre(6,58, 69,45); Fenetre_Afficher_cadre(6,58, 69,45);
@ -4412,12 +4412,12 @@ void Bouton_Smooth_Menu(void)
} }
else else
{ {
i=Bouton_clicke-7; X=i%3; Y=i/3; i=Bouton_clicke-7; x=i%3; y=i/3;
Num2str(Matrice_choisie[X][Y],Chaine,2); Num2str(Matrice_choisie[x][y],Chaine,2);
Readline(Matrice_Zone_saisie[X][Y]->Pos_X+2, Readline(Matrice_Zone_saisie[x][y]->Pos_X+2,
Matrice_Zone_saisie[X][Y]->Pos_Y+2, Matrice_Zone_saisie[x][y]->Pos_Y+2,
Chaine,2,1); Chaine,2,1);
Matrice_choisie[X][Y]=atoi(Chaine); Matrice_choisie[x][y]=atoi(Chaine);
Afficher_curseur(); Afficher_curseur();
} }
} }
@ -5184,9 +5184,9 @@ void Inverser_trame(void)
} }
// Rafraichit toute la zone correspondant à la trame zoomee. // Rafraichit toute la zone correspondant à la trame zoomee.
void Mettre_a_jour_trame(short X, short Y) void Mettre_a_jour_trame(short x, short y)
{ {
UpdateRect(X,Y,80*Menu_Facteur_X,80*Menu_Facteur_Y); UpdateRect(x,y,80*Menu_Facteur_X,80*Menu_Facteur_Y);
} }
@ -5592,26 +5592,26 @@ void Bouton_Ajuster(void)
void Afficher_sprite_effet(short Numero_sprite, short Debut_X, short Debut_Y) void Afficher_sprite_effet(short Numero_sprite, short Debut_X, short Debut_Y)
{ {
short X,Y,x_pos,y_pos; short x,y,x_pos,y_pos;
for (Y=0,y_pos=Debut_Y;Y<HAUTEUR_SPRITE_MENU;Y++,y_pos++) for (y=0,y_pos=Debut_Y;y<HAUTEUR_SPRITE_MENU;y++,y_pos++)
for (X=0,x_pos=Debut_X;X<LARGEUR_SPRITE_MENU;X++,x_pos++) for (x=0,x_pos=Debut_X;x<LARGEUR_SPRITE_MENU;x++,x_pos++)
Pixel_dans_fenetre(x_pos,y_pos,SPRITE_EFFET[Numero_sprite][Y][X]); Pixel_dans_fenetre(x_pos,y_pos,SPRITE_EFFET[Numero_sprite][y][x]);
UpdateRect(ToWinX(Debut_X),ToWinY(Debut_Y),LARGEUR_SPRITE_MENU*Menu_Facteur_X,HAUTEUR_SPRITE_MENU*Menu_Facteur_Y); UpdateRect(ToWinX(Debut_X),ToWinY(Debut_Y),LARGEUR_SPRITE_MENU*Menu_Facteur_X,HAUTEUR_SPRITE_MENU*Menu_Facteur_Y);
} }
void Afficher_etat_effet(short X, short Y, char * label, byte state) void Afficher_etat_effet(short x, short y, char * label, byte state)
{ {
Block(Fenetre_Pos_X+(X*Menu_Facteur_X),Fenetre_Pos_Y+(Y*Menu_Facteur_Y), Block(Fenetre_Pos_X+(x*Menu_Facteur_X),Fenetre_Pos_Y+(y*Menu_Facteur_Y),
12*Menu_Facteur_X,Menu_Facteur_Y<<3,CM_Clair); 12*Menu_Facteur_X,Menu_Facteur_Y<<3,CM_Clair);
Print_dans_fenetre(X,Y,label,(state)?CM_Blanc:CM_Noir,CM_Clair); Print_dans_fenetre(x,y,label,(state)?CM_Blanc:CM_Noir,CM_Clair);
if (state) if (state)
Print_dans_fenetre(X+56,Y,":ON ",CM_Blanc,CM_Clair); Print_dans_fenetre(x+56,y,":ON ",CM_Blanc,CM_Clair);
else else
Print_dans_fenetre(X+56,Y,":OFF",CM_Noir,CM_Clair); Print_dans_fenetre(x+56,y,":OFF",CM_Noir,CM_Clair);
} }
void Afficher_etat_effets(void) void Afficher_etat_effets(void)
@ -5920,12 +5920,12 @@ void Bouton_Effets(void)
} }
// Affiche tout le selecteur de fontes // Affiche tout le selecteur de fontes
void Dessiner_selecteur_fontes(short X, short Y, short Debut_liste, short Position_curseur, short Nombre_visibles) void Dessiner_selecteur_fontes(short x, short y, short Debut_liste, short Position_curseur, short Nombre_visibles)
{ {
int Indice; int Indice;
for (Indice=0; Indice < Nombre_visibles; Indice++) for (Indice=0; Indice < Nombre_visibles; Indice++)
{ {
Print_dans_fenetre(X,Y+Indice*8,Libelle_fonte(Indice+Debut_liste), CM_Noir, (Position_curseur==Indice)?CM_Fonce:CM_Clair); Print_dans_fenetre(x,y+Indice*8,Libelle_fonte(Indice+Debut_liste), CM_Noir, (Position_curseur==Indice)?CM_Fonce:CM_Clair);
} }
} }

View File

@ -622,7 +622,7 @@ void Save_picture(byte image);
/*! /*!
Generic color tagging menu, for various effects. Generic color tagging menu, for various effects.
*/ */
void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * mode, byte can_cancel, const char *Section_aide); void Menu_Tag_couleurs(char * En_tete, byte * table, byte * mode, byte can_cancel, const char *Section_aide);
/*! /*!

166
brush.c
View File

@ -37,64 +37,64 @@
// Calcul de redimensionnement du pinceau pour éviter les débordements de // Calcul de redimensionnement du pinceau pour éviter les débordements de
// l'écran et de l'image // l'écran et de l'image
void Calculer_dimensions_clipees(short * X,short * Y,short * width,short * height) void Calculer_dimensions_clipees(short * x,short * y,short * width,short * height)
{ {
if ((*X)<Limite_Gauche) if ((*x)<Limite_Gauche)
{ {
(*width)-=(Limite_Gauche-(*X)); (*width)-=(Limite_Gauche-(*x));
(*X)=Limite_Gauche; (*x)=Limite_Gauche;
} }
if (((*X)+(*width))>(Limite_Droite+1)) if (((*x)+(*width))>(Limite_Droite+1))
{ {
(*width)=(Limite_Droite-(*X))+1; (*width)=(Limite_Droite-(*x))+1;
} }
if ((*Y)<Limite_Haut) if ((*y)<Limite_Haut)
{ {
(*height)-=(Limite_Haut-(*Y)); (*height)-=(Limite_Haut-(*y));
(*Y)=Limite_Haut; (*y)=Limite_Haut;
} }
if (((*Y)+(*height))>(Limite_Bas+1)) if (((*y)+(*height))>(Limite_Bas+1))
{ {
(*height)=(Limite_Bas-(*Y))+1; (*height)=(Limite_Bas-(*y))+1;
} }
} }
// -- Calcul de redimensionnement du pinceau pour éviter les débordements // -- Calcul de redimensionnement du pinceau pour éviter les débordements
// de l'écran zoomé et de l'image -- // de l'écran zoomé et de l'image --
void Calculer_dimensions_clipees_zoom(short * X,short * Y,short * width,short * height) void Calculer_dimensions_clipees_zoom(short * x,short * y,short * width,short * height)
{ {
if ((*X)<Limite_Gauche_Zoom) if ((*x)<Limite_Gauche_Zoom)
{ {
(*width)-=(Limite_Gauche_Zoom-(*X)); (*width)-=(Limite_Gauche_Zoom-(*x));
(*X)=Limite_Gauche_Zoom; (*x)=Limite_Gauche_Zoom;
} }
if (((*X)+(*width))>(Limite_Droite_Zoom+1)) if (((*x)+(*width))>(Limite_Droite_Zoom+1))
{ {
(*width)=(Limite_Droite_Zoom-(*X))+1; (*width)=(Limite_Droite_Zoom-(*x))+1;
} }
if ((*Y)<Limite_Haut_Zoom) if ((*y)<Limite_Haut_Zoom)
{ {
(*height)-=(Limite_Haut_Zoom-(*Y)); (*height)-=(Limite_Haut_Zoom-(*y));
(*Y)=Limite_Haut_Zoom; (*y)=Limite_Haut_Zoom;
} }
if (((*Y)+(*height))>(Limite_Bas_Zoom+1)) if (((*y)+(*height))>(Limite_Bas_Zoom+1))
{ {
(*height)=(Limite_Bas_Zoom-(*Y))+1; (*height)=(Limite_Bas_Zoom-(*y))+1;
} }
} }
// -- Afficher le pinceau (de façon définitive ou non) -- // -- Afficher le pinceau (de façon définitive ou non) --
void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview) void Afficher_pinceau(short x,short y,byte Couleur,byte is_preview)
// X,Y: position du centre du pinceau // x,y: position du centre du pinceau
// Couleur: couleur à appliquer au pinceau // Couleur: couleur à appliquer au pinceau
// is_preview: "Il ne faut l'afficher qu'à l'écran" // is_preview: "Il ne faut l'afficher qu'à l'écran"
{ {
@ -134,21 +134,21 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
&& (Pinceau_Y<=Limite_Bas) ) && (Pinceau_Y<=Limite_Bas) )
{ {
Pixel_Preview(Pinceau_X,Pinceau_Y,Couleur); Pixel_Preview(Pinceau_X,Pinceau_Y,Couleur);
Mettre_Ecran_A_Jour(X,Y,1,1); Mettre_Ecran_A_Jour(x,y,1,1);
} }
break; break;
case FORME_PINCEAU_BROSSE_COULEUR : // Brosse en couleur case FORME_PINCEAU_BROSSE_COULEUR : // Brosse en couleur
Debut_X=X-Brosse_Decalage_X; Debut_X=x-Brosse_Decalage_X;
Debut_Y=Y-Brosse_Decalage_Y; Debut_Y=y-Brosse_Decalage_Y;
width=Brosse_Largeur; width=Brosse_Largeur;
height=Brosse_Hauteur; height=Brosse_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height); Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
if (width<=0 || height<=0) if (width<=0 || height<=0)
break; break;
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X); Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y); Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width; Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height; Fin_Compteur_Y=Debut_Compteur_Y+height;
@ -172,8 +172,8 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
&height &height
); );
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X); Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y); Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
if ( (width>0) && (height>0) ) if ( (width>0) && (height>0) )
{ {
@ -192,7 +192,7 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
} }
} }
Mettre_Ecran_A_Jour(X-Brosse_Decalage_X,Y-Brosse_Decalage_Y,Brosse_Largeur,Brosse_Hauteur); Mettre_Ecran_A_Jour(x-Brosse_Decalage_X,y-Brosse_Decalage_Y,Brosse_Largeur,Brosse_Hauteur);
} }
else else
@ -267,13 +267,13 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
} }
break; break;
case FORME_PINCEAU_BROSSE_MONOCHROME : // Brosse monochrome case FORME_PINCEAU_BROSSE_MONOCHROME : // Brosse monochrome
Debut_X=X-Brosse_Decalage_X; Debut_X=x-Brosse_Decalage_X;
Debut_Y=Y-Brosse_Decalage_Y; Debut_Y=y-Brosse_Decalage_Y;
width=Brosse_Largeur; width=Brosse_Largeur;
height=Brosse_Hauteur; height=Brosse_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height); Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X); Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y); Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width; Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height; Fin_Compteur_Y=Debut_Compteur_Y+height;
if (is_preview) if (is_preview)
@ -289,8 +289,8 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
if (Loupe_Mode) if (Loupe_Mode)
{ {
Calculer_dimensions_clipees_zoom(&Debut_X,&Debut_Y,&width,&height); Calculer_dimensions_clipees_zoom(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X); Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y); Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
if ( (width>0) && (height>0) ) if ( (width>0) && (height>0) )
{ {
@ -311,7 +311,7 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
} }
} }
Mettre_Ecran_A_Jour(X-Brosse_Decalage_X,Y-Brosse_Decalage_Y,Brosse_Largeur,Brosse_Hauteur); Mettre_Ecran_A_Jour(x-Brosse_Decalage_X,y-Brosse_Decalage_Y,Brosse_Largeur,Brosse_Hauteur);
} }
else else
{ {
@ -369,13 +369,13 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
} }
break; break;
default : // Pinceau default : // Pinceau
Debut_X=X-Pinceau_Decalage_X; Debut_X=x-Pinceau_Decalage_X;
Debut_Y=Y-Pinceau_Decalage_Y; Debut_Y=y-Pinceau_Decalage_Y;
width=Pinceau_Largeur; width=Pinceau_Largeur;
height=Pinceau_Hauteur; height=Pinceau_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height); Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Pinceau_Decalage_X); Debut_Compteur_X=Debut_X-(x-Pinceau_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Pinceau_Decalage_Y); Debut_Compteur_Y=Debut_Y-(y-Pinceau_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width; Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height; Fin_Compteur_Y=Debut_Compteur_Y+height;
if (is_preview) if (is_preview)
@ -394,8 +394,8 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
if (Loupe_Mode) if (Loupe_Mode)
{ {
Calculer_dimensions_clipees_zoom(&Debut_X,&Debut_Y,&width,&height); Calculer_dimensions_clipees_zoom(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Pinceau_Decalage_X); Debut_Compteur_X=Debut_X-(x-Pinceau_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Pinceau_Decalage_Y); Debut_Compteur_Y=Debut_Y-(y-Pinceau_Decalage_Y);
if ( (width>0) && (height>0) ) if ( (width>0) && (height>0) )
{ {
@ -476,8 +476,8 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
// -- Effacer le pinceau -- // // -- Effacer le pinceau -- //
// //
void Effacer_pinceau(short X,short Y) void Effacer_pinceau(short x,short y)
// X,Y: position du centre du pinceau // x,y: position du centre du pinceau
{ {
short Debut_X; // Position X (dans l'image) à partir de laquelle on short Debut_X; // Position X (dans l'image) à partir de laquelle on
// affiche la brosse/pinceau // affiche la brosse/pinceau
@ -515,13 +515,13 @@ void Effacer_pinceau(short X,short Y)
break; break;
case FORME_PINCEAU_BROSSE_COULEUR : // Brosse en couleur case FORME_PINCEAU_BROSSE_COULEUR : // Brosse en couleur
case FORME_PINCEAU_BROSSE_MONOCHROME : // Brosse monochrome case FORME_PINCEAU_BROSSE_MONOCHROME : // Brosse monochrome
Debut_X=X-Brosse_Decalage_X; Debut_X=x-Brosse_Decalage_X;
Debut_Y=Y-Brosse_Decalage_Y; Debut_Y=y-Brosse_Decalage_Y;
width=Brosse_Largeur; width=Brosse_Largeur;
height=Brosse_Hauteur; height=Brosse_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height); Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X); Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y); Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width; Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height; Fin_Compteur_Y=Debut_Compteur_Y+height;
@ -556,13 +556,13 @@ void Effacer_pinceau(short X,short Y)
} }
break; break;
default: // Pinceau default: // Pinceau
Debut_X=X-Pinceau_Decalage_X; Debut_X=x-Pinceau_Decalage_X;
Debut_Y=Y-Pinceau_Decalage_Y; Debut_Y=y-Pinceau_Decalage_Y;
width=Pinceau_Largeur; width=Pinceau_Largeur;
height=Pinceau_Hauteur; height=Pinceau_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height); Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Pinceau_Decalage_X); Debut_Compteur_X=Debut_X-(x-Pinceau_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Pinceau_Decalage_Y); Debut_Compteur_Y=Debut_Y-(y-Pinceau_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width; Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height; Fin_Compteur_Y=Debut_Compteur_Y+height;
@ -1508,7 +1508,7 @@ void Calculer_quad_texture(int X1,int Y1,int Xt1,int Yt1,
byte * Buffer, int width, int height) byte * Buffer, int width, int height)
{ {
int Xmin,/*Xmax,*/Ymin/*,Ymax*/; int Xmin,/*Xmax,*/Ymin/*,Ymax*/;
int X,Y,Xt,Yt; int x,y,Xt,Yt;
int Debut_X,Fin_X,Largeur_ligne; int Debut_X,Fin_X,Largeur_ligne;
float Temp; float Temp;
//byte Couleur; //byte Couleur;
@ -1524,10 +1524,10 @@ void Calculer_quad_texture(int X1,int Y1,int Xt1,int Yt1,
ScanY_X[1] =(float *)malloc(height*sizeof(float)); ScanY_X[1] =(float *)malloc(height*sizeof(float));
// Remplir avec des valeurs égales à INDEFINI. // Remplir avec des valeurs égales à INDEFINI.
for (Y=0; Y<height; Y++) for (y=0; y<height; y++)
{ {
ScanY_X[0][Y]=INDEFINI; ScanY_X[0][y]=INDEFINI;
ScanY_X[1][Y]=INDEFINI; ScanY_X[1][y]=INDEFINI;
} }
Interpoler_texture(X1-Xmin,Y1-Ymin,Xt1,Yt1,X3-Xmin,Y3-Ymin,Xt3,Yt3,height); Interpoler_texture(X1-Xmin,Y1-Ymin,Xt1,Yt1,X3-Xmin,Y3-Ymin,Xt3,Yt3,height);
@ -1535,25 +1535,25 @@ void Calculer_quad_texture(int X1,int Y1,int Xt1,int Yt1,
Interpoler_texture(X4-Xmin,Y4-Ymin,Xt4,Yt4,X2-Xmin,Y2-Ymin,Xt2,Yt2,height); Interpoler_texture(X4-Xmin,Y4-Ymin,Xt4,Yt4,X2-Xmin,Y2-Ymin,Xt2,Yt2,height);
Interpoler_texture(X2-Xmin,Y2-Ymin,Xt2,Yt2,X1-Xmin,Y1-Ymin,Xt1,Yt1,height); Interpoler_texture(X2-Xmin,Y2-Ymin,Xt2,Yt2,X1-Xmin,Y1-Ymin,Xt1,Yt1,height);
for (Y=0; Y<height; Y++) for (y=0; y<height; y++)
{ {
Debut_X=Round(ScanY_X[0][Y]); Debut_X=Round(ScanY_X[0][y]);
Fin_X =Round(ScanY_X[1][Y]); Fin_X =Round(ScanY_X[1][y]);
Largeur_ligne=1+Fin_X-Debut_X; Largeur_ligne=1+Fin_X-Debut_X;
for (X=0; X<Debut_X; X++) for (x=0; x<Debut_X; x++)
Buffer[X+(Y*width)]=Back_color; Buffer[x+(y*width)]=Back_color;
for (; X<=Fin_X; X++) for (; x<=Fin_X; x++)
{ {
Temp=(float)(0.5+(float)X-ScanY_X[0][Y])/(float)Largeur_ligne; Temp=(float)(0.5+(float)x-ScanY_X[0][y])/(float)Largeur_ligne;
Xt=Round((float)(ScanY_Xt[0][Y])+(Temp*(ScanY_Xt[1][Y]-ScanY_Xt[0][Y]))); Xt=Round((float)(ScanY_Xt[0][y])+(Temp*(ScanY_Xt[1][y]-ScanY_Xt[0][y])));
Yt=Round((float)(ScanY_Yt[0][Y])+(Temp*(ScanY_Yt[1][Y]-ScanY_Yt[0][Y]))); Yt=Round((float)(ScanY_Yt[0][y])+(Temp*(ScanY_Yt[1][y]-ScanY_Yt[0][y])));
Buffer[X+(Y*width)]=Lit_pixel_dans_brosse(Xt,Yt); Buffer[x+(y*width)]=Lit_pixel_dans_brosse(Xt,Yt);
} }
for (; X<width; X++) for (; x<width; x++)
Buffer[X+(Y*width)]=Back_color; Buffer[x+(y*width)]=Back_color;
} }
free(ScanY_Xt[0]); free(ScanY_Xt[0]);
@ -1658,7 +1658,7 @@ void Dessiner_quad_texture_preview(int X1,int Y1,int Xt1,int Yt1,
int X4,int Y4,int Xt4,int Yt4) int X4,int Y4,int Xt4,int Yt4)
{ {
int Xmin,Xmax,Ymin,Ymax; int Xmin,Xmax,Ymin,Ymax;
int X,Y,Xt,Yt; int x,y,Xt,Yt;
int Y_,Ymin_; int Y_,Ymin_;
int Debut_X,Fin_X,width,height; int Debut_X,Fin_X,width,height;
float Temp; float Temp;
@ -1678,10 +1678,10 @@ void Dessiner_quad_texture_preview(int X1,int Y1,int Xt1,int Yt1,
ScanY_X[1] =(float *)malloc(height*sizeof(float)); ScanY_X[1] =(float *)malloc(height*sizeof(float));
// Remplir avec des valeurs égales à INDEFINI. // Remplir avec des valeurs égales à INDEFINI.
for (Y=0; Y<height; Y++) for (y=0; y<height; y++)
{ {
ScanY_X[0][Y]=INDEFINI; ScanY_X[0][y]=INDEFINI;
ScanY_X[1][Y]=INDEFINI; ScanY_X[1][y]=INDEFINI;
} }
Interpoler_texture(X1,Y1-Ymin,Xt1,Yt1,X3,Y3-Ymin,Xt3,Yt3,height); Interpoler_texture(X1,Y1-Ymin,Xt1,Yt1,X3,Y3-Ymin,Xt3,Yt3,height);
@ -1695,24 +1695,24 @@ void Dessiner_quad_texture_preview(int X1,int Y1,int Xt1,int Yt1,
for (Y_=Ymin; Y_<=Ymax; Y_++) for (Y_=Ymin; Y_<=Ymax; Y_++)
{ {
Y=Y_-Ymin_; y=Y_-Ymin_;
Debut_X=Round(ScanY_X[0][Y]); Debut_X=Round(ScanY_X[0][y]);
Fin_X =Round(ScanY_X[1][Y]); Fin_X =Round(ScanY_X[1][y]);
width=1+Fin_X-Debut_X; width=1+Fin_X-Debut_X;
if (Debut_X<Limite_Gauche) Debut_X=Limite_Gauche; if (Debut_X<Limite_Gauche) Debut_X=Limite_Gauche;
if ( Fin_X>Limite_Droite) Fin_X=Limite_Droite; if ( Fin_X>Limite_Droite) Fin_X=Limite_Droite;
for (X=Debut_X; X<=Fin_X; X++) for (x=Debut_X; x<=Fin_X; x++)
{ {
Temp=(float)(0.5+(float)X-ScanY_X[0][Y])/(float)width; Temp=(float)(0.5+(float)x-ScanY_X[0][y])/(float)width;
Xt=Round((float)(ScanY_Xt[0][Y])+(Temp*(ScanY_Xt[1][Y]-ScanY_Xt[0][Y]))); Xt=Round((float)(ScanY_Xt[0][y])+(Temp*(ScanY_Xt[1][y]-ScanY_Xt[0][y])));
Yt=Round((float)(ScanY_Yt[0][Y])+(Temp*(ScanY_Yt[1][Y]-ScanY_Yt[0][Y]))); Yt=Round((float)(ScanY_Yt[0][y])+(Temp*(ScanY_Yt[1][y]-ScanY_Yt[0][y])));
Couleur=Lit_pixel_dans_brosse(Xt,Yt); Couleur=Lit_pixel_dans_brosse(Xt,Yt);
if (Couleur!=Back_color) if (Couleur!=Back_color)
Pixel_Preview(X,Y_,Couleur); Pixel_Preview(x,Y_,Couleur);
} }
} }

View File

@ -324,7 +324,7 @@ word Modificateurs_Touche(SDLMod Mod)
word Conversion_Touche(SDL_keysym Sym) word Conversion_Touche(SDL_keysym Sym)
{ {
word Retour = 0; word key_code = 0;
word Mod; word Mod;
// On ignore shift, alt et control isolés. // On ignore shift, alt et control isolés.
@ -337,10 +337,10 @@ word Conversion_Touche(SDL_keysym Sym)
// Les touches qui n'ont qu'une valeur unicode (très rares) // Les touches qui n'ont qu'une valeur unicode (très rares)
// seront codées sur 11 bits, le 12e bit est mis à 1 (0x0800) // seront codées sur 11 bits, le 12e bit est mis à 1 (0x0800)
if (Sym.sym != 0) if (Sym.sym != 0)
Retour = Sym.sym; key_code = Sym.sym;
else if (Sym.scancode != 0) else if (Sym.scancode != 0)
{ {
Retour = (Sym.scancode & 0x07FF) | 0x0800; key_code = (Sym.scancode & 0x07FF) | 0x0800;
} }
// Normally I should test Sym.mod here, but on windows the implementation // Normally I should test Sym.mod here, but on windows the implementation
@ -348,8 +348,8 @@ word Conversion_Touche(SDL_keysym Sym)
// still name the original modifiers. // still name the original modifiers.
Mod=Modificateurs_Touche(SDL_GetModState()); Mod=Modificateurs_Touche(SDL_GetModState());
// SDL_GetModState() seems to get the right up-to-date info. // SDL_GetModState() seems to get the right up-to-date info.
Retour |= Mod; key_code |= Mod;
return Retour; return key_code;
} }
const char * Nom_touche(word Touche) const char * Nom_touche(word Touche)

View File

@ -129,7 +129,7 @@ void Effacer_image_courante(byte Couleur)
); );
} }
void Sensibilite_souris(__attribute__((unused)) word X,__attribute__((unused)) word Y) void Sensibilite_souris(__attribute__((unused)) word x,__attribute__((unused)) word y)
{ {
} }
@ -161,25 +161,25 @@ void Wait_VBL(void)
} }
} }
void Pixel_dans_brosse (word X,word Y,byte Couleur) void Pixel_dans_brosse (word x,word y,byte Couleur)
{ {
*(Brosse+Y*Brosse_Largeur+X)=Couleur; *(Brosse+y*Brosse_Largeur+x)=Couleur;
} }
byte Lit_pixel_dans_brosse (word X,word Y) byte Lit_pixel_dans_brosse (word x,word y)
{ {
return *(Brosse + Y * Brosse_Largeur + X); return *(Brosse + y * Brosse_Largeur + x);
} }
byte Lit_pixel_dans_ecran_courant (word X,word Y) byte Lit_pixel_dans_ecran_courant (word x,word y)
{ {
return *(Principal_Ecran+Y*Principal_Largeur_image+X); return *(Principal_Ecran+y*Principal_Largeur_image+x);
} }
void Pixel_dans_ecran_courant (word X,word Y,byte Couleur) void Pixel_dans_ecran_courant (word x,word y,byte Couleur)
{ {
byte* dest=(X+Y*Principal_Largeur_image+Principal_Ecran); byte* dest=(x+y*Principal_Largeur_image+Principal_Ecran);
*dest=Couleur; *dest=Couleur;
} }
@ -244,9 +244,9 @@ void Copier_une_partie_d_image_dans_une_autre(byte * Source,word S_Pos_X,word S_
} }
byte Lit_pixel_dans_ecran_brouillon(word X,word Y) byte Lit_pixel_dans_ecran_brouillon(word x,word y)
{ {
return *(Brouillon_Ecran+Y*Brouillon_Largeur_image+X); return *(Brouillon_Ecran+y*Brouillon_Largeur_image+x);
} }
void Rotate_90_deg_LOWLEVEL(byte * Source,byte * dest) void Rotate_90_deg_LOWLEVEL(byte * Source,byte * dest)
@ -317,9 +317,9 @@ void Copier_image_dans_brosse(short Debut_X,short Debut_Y,short Brosse_Largeur,s
} }
byte Lit_pixel_dans_ecran_feedback (word X,word Y) byte Lit_pixel_dans_ecran_feedback (word x,word y)
{ {
return *(FX_Feedback_Ecran+Y*Principal_Largeur_image+X); return *(FX_Feedback_Ecran+y*Principal_Largeur_image+x);
} }
dword Round_div(dword Numerateur,dword Diviseur) dword Round_div(dword Numerateur,dword Diviseur)
@ -327,9 +327,9 @@ dword Round_div(dword Numerateur,dword Diviseur)
return Numerateur/Diviseur; return Numerateur/Diviseur;
} }
byte Effet_Trame(word X,word Y) byte Effet_Trame(word x,word y)
{ {
return Trame[X % Trame_Largeur][Y % Trame_Hauteur]; return Trame[x % Trame_Largeur][y % Trame_Hauteur];
} }
void Set_mouse_position(void) void Set_mouse_position(void)
@ -361,9 +361,9 @@ void Remplacer_toutes_les_couleurs_dans_limites(byte * Table_de_remplacement)
} }
} }
byte Lit_pixel_dans_ecran_backup (word X,word Y) byte Lit_pixel_dans_ecran_backup (word x,word y)
{ {
return *(Ecran_backup + X + Principal_Largeur_image * Y); return *(Ecran_backup + x + Principal_Largeur_image * y);
} }
void Palette_256_to_64(T_Palette palette) void Palette_256_to_64(T_Palette palette)
@ -388,7 +388,7 @@ void Palette_64_to_256(T_Palette palette)
} }
} }
byte Effet_Colorize_interpole (word X,word Y,byte Couleur) byte Effet_Colorize_interpole (word x,word y,byte Couleur)
{ {
// Facteur_A = 256*(100-Colorize_Opacite)/100 // Facteur_A = 256*(100-Colorize_Opacite)/100
// Facteur_B = 256*( Colorize_Opacite)/100 // Facteur_B = 256*( Colorize_Opacite)/100
@ -398,11 +398,11 @@ byte Effet_Colorize_interpole (word X,word Y,byte Couleur)
// On place dans ESI 3*Couleur_dessous ( = position de cette couleur dans la // On place dans ESI 3*Couleur_dessous ( = position de cette couleur dans la
// palette des teintes) et dans EDI, 3*Couleur. // palette des teintes) et dans EDI, 3*Couleur.
byte Bleu_dessous=Principal_Palette[*(FX_Feedback_Ecran + Y * Principal_Largeur_image + X)].B; byte Bleu_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].B;
byte Bleu=Principal_Palette[Couleur].B; byte Bleu=Principal_Palette[Couleur].B;
byte Vert_dessous=Principal_Palette[*(FX_Feedback_Ecran + Y * Principal_Largeur_image + X)].G; byte Vert_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].G;
byte Vert=Principal_Palette[Couleur].G; byte Vert=Principal_Palette[Couleur].G;
byte Rouge_dessous=Principal_Palette[*(FX_Feedback_Ecran + Y * Principal_Largeur_image + X)].R; byte Rouge_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].R;
byte Rouge=Principal_Palette[Couleur].R; byte Rouge=Principal_Palette[Couleur].R;
// On récupère les 3 composantes RVB // On récupère les 3 composantes RVB
@ -418,11 +418,11 @@ byte Effet_Colorize_interpole (word X,word Y,byte Couleur)
} }
byte Effet_Colorize_additif (word X,word Y,byte Couleur) byte Effet_Colorize_additif (word x,word y,byte Couleur)
{ {
byte Bleu_dessous=Principal_Palette[*(FX_Feedback_Ecran + Y * Principal_Largeur_image + X)].B; byte Bleu_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].B;
byte Vert_dessous=Principal_Palette[*(FX_Feedback_Ecran + Y * Principal_Largeur_image + X)].G; byte Vert_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].G;
byte Rouge_dessous=Principal_Palette[*(FX_Feedback_Ecran + Y * Principal_Largeur_image + X)].R; byte Rouge_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].R;
byte Bleu=Principal_Palette[Couleur].B; byte Bleu=Principal_Palette[Couleur].B;
byte Vert=Principal_Palette[Couleur].G; byte Vert=Principal_Palette[Couleur].G;
byte Rouge=Principal_Palette[Couleur].R; byte Rouge=Principal_Palette[Couleur].R;
@ -433,11 +433,11 @@ byte Effet_Colorize_additif (word X,word Y,byte Couleur)
Bleu>Bleu_dessous?Bleu:Bleu_dessous); Bleu>Bleu_dessous?Bleu:Bleu_dessous);
} }
byte Effet_Colorize_soustractif(word X,word Y,byte Couleur) byte Effet_Colorize_soustractif(word x,word y,byte Couleur)
{ {
byte Bleu_dessous=Principal_Palette[*(FX_Feedback_Ecran + Y * Principal_Largeur_image + X)].B; byte Bleu_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].B;
byte Vert_dessous=Principal_Palette[*(FX_Feedback_Ecran + Y * Principal_Largeur_image + X)].G; byte Vert_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].G;
byte Rouge_dessous=Principal_Palette[*(FX_Feedback_Ecran + Y * Principal_Largeur_image + X)].R; byte Rouge_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].R;
byte Bleu=Principal_Palette[Couleur].B; byte Bleu=Principal_Palette[Couleur].B;
byte Vert=Principal_Palette[Couleur].G; byte Vert=Principal_Palette[Couleur].G;
byte Rouge=Principal_Palette[Couleur].R; byte Rouge=Principal_Palette[Couleur].R;
@ -600,10 +600,10 @@ void Zoomer_une_ligne(byte* Ligne_originale, byte* Ligne_zoomee,
) )
{ {
byte color; byte color;
word X; word x;
// Pour chaque pixel // Pour chaque pixel
for(X=0;X<width;X++){ for(x=0;x<width;x++){
color = *Ligne_originale; color = *Ligne_originale;
memset(Ligne_zoomee,color,factor); memset(Ligne_zoomee,color,factor);
@ -673,11 +673,11 @@ unsigned long Memoire_libre(void)
// Transformer un nombre (entier naturel) en chaîne // Transformer un nombre (entier naturel) en chaîne
void Num2str(dword number,char * Chaine,byte Taille) void Num2str(dword number,char * Chaine,byte nb_char)
{ {
int Indice; int Indice;
for (Indice=Taille-1;Indice>=0;Indice--) for (Indice=nb_char-1;Indice>=0;Indice--)
{ {
Chaine[Indice]=(number%10)+'0'; Chaine[Indice]=(number%10)+'0';
number/=10; number/=10;
@ -685,34 +685,34 @@ void Num2str(dword number,char * Chaine,byte Taille)
for (Indice--;Indice>=0;Indice--) for (Indice--;Indice>=0;Indice--)
Chaine[Indice]=' '; Chaine[Indice]=' ';
} }
Chaine[Taille]='\0'; Chaine[nb_char]='\0';
} }
// Transformer une chaîne en un entier naturel (renvoie -1 si ch. invalide) // Transformer une chaîne en un entier naturel (renvoie -1 si ch. invalide)
int Str2num(char * Chaine) int Str2num(char * Chaine)
{ {
int Valeur=0; int value=0;
for (;*Chaine;Chaine++) for (;*Chaine;Chaine++)
{ {
if ( (*Chaine>='0') && (*Chaine<='9') ) if ( (*Chaine>='0') && (*Chaine<='9') )
Valeur=(Valeur*10)+(*Chaine-'0'); value=(value*10)+(*Chaine-'0');
else else
return -1; return -1;
} }
return Valeur; return value;
} }
// Arrondir un nombre réel à la valeur entière la plus proche // Arrondir un nombre réel à la valeur entière la plus proche
short Round(float Valeur) short Round(float value)
{ {
short Temp=Valeur; short Temp=value;
if (Valeur>=0) if (value>=0)
{ if ((Valeur-Temp)>= 0.5) Temp++; } { if ((value-Temp)>= 0.5) Temp++; }
else else
{ if ((Valeur-Temp)<=-0.5) Temp--; } { if ((value-Temp)<=-0.5) Temp--; }
return Temp; return Temp;
} }

View File

@ -27,7 +27,7 @@ void Scroll_picture(short x_offset,short y_offset);
void Set_mouse_video_mode_number(void); void Set_mouse_video_mode_number(void);
void Set_mouse_position(void); void Set_mouse_position(void);
void Attendre_fin_de_click(void); void Attendre_fin_de_click(void);
void Sensibilite_souris(word X,word Y); void Sensibilite_souris(word x,word y);
void Set_color(byte Couleur, byte Rouge, byte Vert, byte Bleu); void Set_color(byte Couleur, byte Rouge, byte Vert, byte Bleu);
void Set_palette(T_Palette palette); void Set_palette(T_Palette palette);
void Palette_256_to_64(T_Palette palette); void Palette_256_to_64(T_Palette palette);
@ -39,13 +39,13 @@ void Tempo_jauge(byte Vitesse);
dword Round_div(dword Numerateur,dword Diviseur); dword Round_div(dword Numerateur,dword Diviseur);
word Palette_Compter_nb_couleurs_utilisees(dword * Tableau); word Palette_Compter_nb_couleurs_utilisees(dword * Tableau);
void Pixel_dans_ecran_courant (word X,word Y,byte Couleur); void Pixel_dans_ecran_courant (word x,word y,byte Couleur);
void Pixel_dans_brosse (word X,word Y,byte Couleur); void Pixel_dans_brosse (word x,word y,byte Couleur);
byte Lit_pixel_dans_ecran_courant (word X,word Y); byte Lit_pixel_dans_ecran_courant (word x,word y);
byte Lit_pixel_dans_ecran_brouillon(word X,word Y); byte Lit_pixel_dans_ecran_brouillon(word x,word y);
byte Lit_pixel_dans_ecran_backup (word X,word Y); byte Lit_pixel_dans_ecran_backup (word x,word y);
byte Lit_pixel_dans_ecran_feedback (word X,word Y); byte Lit_pixel_dans_ecran_feedback (word x,word y);
byte Lit_pixel_dans_brosse (word X,word Y); byte Lit_pixel_dans_brosse (word x,word y);
void Ellipse_Calculer_limites(short Rayon_horizontal,short Rayon_vertical); void Ellipse_Calculer_limites(short Rayon_horizontal,short Rayon_vertical);
// Calcule les valeurs suivantes en fonction des deux paramètres: // Calcule les valeurs suivantes en fonction des deux paramètres:
@ -77,10 +77,10 @@ void Tester_chrono(void);
void Remplacer_une_couleur(byte Ancienne_couleur, byte Nouvelle_couleur); void Remplacer_une_couleur(byte Ancienne_couleur, byte Nouvelle_couleur);
void Remplacer_toutes_les_couleurs_dans_limites(byte * Table_de_remplacement); void Remplacer_toutes_les_couleurs_dans_limites(byte * Table_de_remplacement);
byte Effet_Colorize_interpole (word X,word Y,byte Couleur); byte Effet_Colorize_interpole (word x,word y,byte Couleur);
byte Effet_Colorize_additif (word X,word Y,byte Couleur); byte Effet_Colorize_additif (word x,word y,byte Couleur);
byte Effet_Colorize_soustractif(word X,word Y,byte Couleur); byte Effet_Colorize_soustractif(word x,word y,byte Couleur);
byte Effet_Trame(word X,word Y); byte Effet_Trame(word x,word y);
void Flip_Y_LOWLEVEL(void); void Flip_Y_LOWLEVEL(void);
void Flip_X_LOWLEVEL(void); void Flip_X_LOWLEVEL(void);
@ -100,11 +100,10 @@ byte Nouvelle_preview; // Bool
unsigned long Memoire_libre(void); unsigned long Memoire_libre(void);
void Num2str(dword number,char * Chaine,byte Taille); void Num2str(dword number,char * Chaine,byte nb_char);
int Str2num(char * Chaine); int Str2num(char * Chaine);
short Round(float Valeur); short Round(float value);
short Round_max(short Numerateur,short Diviseur);
short Round_div_max(short Numerateur,short Diviseur); short Round_div_max(short Numerateur,short Diviseur);
int Min(int a,int b); int Min(int a,int b);

26
files.c
View File

@ -99,7 +99,7 @@ void Detruire_liste_du_fileselect(void)
// -- Formatage graphique des noms de fichier / répertoire ------------------ // -- Formatage graphique des noms de fichier / répertoire ------------------
char * Nom_formate(char * fname, int Type) char * Nom_formate(char * fname, int type)
{ {
static char Resultat[13]; static char Resultat[13];
int c; int c;
@ -110,7 +110,7 @@ char * Nom_formate(char * fname, int Type)
{ {
strcpy(Resultat,"<-PARENT DIR"); strcpy(Resultat,"<-PARENT DIR");
} }
else if (fname[0]=='.' || Type==2) else if (fname[0]=='.' || type==2)
{ {
// Fichiers ".quelquechose" ou lecteurs: Calé à gauche sur 12 caractères maximum. // Fichiers ".quelquechose" ou lecteurs: Calé à gauche sur 12 caractères maximum.
strcpy(Resultat," "); strcpy(Resultat," ");
@ -149,7 +149,7 @@ char * Nom_formate(char * fname, int Type)
// -- Rajouter a la liste des elements de la liste un element --------------- // -- Rajouter a la liste des elements de la liste un element ---------------
void Ajouter_element_a_la_liste(char * fname, int Type) void Ajouter_element_a_la_liste(char * fname, int type)
// Cette procedure ajoute a la liste chainee un fichier passé en argument. // Cette procedure ajoute a la liste chainee un fichier passé en argument.
{ {
// Pointeur temporaire d'insertion // Pointeur temporaire d'insertion
@ -159,9 +159,9 @@ void Ajouter_element_a_la_liste(char * fname, int Type)
Element_temporaire=(Element_de_liste_de_fileselect *)malloc(sizeof(Element_de_liste_de_fileselect)); Element_temporaire=(Element_de_liste_de_fileselect *)malloc(sizeof(Element_de_liste_de_fileselect));
// On met a jour le nouvel emplacement: // On met a jour le nouvel emplacement:
strcpy(Element_temporaire->NomAbrege,Nom_formate(fname, Type)); strcpy(Element_temporaire->NomAbrege,Nom_formate(fname, type));
strcpy(Element_temporaire->NomComplet,fname); strcpy(Element_temporaire->NomComplet,fname);
Element_temporaire->Type = Type; Element_temporaire->Type = type;
Element_temporaire->Suivant =Liste_du_fileselect; Element_temporaire->Suivant =Liste_du_fileselect;
Element_temporaire->Precedent=NULL; Element_temporaire->Precedent=NULL;
@ -563,7 +563,7 @@ void Afficher_la_liste_des_fichiers(short Decalage_premier,short Decalage_select
// -- Récupérer le libellé d'un élément de la liste ------------------------- // -- Récupérer le libellé d'un élément de la liste -------------------------
void Determiner_element_de_la_liste(short Decalage_premier,short Decalage_select,char * label,int *Type) void Determiner_element_de_la_liste(short Decalage_premier,short Decalage_select,char * label,int *type)
// //
// Decalage_premier = Décalage entre le premier fichier visible dans le // Decalage_premier = Décalage entre le premier fichier visible dans le
// sélecteur et le premier fichier de la liste // sélecteur et le premier fichier de la liste
@ -573,7 +573,7 @@ void Determiner_element_de_la_liste(short Decalage_premier,short Decalage_select
// //
// label = Chaine de réception du libellé de l'élément // label = Chaine de réception du libellé de l'élément
// //
// Type = Récupération du type: 0 fichier, 1 repertoire, 2 lecteur. // type = Récupération du type: 0 fichier, 1 repertoire, 2 lecteur.
// Passer NULL si pas interessé. // Passer NULL si pas interessé.
{ {
Element_de_liste_de_fileselect * Element_courant; Element_de_liste_de_fileselect * Element_courant;
@ -593,8 +593,8 @@ void Determiner_element_de_la_liste(short Decalage_premier,short Decalage_select
// On recopie la chaîne // On recopie la chaîne
strcpy(label, Element_courant->NomComplet); strcpy(label, Element_courant->NomComplet);
if (Type != NULL) if (type != NULL)
*Type=Element_courant->Type; *type=Element_courant->Type;
} // Fin du test d'existence de fichiers } // Fin du test d'existence de fichiers
} }
@ -715,12 +715,12 @@ void Afficher_bookmark(T_Bouton_dropdown * Bouton, int Numero_bookmark)
{ {
if (Config.Bookmark_directory[Numero_bookmark]) if (Config.Bookmark_directory[Numero_bookmark])
{ {
int Taille; int label_size;
// Libellé // Libellé
Print_dans_fenetre_limite(Bouton->Pos_X+3+10,Bouton->Pos_Y+2,Config.Bookmark_label[Numero_bookmark],8,CM_Noir,CM_Clair); Print_dans_fenetre_limite(Bouton->Pos_X+3+10,Bouton->Pos_Y+2,Config.Bookmark_label[Numero_bookmark],8,CM_Noir,CM_Clair);
Taille=strlen(Config.Bookmark_label[Numero_bookmark]); label_size=strlen(Config.Bookmark_label[Numero_bookmark]);
if (Taille<8) if (label_size<8)
Block(Fenetre_Pos_X+(Menu_Facteur_X*(Bouton->Pos_X+3+10+Taille*8)),Fenetre_Pos_Y+(Menu_Facteur_Y*(Bouton->Pos_Y+2)),Menu_Facteur_X*(8-Taille)*8,Menu_Facteur_Y*8,CM_Clair); Block(Fenetre_Pos_X+(Menu_Facteur_X*(Bouton->Pos_X+3+10+label_size*8)),Fenetre_Pos_Y+(Menu_Facteur_Y*(Bouton->Pos_Y+2)),Menu_Facteur_X*(8-label_size)*8,Menu_Facteur_Y*8,CM_Clair);
// Menu apparait sur clic droit // Menu apparait sur clic droit
Bouton->Bouton_actif=A_DROITE; Bouton->Bouton_actif=A_DROITE;
// Choix actifs // Choix actifs

View File

@ -33,7 +33,7 @@ void Trier_la_liste_des_fichiers(void);
// -- Affichage des éléments de la liste de fichier / répertoire ------------ // -- Affichage des éléments de la liste de fichier / répertoire ------------
void Afficher_la_liste_des_fichiers(short Decalage_premier,short Decalage_select); void Afficher_la_liste_des_fichiers(short Decalage_premier,short Decalage_select);
// -- Récupérer le libellé d'un élément de la liste ------------------------- // -- Récupérer le libellé d'un élément de la liste -------------------------
void Determiner_element_de_la_liste(short Decalage_premier,short Decalage_select,char * label,int *Type); void Determiner_element_de_la_liste(short Decalage_premier,short Decalage_select,char * label,int *type);
void Afficher_bookmark(T_Bouton_dropdown * Bouton, int Numero_bookmark); void Afficher_bookmark(T_Bouton_dropdown * Bouton, int Numero_bookmark);
@ -48,7 +48,7 @@ void Select_Home (short * Decalage_premier,short * Decalage_select);
short Calculer_decalage_click_dans_fileselector(void); short Calculer_decalage_click_dans_fileselector(void);
char * Nom_formate(char * fname, int Type); char * Nom_formate(char * fname, int type);
// Scans a directory, calls Callback for each file in it, // Scans a directory, calls Callback for each file in it,
void for_each_file(const char * Nom_repertoire, void Callback(const char *)); void for_each_file(const char * Nom_repertoire, void Callback(const char *));

120
graph.c
View File

@ -46,7 +46,7 @@
// Fonction qui met à jour la zone de l'image donnée en paramètre sur l'écran. // Fonction qui met à jour la zone de l'image donnée en paramètre sur l'écran.
// Tient compte du décalage X et Y et du zoom, et fait tous les controles nécessaires // Tient compte du décalage X et Y et du zoom, et fait tous les controles nécessaires
void Mettre_Ecran_A_Jour(short X, short Y, short width, short height) void Mettre_Ecran_A_Jour(short x, short y, short width, short height)
{ {
short L_effectif, H_effectif; short L_effectif, H_effectif;
short X_effectif; short X_effectif;
@ -56,18 +56,18 @@ void Mettre_Ecran_A_Jour(short X, short Y, short width, short height)
// Première étape, si L ou H est négatif, on doit remettre la zone à l'endroit // Première étape, si L ou H est négatif, on doit remettre la zone à l'endroit
if (width < 0) if (width < 0)
{ {
X += width; x += width;
width = - width; width = - width;
} }
if (height < 0) if (height < 0)
{ {
Y += height; y += height;
height = - height; height = - height;
} }
// D'abord on met à jour dans la zone écran normale // D'abord on met à jour dans la zone écran normale
Diff = X-Principal_Decalage_X; Diff = x-Principal_Decalage_X;
if (Diff<0) if (Diff<0)
{ {
L_effectif = width + Diff; L_effectif = width + Diff;
@ -78,7 +78,7 @@ void Mettre_Ecran_A_Jour(short X, short Y, short width, short height)
L_effectif = width; L_effectif = width;
X_effectif = Diff; X_effectif = Diff;
} }
Diff = Y-Principal_Decalage_Y; Diff = y-Principal_Decalage_Y;
if (Diff<0) if (Diff<0)
{ {
H_effectif = height + Diff; H_effectif = height + Diff;
@ -115,8 +115,8 @@ void Mettre_Ecran_A_Jour(short X, short Y, short width, short height)
if(Loupe_Mode) if(Loupe_Mode)
{ {
// Clipping en X // Clipping en X
X_effectif = (X-Loupe_Decalage_X)*Loupe_Facteur; X_effectif = (x-Loupe_Decalage_X)*Loupe_Facteur;
Y_effectif = (Y-Loupe_Decalage_Y)*Loupe_Facteur; Y_effectif = (y-Loupe_Decalage_Y)*Loupe_Facteur;
L_effectif = width * Loupe_Facteur; L_effectif = width * Loupe_Facteur;
H_effectif = height * Loupe_Facteur; H_effectif = height * Loupe_Facteur;
@ -169,11 +169,11 @@ void Mettre_Ecran_A_Jour(short X, short Y, short width, short height)
void Transformer_point(short X, short Y, float cosA, float sinA, void Transformer_point(short x, short y, float cosA, float sinA,
short * Xr, short * Yr) short * Xr, short * Yr)
{ {
*Xr=Round(((float)X*cosA)+((float)Y*sinA)); *Xr=Round(((float)x*cosA)+((float)y*sinA));
*Yr=Round(((float)Y*cosA)-((float)X*sinA)); *Yr=Round(((float)y*cosA)-((float)x*sinA));
} }
@ -1468,7 +1468,7 @@ void Tracer_courbe_General(short X1, short Y1,
byte Couleur) byte Couleur)
{ {
float delta,t,t2,t3; float delta,t,t2,t3;
short X,Y,Old_X,Old_Y; short x,y,Old_X,Old_Y;
word i; word i;
int CX[4]; int CX[4];
int CY[4]; int CY[4];
@ -1492,18 +1492,18 @@ void Tracer_courbe_General(short X1, short Y1,
for (i=1; i<=20; i++) for (i=1; i<=20; i++)
{ {
t=t+delta; t2=t*t; t3=t2*t; t=t+delta; t2=t*t; t3=t2*t;
X=Round(t3*CX[0] + t2*CX[1] + t*CX[2] + CX[3]); x=Round(t3*CX[0] + t2*CX[1] + t*CX[2] + CX[3]);
Y=Round(t3*CY[0] + t2*CY[1] + t*CY[2] + CY[3]); y=Round(t3*CY[0] + t2*CY[1] + t*CY[2] + CY[3]);
Tracer_ligne_General(Old_X,Old_Y,X,Y,Couleur); Tracer_ligne_General(Old_X,Old_Y,x,y,Couleur);
Old_X=X; Old_X=x;
Old_Y=Y; Old_Y=y;
} }
X = Min(Min(X1,X2),Min(X3,X4)); x = Min(Min(X1,X2),Min(X3,X4));
Y = Min(Min(Y1,Y2),Min(Y3,Y4)); y = Min(Min(Y1,Y2),Min(Y3,Y4));
Old_X = Max(Max(X1,X2),Max(X3,X4)) - X; Old_X = Max(Max(X1,X2),Max(X3,X4)) - x;
Old_Y = Max(Max(Y1,Y2),Max(Y3,Y4)) - Y; Old_Y = Max(Max(Y1,Y2),Max(Y3,Y4)) - y;
Mettre_Ecran_A_Jour(X,Y,Old_X+1,Old_Y+1); Mettre_Ecran_A_Jour(x,y,Old_X+1,Old_Y+1);
} }
// -- Tracer une courbe de Bézier définitivement -- // -- Tracer une courbe de Bézier définitivement --
@ -1554,7 +1554,7 @@ void Aerographe(short Bouton_clicke)
long Rayon_au_carre=(long)Rayon*Rayon; long Rayon_au_carre=(long)Rayon*Rayon;
short Indice,Count; short Indice,Count;
byte Indice_couleur; byte Indice_couleur;
byte Sens; byte direction;
Effacer_curseur(); Effacer_curseur();
@ -1581,7 +1581,7 @@ void Aerographe(short Bouton_clicke)
// On essaye de se balader dans la table des flux de façon à ce que ce // On essaye de se balader dans la table des flux de façon à ce que ce
// ne soit pas toujours la dernière couleur qui soit affichée en dernier // ne soit pas toujours la dernière couleur qui soit affichée en dernier
// Pour ça, on part d'une couleur au pif dans une direction aléatoire. // Pour ça, on part d'une couleur au pif dans une direction aléatoire.
Sens=rand()&1; direction=rand()&1;
for (Indice=0,Indice_couleur=rand()/*%256*/; Indice<256; Indice++) for (Indice=0,Indice_couleur=rand()/*%256*/; Indice<256; Indice++)
{ {
for (Count=1; Count<=Spray_Multi_flow[Indice_couleur]; Count++) for (Count=1; Count<=Spray_Multi_flow[Indice_couleur]; Count++)
@ -1598,7 +1598,7 @@ void Aerographe(short Bouton_clicke)
Afficher_pinceau(x_pos,y_pos,Back_color,0); Afficher_pinceau(x_pos,y_pos,Back_color,0);
} }
} }
if (Sens) if (direction)
Indice_couleur++; Indice_couleur++;
else else
Indice_couleur--; Indice_couleur--;
@ -2344,20 +2344,20 @@ void Liste2tables(word * list,short step,byte mode,byte * Table_inc,byte * Table
// fonction d'affichage "Pixel" utilisée pour les opérations définitivement // fonction d'affichage "Pixel" utilisée pour les opérations définitivement
// Ne doit à aucune condition être appelée en dehors de la partie visible // Ne doit à aucune condition être appelée en dehors de la partie visible
// de l'image dans l'écran (ça pourrait être grave) // de l'image dans l'écran (ça pourrait être grave)
void Afficher_pixel(word X,word Y,byte Couleur) void Afficher_pixel(word x,word y,byte Couleur)
// X & Y sont la position d'un point dans l'IMAGE // x & y sont la position d'un point dans l'IMAGE
// Couleur est la couleur du point // Couleur est la couleur du point
// Le Stencil est géré. // Le Stencil est géré.
// Les effets sont gérés par appel à Fonction_effet(). // Les effets sont gérés par appel à Fonction_effet().
// La Loupe est gérée par appel à Pixel_Preview(). // La Loupe est gérée par appel à Pixel_Preview().
{ {
if ( ( (!Trame_Mode) || (Effet_Trame(X,Y)) ) if ( ( (!Trame_Mode) || (Effet_Trame(x,y)) )
&& (!((Stencil_Mode) && (Stencil[Lit_pixel_dans_ecran_courant(X,Y)]))) && (!((Stencil_Mode) && (Stencil[Lit_pixel_dans_ecran_courant(x,y)])))
&& (!((Mask_Mode) && (Mask_table[Lit_pixel_dans_ecran_brouillon(X,Y)]))) ) && (!((Mask_Mode) && (Mask_table[Lit_pixel_dans_ecran_brouillon(x,y)]))) )
{ {
Couleur=Fonction_effet(X,Y,Couleur); Couleur=Fonction_effet(x,y,Couleur);
Pixel_dans_ecran_courant(X,Y,Couleur); Pixel_dans_ecran_courant(x,y,Couleur);
Pixel_Preview(X,Y,Couleur); Pixel_Preview(x,y,Couleur);
} }
} }
@ -2367,26 +2367,26 @@ void Afficher_pixel(word X,word Y,byte Couleur)
// -- Aucun effet en cours -- // -- Aucun effet en cours --
byte Aucun_effet(__attribute__((unused)) word X,__attribute__((unused)) word Y,byte Couleur) byte Aucun_effet(__attribute__((unused)) word x,__attribute__((unused)) word y,byte Couleur)
{ {
return Couleur; return Couleur;
} }
// -- Effet de Shading -- // -- Effet de Shading --
byte Effet_Shade(word X,word Y,__attribute__((unused)) byte Couleur) byte Effet_Shade(word x,word y,__attribute__((unused)) byte Couleur)
{ {
return Shade_Table[Lit_pixel_dans_ecran_feedback(X,Y)]; return Shade_Table[Lit_pixel_dans_ecran_feedback(x,y)];
} }
byte Effet_Quick_shade(word X,word Y,byte Couleur) byte Effet_Quick_shade(word x,word y,byte Couleur)
{ {
int c=Couleur=Lit_pixel_dans_ecran_feedback(X,Y); int c=Couleur=Lit_pixel_dans_ecran_feedback(x,y);
int Sens=(Fore_color<=Back_color); int direction=(Fore_color<=Back_color);
byte start,end; byte start,end;
int width; int width;
if (Sens) if (direction)
{ {
start=Fore_color; start=Fore_color;
end =Back_color; end =Back_color;
@ -2401,7 +2401,7 @@ byte Effet_Quick_shade(word X,word Y,byte Couleur)
{ {
width=1+end-start; width=1+end-start;
if ( ((Shade_Table==Shade_Table_gauche) && Sens) || ((Shade_Table==Shade_Table_droite) && (!Sens)) ) if ( ((Shade_Table==Shade_Table_gauche) && direction) || ((Shade_Table==Shade_Table_droite) && (!direction)) )
c-=Quick_shade_Step%width; c-=Quick_shade_Step%width;
else else
c+=Quick_shade_Step%width; c+=Quick_shade_Step%width;
@ -2428,40 +2428,40 @@ byte Effet_Quick_shade(word X,word Y,byte Couleur)
// -- Effet de Tiling -- // -- Effet de Tiling --
byte Effet_Tiling(word X,word Y,__attribute__((unused)) byte Couleur) byte Effet_Tiling(word x,word y,__attribute__((unused)) byte Couleur)
{ {
return Lit_pixel_dans_brosse((X+Brosse_Largeur-Tiling_Decalage_X)%Brosse_Largeur, return Lit_pixel_dans_brosse((x+Brosse_Largeur-Tiling_Decalage_X)%Brosse_Largeur,
(Y+Brosse_Hauteur-Tiling_Decalage_Y)%Brosse_Hauteur); (y+Brosse_Hauteur-Tiling_Decalage_Y)%Brosse_Hauteur);
} }
// -- Effet de Smooth -- // -- Effet de Smooth --
byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur) byte Effet_Smooth(word x,word y,__attribute__((unused)) byte Couleur)
{ {
int r,g,b; int r,g,b;
byte c; byte c;
int Poids,Poids_total; int Poids,Poids_total;
byte X2=((X+1)<Principal_Largeur_image); byte X2=((x+1)<Principal_Largeur_image);
byte Y2=((Y+1)<Principal_Hauteur_image); byte Y2=((y+1)<Principal_Hauteur_image);
// On commence par le pixel central // On commence par le pixel central
c=Lit_pixel_dans_ecran_feedback(X,Y); c=Lit_pixel_dans_ecran_feedback(x,y);
Poids_total=Smooth_Matrice[1][1]; Poids_total=Smooth_Matrice[1][1];
r=Poids_total*Principal_Palette[c].R; r=Poids_total*Principal_Palette[c].R;
g=Poids_total*Principal_Palette[c].G; g=Poids_total*Principal_Palette[c].G;
b=Poids_total*Principal_Palette[c].B; b=Poids_total*Principal_Palette[c].B;
if (X) if (x)
{ {
c=Lit_pixel_dans_ecran_feedback(X-1,Y); c=Lit_pixel_dans_ecran_feedback(x-1,y);
Poids_total+=(Poids=Smooth_Matrice[0][1]); Poids_total+=(Poids=Smooth_Matrice[0][1]);
r+=Poids*Principal_Palette[c].R; r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G; g+=Poids*Principal_Palette[c].G;
b+=Poids*Principal_Palette[c].B; b+=Poids*Principal_Palette[c].B;
if (Y) if (y)
{ {
c=Lit_pixel_dans_ecran_feedback(X-1,Y-1); c=Lit_pixel_dans_ecran_feedback(x-1,y-1);
Poids_total+=(Poids=Smooth_Matrice[0][0]); Poids_total+=(Poids=Smooth_Matrice[0][0]);
r+=Poids*Principal_Palette[c].R; r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G; g+=Poids*Principal_Palette[c].G;
@ -2469,7 +2469,7 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
if (Y2) if (Y2)
{ {
c=Lit_pixel_dans_ecran_feedback(X-1,Y+1); c=Lit_pixel_dans_ecran_feedback(x-1,y+1);
Poids_total+=(Poids=Smooth_Matrice[0][2]); Poids_total+=(Poids=Smooth_Matrice[0][2]);
r+=Poids*Principal_Palette[c].R; r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G; g+=Poids*Principal_Palette[c].G;
@ -2480,15 +2480,15 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
if (X2) if (X2)
{ {
c=Lit_pixel_dans_ecran_feedback(X+1,Y); c=Lit_pixel_dans_ecran_feedback(x+1,y);
Poids_total+=(Poids=Smooth_Matrice[2][1]); Poids_total+=(Poids=Smooth_Matrice[2][1]);
r+=Poids*Principal_Palette[c].R; r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G; g+=Poids*Principal_Palette[c].G;
b+=Poids*Principal_Palette[c].B; b+=Poids*Principal_Palette[c].B;
if (Y) if (y)
{ {
c=Lit_pixel_dans_ecran_feedback(X+1,Y-1); c=Lit_pixel_dans_ecran_feedback(x+1,y-1);
Poids_total+=(Poids=Smooth_Matrice[2][0]); Poids_total+=(Poids=Smooth_Matrice[2][0]);
r+=Poids*Principal_Palette[c].R; r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G; g+=Poids*Principal_Palette[c].G;
@ -2496,7 +2496,7 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
if (Y2) if (Y2)
{ {
c=Lit_pixel_dans_ecran_feedback(X+1,Y+1); c=Lit_pixel_dans_ecran_feedback(x+1,y+1);
Poids_total+=(Poids=Smooth_Matrice[2][2]); Poids_total+=(Poids=Smooth_Matrice[2][2]);
r+=Poids*Principal_Palette[c].R; r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G; g+=Poids*Principal_Palette[c].G;
@ -2505,9 +2505,9 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
} }
} }
if (Y) if (y)
{ {
c=Lit_pixel_dans_ecran_feedback(X,Y-1); c=Lit_pixel_dans_ecran_feedback(x,y-1);
Poids_total+=(Poids=Smooth_Matrice[1][0]); Poids_total+=(Poids=Smooth_Matrice[1][0]);
r+=Poids*Principal_Palette[c].R; r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G; g+=Poids*Principal_Palette[c].G;
@ -2516,7 +2516,7 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
if (Y2) if (Y2)
{ {
c=Lit_pixel_dans_ecran_feedback(X,Y+1); c=Lit_pixel_dans_ecran_feedback(x,y+1);
Poids_total+=(Poids=Smooth_Matrice[1][2]); Poids_total+=(Poids=Smooth_Matrice[1][2]);
r+=Poids*Principal_Palette[c].R; r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G; g+=Poids*Principal_Palette[c].G;
@ -2527,6 +2527,6 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
Meilleure_couleur(Round_div(r,Poids_total), Meilleure_couleur(Round_div(r,Poids_total),
Round_div(g,Poids_total), Round_div(g,Poids_total),
Round_div(b,Poids_total)): Round_div(b,Poids_total)):
Lit_pixel_dans_ecran_courant(X,Y); // C'est bien l'écran courant et pas Lit_pixel_dans_ecran_courant(x,y); // C'est bien l'écran courant et pas
// l'écran feedback car il s'agit de ne // l'écran feedback car il s'agit de ne
} // pas modifier l'écran courant. } // pas modifier l'écran courant.

20
graph.h
View File

@ -23,24 +23,24 @@ void Liste2tables(word * list, short step, byte mode, byte * Table_inc,
byte * Table_dec byte * Table_dec
); );
void Transformer_point(short X, short Y, void Transformer_point(short x, short y,
float cosA, float sinA, short * Xr, short * Yr); float cosA, float sinA, short * Xr, short * Yr);
int Initialiser_mode_video(int width, int height, int fullscreen); int Initialiser_mode_video(int width, int height, int fullscreen);
byte Aucun_effet(word X,word Y,byte Couleur); byte Aucun_effet(word x,word y,byte Couleur);
byte Effet_Shade(word X,word Y,byte Couleur); byte Effet_Shade(word x,word y,byte Couleur);
byte Effet_Quick_shade(word X,word Y,byte Couleur); byte Effet_Quick_shade(word x,word y,byte Couleur);
byte Effet_Tiling(word X,word Y,byte Couleur); byte Effet_Tiling(word x,word y,byte Couleur);
byte Effet_Smooth(word X,word Y,byte Couleur); byte Effet_Smooth(word x,word y,byte Couleur);
void Afficher_foreback(void); void Afficher_foreback(void);
void Afficher_pixel(word X,word Y,byte Couleur); void Afficher_pixel(word x,word y,byte Couleur);
void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview); void Afficher_pinceau(short x,short y,byte Couleur,byte is_preview);
void Effacer_pinceau(short X,short Y); void Effacer_pinceau(short x,short y);
void Redimentionner_image(word Largeur_choisie,word Hauteur_choisie); void Redimentionner_image(word Largeur_choisie,word Hauteur_choisie);
@ -115,4 +115,4 @@ void Remap_picture(void);
// Définition d'une fonction générique de traçage de figures: // Définition d'une fonction générique de traçage de figures:
fonction_afficheur Pixel_figure; fonction_afficheur Pixel_figure;
void Mettre_Ecran_A_Jour(short X, short Y, short width, short height); void Mettre_Ecran_A_Jour(short x, short y, short width, short height);

204
init.c
View File

@ -76,92 +76,92 @@ void bstrtostr( BSTR in, STRPTR out, TEXT max );
#endif #endif
// Fonctions de lecture dans la skin de l'interface graphique // Fonctions de lecture dans la skin de l'interface graphique
void Chercher_bas(SDL_Surface *gui, int *Debut_X, int *Debut_Y, byte Couleur_neutre,char * Section) void Chercher_bas(SDL_Surface *gui, int *Debut_X, int *Debut_Y, byte Couleur_neutre,char * section)
{ {
byte Couleur; byte Couleur;
int Y; int y;
Y=*Debut_Y; y=*Debut_Y;
*Debut_X=0; *Debut_X=0;
do do
{ {
Couleur=Sdl_Get_pixel_8(gui,*Debut_X,Y); Couleur=Sdl_Get_pixel_8(gui,*Debut_X,y);
if (Couleur!=Couleur_neutre) if (Couleur!=Couleur_neutre)
{ {
*Debut_Y=Y; *Debut_Y=y;
return; return;
} }
Y++; y++;
} while (Y<gui->h); } while (y<gui->h);
printf("Error in skin file: Was looking down from %d,%d for a '%s', and reached the end of the image\n", printf("Error in skin file: Was looking down from %d,%d for a '%s', and reached the end of the image\n",
*Debut_X, *Debut_Y, Section); *Debut_X, *Debut_Y, section);
Erreur(ERREUR_GUI_CORROMPU); Erreur(ERREUR_GUI_CORROMPU);
} }
void Chercher_droite(SDL_Surface *gui, int *Debut_X, int Debut_Y, byte Couleur_neutre, char * Section) void Chercher_droite(SDL_Surface *gui, int *Debut_X, int Debut_Y, byte Couleur_neutre, char * section)
{ {
byte Couleur; byte Couleur;
int X; int x;
X=*Debut_X; x=*Debut_X;
do do
{ {
Couleur=Sdl_Get_pixel_8(gui,X,Debut_Y); Couleur=Sdl_Get_pixel_8(gui,x,Debut_Y);
if (Couleur!=Couleur_neutre) if (Couleur!=Couleur_neutre)
{ {
*Debut_X=X; *Debut_X=x;
return; return;
} }
X++; x++;
} while (X<gui->w); } while (x<gui->w);
printf("Error in skin file: Was looking right from %d,%d for a '%s', and reached the edege of the image\n", printf("Error in skin file: Was looking right from %d,%d for a '%s', and reached the edege of the image\n",
*Debut_X, Debut_Y, Section); *Debut_X, Debut_Y, section);
Erreur(ERREUR_GUI_CORROMPU); Erreur(ERREUR_GUI_CORROMPU);
} }
void Lire_bloc(SDL_Surface *gui, int Debut_X, int Debut_Y, void *Dest, int width, int height, char * Section, int Type) void Lire_bloc(SDL_Surface *gui, int Debut_X, int Debut_Y, void *Dest, int width, int height, char * section, int type)
{ {
// Type: 0 = normal GUI element, only 4 colors allowed // type: 0 = normal GUI element, only 4 colors allowed
// Type: 1 = mouse cursor, 4 colors allowed + transparent // type: 1 = mouse cursor, 4 colors allowed + transparent
// Type: 2 = brush icon or sieve pattern (only CM_Blanc and CM_Trans) // type: 2 = brush icon or sieve pattern (only CM_Blanc and CM_Trans)
// Type: 3 = raw bitmap (splash screen) // type: 3 = raw bitmap (splash screen)
byte * Ptr=Dest; byte * Ptr=Dest;
int X,Y; int x,y;
byte Couleur; byte Couleur;
// Verification taille // Verification taille
if (Debut_Y+height>=gui->h || Debut_X+width>=gui->w) if (Debut_Y+height>=gui->h || Debut_X+width>=gui->w)
{ {
printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but it doesn't fit the image.\n", printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but it doesn't fit the image.\n",
Debut_X, Debut_Y, height, width, Section); Debut_X, Debut_Y, height, width, section);
Erreur(ERREUR_GUI_CORROMPU); Erreur(ERREUR_GUI_CORROMPU);
} }
for (Y=Debut_Y; Y<Debut_Y+height; Y++) for (y=Debut_Y; y<Debut_Y+height; y++)
{ {
for (X=Debut_X; X<Debut_X+width; X++) for (x=Debut_X; x<Debut_X+width; x++)
{ {
Couleur=Sdl_Get_pixel_8(gui,X,Y); Couleur=Sdl_Get_pixel_8(gui,x,y);
if (Type==0 && (Couleur != CM_Noir && Couleur != CM_Fonce && Couleur != CM_Clair && Couleur != CM_Blanc)) if (type==0 && (Couleur != CM_Noir && Couleur != CM_Fonce && Couleur != CM_Clair && Couleur != CM_Blanc))
{ {
printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the GUI colors (which were detected as %d,%d,%d,%d.\n", printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the GUI colors (which were detected as %d,%d,%d,%d.\n",
Debut_X, Debut_Y, height, width, Section, X, Y, Couleur, CM_Noir, CM_Fonce, CM_Clair, CM_Blanc); Debut_X, Debut_Y, height, width, section, x, y, Couleur, CM_Noir, CM_Fonce, CM_Clair, CM_Blanc);
Erreur(ERREUR_GUI_CORROMPU); Erreur(ERREUR_GUI_CORROMPU);
} }
if (Type==1 && (Couleur != CM_Noir && Couleur != CM_Fonce && Couleur != CM_Clair && Couleur != CM_Blanc && Couleur != CM_Trans)) if (type==1 && (Couleur != CM_Noir && Couleur != CM_Fonce && Couleur != CM_Clair && Couleur != CM_Blanc && Couleur != CM_Trans))
{ {
printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the mouse colors (which were detected as %d,%d,%d,%d,%d.\n", printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the mouse colors (which were detected as %d,%d,%d,%d,%d.\n",
Debut_X, Debut_Y, height, width, Section, X, Y, Couleur, CM_Noir, CM_Fonce, CM_Clair, CM_Blanc, CM_Trans); Debut_X, Debut_Y, height, width, section, x, y, Couleur, CM_Noir, CM_Fonce, CM_Clair, CM_Blanc, CM_Trans);
Erreur(ERREUR_GUI_CORROMPU); Erreur(ERREUR_GUI_CORROMPU);
} }
if (Type==2) if (type==2)
{ {
if (Couleur != CM_Blanc && Couleur != CM_Trans) if (Couleur != CM_Blanc && Couleur != CM_Trans)
{ {
printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the brush colors (which were detected as %d on %d.\n", printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the brush colors (which were detected as %d on %d.\n",
Debut_X, Debut_Y, height, width, Section, X, Y, Couleur, CM_Blanc, CM_Trans); Debut_X, Debut_Y, height, width, section, x, y, Couleur, CM_Blanc, CM_Trans);
Erreur(ERREUR_GUI_CORROMPU); Erreur(ERREUR_GUI_CORROMPU);
} }
// Conversion en 0/1 pour les brosses monochromes internes // Conversion en 0/1 pour les brosses monochromes internes
@ -173,19 +173,19 @@ void Lire_bloc(SDL_Surface *gui, int Debut_X, int Debut_Y, void *Dest, int width
} }
} }
void Lire_trame(SDL_Surface *gui, int Debut_X, int Debut_Y, word *Dest, char * Section) void Lire_trame(SDL_Surface *gui, int Debut_X, int Debut_Y, word *Dest, char * section)
{ {
byte Buffer[256]; byte Buffer[256];
int X,Y; int x,y;
Lire_bloc(gui, Debut_X, Debut_Y, Buffer, 16, 16, Section, 2); Lire_bloc(gui, Debut_X, Debut_Y, Buffer, 16, 16, section, 2);
for (Y=0; Y<16; Y++) for (y=0; y<16; y++)
{ {
*Dest=0; *Dest=0;
for (X=0; X<16; X++) for (x=0; x<16; x++)
{ {
*Dest=*Dest | Buffer[Y*16+X]<<X; *Dest=*Dest | Buffer[y*16+x]<<x;
} }
Dest++; Dest++;
} }
@ -1120,14 +1120,14 @@ void Initialisation_des_operations(void)
{ {
byte number; // Numéro de l'option en cours d'auto-initialisation byte number; // Numéro de l'option en cours d'auto-initialisation
byte Bouton; // Bouton souris en cours d'auto-initialisation byte Bouton; // Bouton souris en cours d'auto-initialisation
byte Taille; // Taille de la pile en cours d'auto-initialisation byte stack_index; // Taille de la pile en cours d'auto-initialisation
// Auto-initialisation des opérations (vers des actions inoffensives) // Auto-initialisation des opérations (vers des actions inoffensives)
for (number=0;number<NB_OPERATIONS;number++) for (number=0;number<NB_OPERATIONS;number++)
for (Bouton=0;Bouton<3;Bouton++) for (Bouton=0;Bouton<3;Bouton++)
for (Taille=0;Taille<TAILLE_PILE_OPERATIONS;Taille++) for (stack_index=0;stack_index<TAILLE_PILE_OPERATIONS;stack_index++)
Initialiser_operation(number,Bouton,Taille,Print_coordonnees,0); Initialiser_operation(number,Bouton,stack_index,Print_coordonnees,0);
// Ici viennent les déclarations détaillées des opérations // Ici viennent les déclarations détaillées des opérations
@ -1661,7 +1661,7 @@ int Charger_CFG(int Tout_charger)
char Nom_du_fichier[TAILLE_CHEMIN_FICHIER]; char Nom_du_fichier[TAILLE_CHEMIN_FICHIER];
long Taille_fichier; long Taille_fichier;
int Indice,Indice2; int Indice,Indice2;
Config_Header CFG_Header; Config_Header cfg_header;
Config_Chunk Chunk; Config_Chunk Chunk;
Config_Infos_touche CFG_Infos_touche; Config_Infos_touche CFG_Infos_touche;
Config_Mode_video CFG_Mode_video; Config_Mode_video CFG_Mode_video;
@ -1677,48 +1677,48 @@ int Charger_CFG(int Tout_charger)
if ((Handle=fopen(Nom_du_fichier,"rb"))==NULL) if ((Handle=fopen(Nom_du_fichier,"rb"))==NULL)
return ERREUR_CFG_ABSENT; return ERREUR_CFG_ABSENT;
if ( (Taille_fichier<(long)sizeof(CFG_Header)) if ( (Taille_fichier<(long)sizeof(cfg_header))
|| (!read_bytes(Handle, &CFG_Header.Signature, 3)) || (!read_bytes(Handle, &cfg_header.Signature, 3))
|| memcmp(CFG_Header.Signature,"CFG",3) || memcmp(cfg_header.Signature,"CFG",3)
|| (!read_byte(Handle, &CFG_Header.Version1)) || (!read_byte(Handle, &cfg_header.Version1))
|| (!read_byte(Handle, &CFG_Header.Version2)) || (!read_byte(Handle, &cfg_header.Version2))
|| (!read_byte(Handle, &CFG_Header.Beta1)) || (!read_byte(Handle, &cfg_header.Beta1))
|| (!read_byte(Handle, &CFG_Header.Beta2)) ) || (!read_byte(Handle, &cfg_header.Beta2)) )
goto Erreur_lecture_config; goto Erreur_lecture_config;
// Version DOS de Robinson et X-Man // Version DOS de Robinson et X-Man
if ( (CFG_Header.Version1== 2) if ( (cfg_header.Version1== 2)
&& (CFG_Header.Version2== 0) && (cfg_header.Version2== 0)
&& (CFG_Header.Beta1== 96)) && (cfg_header.Beta1== 96))
{ {
// Les touches (scancodes) sont à convertir) // Les touches (scancodes) sont à convertir)
Conversion_touches = 1; Conversion_touches = 1;
} }
// Version SDL jusqu'a 98% // Version SDL jusqu'a 98%
else if ( (CFG_Header.Version1== 2) else if ( (cfg_header.Version1== 2)
&& (CFG_Header.Version2== 0) && (cfg_header.Version2== 0)
&& (CFG_Header.Beta1== 97)) && (cfg_header.Beta1== 97))
{ {
// Les touches 00FF (pas de touche) sont a comprendre comme 0x0000 // Les touches 00FF (pas de touche) sont a comprendre comme 0x0000
Conversion_touches = 2; Conversion_touches = 2;
} }
// Version SDL // Version SDL
else if ( (CFG_Header.Version1!=VERSION1) else if ( (cfg_header.Version1!=VERSION1)
|| (CFG_Header.Version2!=VERSION2) || (cfg_header.Version2!=VERSION2)
|| (CFG_Header.Beta1!=BETA1) || (cfg_header.Beta1!=BETA1)
|| (CFG_Header.Beta2!=BETA2) ) || (cfg_header.Beta2!=BETA2) )
goto Erreur_config_ancienne; goto Erreur_config_ancienne;
// - Lecture des infos contenues dans le fichier de config - // - Lecture des infos contenues dans le fichier de config -
while (read_byte(Handle, &Chunk.Number)) while (read_byte(Handle, &Chunk.Number))
{ {
read_word_le(Handle, &Chunk.Taille); read_word_le(Handle, &Chunk.Size);
switch (Chunk.Number) switch (Chunk.Number)
{ {
case CHUNK_TOUCHES: // Touches case CHUNK_TOUCHES: // Touches
if (Tout_charger) if (Tout_charger)
{ {
for (Indice=0; Indice<(long)(Chunk.Taille/sizeof(CFG_Infos_touche)); Indice++) for (Indice=0; Indice<(long)(Chunk.Size/sizeof(CFG_Infos_touche)); Indice++)
{ {
if (!read_word_le(Handle, &CFG_Infos_touche.Number) || if (!read_word_le(Handle, &CFG_Infos_touche.Number) ||
!read_word_le(Handle, &CFG_Infos_touche.Touche) || !read_word_le(Handle, &CFG_Infos_touche.Touche) ||
@ -1766,12 +1766,12 @@ int Charger_CFG(int Tout_charger)
} }
else else
{ {
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1) if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config; goto Erreur_lecture_config;
} }
break; break;
case CHUNK_MODES_VIDEO: // Modes vidéo case CHUNK_MODES_VIDEO: // Modes vidéo
for (Indice=0; Indice<(long)(Chunk.Taille/sizeof(CFG_Mode_video)); Indice++) for (Indice=0; Indice<(long)(Chunk.Size/sizeof(CFG_Mode_video)); Indice++)
{ {
if (!read_byte(Handle, &CFG_Mode_video.Etat) || if (!read_byte(Handle, &CFG_Mode_video.Etat) ||
!read_word_le(Handle, &CFG_Mode_video.Width) || !read_word_le(Handle, &CFG_Mode_video.Width) ||
@ -1818,7 +1818,7 @@ int Charger_CFG(int Tout_charger)
} }
else else
{ {
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1) if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config; goto Erreur_lecture_config;
} }
break; break;
@ -1830,7 +1830,7 @@ int Charger_CFG(int Tout_charger)
} }
else else
{ {
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1) if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config; goto Erreur_lecture_config;
} }
break; break;
@ -1842,7 +1842,7 @@ int Charger_CFG(int Tout_charger)
} }
else else
{ {
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1) if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config; goto Erreur_lecture_config;
} }
break; break;
@ -1864,7 +1864,7 @@ int Charger_CFG(int Tout_charger)
} }
else else
{ {
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1) if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config; goto Erreur_lecture_config;
} }
break; break;
@ -1878,7 +1878,7 @@ int Charger_CFG(int Tout_charger)
} }
else else
{ {
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1) if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config; goto Erreur_lecture_config;
} }
break; break;
@ -1890,7 +1890,7 @@ int Charger_CFG(int Tout_charger)
} }
else else
{ {
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1) if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config; goto Erreur_lecture_config;
} }
break; break;
@ -1904,7 +1904,7 @@ int Charger_CFG(int Tout_charger)
} }
else else
{ {
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1) if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config; goto Erreur_lecture_config;
} }
break; break;
@ -1922,7 +1922,7 @@ int Charger_CFG(int Tout_charger)
} }
else else
{ {
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1) if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config; goto Erreur_lecture_config;
} }
break; break;
@ -1952,7 +1952,7 @@ int Sauver_CFG(void)
int Indice2; int Indice2;
int Modes_a_sauver; int Modes_a_sauver;
char Nom_du_fichier[TAILLE_CHEMIN_FICHIER]; char Nom_du_fichier[TAILLE_CHEMIN_FICHIER];
Config_Header CFG_Header; Config_Header cfg_header;
Config_Chunk Chunk; Config_Chunk Chunk;
Config_Infos_touche CFG_Infos_touche; Config_Infos_touche CFG_Infos_touche;
Config_Mode_video CFG_Mode_video; Config_Mode_video CFG_Mode_video;
@ -1964,24 +1964,24 @@ int Sauver_CFG(void)
return ERREUR_SAUVEGARDE_CFG; return ERREUR_SAUVEGARDE_CFG;
// Ecriture du header // Ecriture du header
memcpy(CFG_Header.Signature,"CFG",3); memcpy(cfg_header.Signature,"CFG",3);
CFG_Header.Version1=VERSION1; cfg_header.Version1=VERSION1;
CFG_Header.Version2=VERSION2; cfg_header.Version2=VERSION2;
CFG_Header.Beta1 =BETA1; cfg_header.Beta1 =BETA1;
CFG_Header.Beta2 =BETA2; cfg_header.Beta2 =BETA2;
if (!write_bytes(Handle, &CFG_Header.Signature,3) || if (!write_bytes(Handle, &cfg_header.Signature,3) ||
!write_byte(Handle, CFG_Header.Version1) || !write_byte(Handle, cfg_header.Version1) ||
!write_byte(Handle, CFG_Header.Version2) || !write_byte(Handle, cfg_header.Version2) ||
!write_byte(Handle, CFG_Header.Beta1) || !write_byte(Handle, cfg_header.Beta1) ||
!write_byte(Handle, CFG_Header.Beta2) ) !write_byte(Handle, cfg_header.Beta2) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
// Enregistrement des touches // Enregistrement des touches
Chunk.Number=CHUNK_TOUCHES; Chunk.Number=CHUNK_TOUCHES;
Chunk.Taille=NB_TOUCHES*sizeof(CFG_Infos_touche); Chunk.Size=NB_TOUCHES*sizeof(CFG_Infos_touche);
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
for (Indice=0; Indice<NB_TOUCHES; Indice++) for (Indice=0; Indice<NB_TOUCHES; Indice++)
{ {
@ -2015,10 +2015,10 @@ int Sauver_CFG(void)
// Sauvegarde de l'état de chaque mode vidéo // Sauvegarde de l'état de chaque mode vidéo
Chunk.Number=CHUNK_MODES_VIDEO; Chunk.Number=CHUNK_MODES_VIDEO;
Chunk.Taille=Modes_a_sauver * sizeof(CFG_Mode_video); Chunk.Size=Modes_a_sauver * sizeof(CFG_Mode_video);
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
for (Indice=1; Indice<Nb_modes_video; Indice++) for (Indice=1; Indice<Nb_modes_video; Indice++)
if (Mode_video[Indice].Etat==0 || Mode_video[Indice].Etat==2 || Mode_video[Indice].Etat==3) if (Mode_video[Indice].Etat==0 || Mode_video[Indice].Etat==2 || Mode_video[Indice].Etat==3)
@ -2035,9 +2035,9 @@ int Sauver_CFG(void)
// Ecriture des données du Shade (précédées du shade en cours) // Ecriture des données du Shade (précédées du shade en cours)
Chunk.Number=CHUNK_SHADE; Chunk.Number=CHUNK_SHADE;
Chunk.Taille=sizeof(Shade_Liste)+sizeof(Shade_Actuel); Chunk.Size=sizeof(Shade_Liste)+sizeof(Shade_Actuel);
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
if (!write_byte(Handle, Shade_Actuel)) if (!write_byte(Handle, Shade_Actuel))
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
@ -2055,27 +2055,27 @@ int Sauver_CFG(void)
// Sauvegarde des informations du Masque // Sauvegarde des informations du Masque
Chunk.Number=CHUNK_MASQUE; Chunk.Number=CHUNK_MASQUE;
Chunk.Taille=sizeof(Mask_table); Chunk.Size=sizeof(Mask_table);
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
if (!write_bytes(Handle, Mask_table,256)) if (!write_bytes(Handle, Mask_table,256))
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
// Sauvegarde des informations du Stencil // Sauvegarde des informations du Stencil
Chunk.Number=CHUNK_STENCIL; Chunk.Number=CHUNK_STENCIL;
Chunk.Taille=sizeof(Stencil); Chunk.Size=sizeof(Stencil);
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
if (!write_bytes(Handle, Stencil,256)) if (!write_bytes(Handle, Stencil,256))
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
// Sauvegarde des informations des dégradés // Sauvegarde des informations des dégradés
Chunk.Number=CHUNK_DEGRADES; Chunk.Number=CHUNK_DEGRADES;
Chunk.Taille=sizeof(Degrade_Tableau)+1; Chunk.Size=sizeof(Degrade_Tableau)+1;
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
if (!write_byte(Handle, Degrade_Courant)) if (!write_byte(Handle, Degrade_Courant))
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
@ -2091,9 +2091,9 @@ int Sauver_CFG(void)
// Sauvegarde de la matrice du Smooth // Sauvegarde de la matrice du Smooth
Chunk.Number=CHUNK_SMOOTH; Chunk.Number=CHUNK_SMOOTH;
Chunk.Taille=sizeof(Smooth_Matrice); Chunk.Size=sizeof(Smooth_Matrice);
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
for (Indice=0; Indice<3; Indice++) for (Indice=0; Indice<3; Indice++)
for (Indice2=0; Indice2<3; Indice2++) for (Indice2=0; Indice2<3; Indice2++)
@ -2102,18 +2102,18 @@ int Sauver_CFG(void)
// Sauvegarde des couleurs à exclure // Sauvegarde des couleurs à exclure
Chunk.Number=CHUNK_EXCLUDE_COLORS; Chunk.Number=CHUNK_EXCLUDE_COLORS;
Chunk.Taille=sizeof(Exclude_color); Chunk.Size=sizeof(Exclude_color);
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
if (!write_bytes(Handle, Exclude_color, 256)) if (!write_bytes(Handle, Exclude_color, 256))
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
// Sauvegarde des informations du Quick-shade // Sauvegarde des informations du Quick-shade
Chunk.Number=CHUNK_QUICK_SHADE; Chunk.Number=CHUNK_QUICK_SHADE;
Chunk.Taille=sizeof(Quick_shade_Step)+sizeof(Quick_shade_Loop); Chunk.Size=sizeof(Quick_shade_Step)+sizeof(Quick_shade_Loop);
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
if (!write_byte(Handle, Quick_shade_Step)) if (!write_byte(Handle, Quick_shade_Step))
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
@ -2122,9 +2122,9 @@ int Sauver_CFG(void)
// Sauvegarde des informations de la grille // Sauvegarde des informations de la grille
Chunk.Number=CHUNK_GRILLE; Chunk.Number=CHUNK_GRILLE;
Chunk.Taille=8; Chunk.Size=8;
if (!write_byte(Handle, Chunk.Number) || if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) ) !write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;
if (!write_word_le(Handle, Snap_Largeur)) if (!write_word_le(Handle, Snap_Largeur))
goto Erreur_sauvegarde_config; goto Erreur_sauvegarde_config;

28
input.c
View File

@ -87,7 +87,7 @@ int Est_Raccourci(word Touche, word function)
// Called each time there is a cursor move, either triggered by mouse or keyboard shortcuts // Called each time there is a cursor move, either triggered by mouse or keyboard shortcuts
int Move_cursor_with_constraints() int Move_cursor_with_constraints()
{ {
int Retour=0; int feedback=0;
//Gestion "avancée" du curseur: interdire la descente du curseur dans le //Gestion "avancée" du curseur: interdire la descente du curseur dans le
//menu lorsqu'on est en train de travailler dans l'image //menu lorsqu'on est en train de travailler dans l'image
@ -136,7 +136,7 @@ int Move_cursor_with_constraints()
(INPUT_Nouveau_Mouse_K != Mouse_K)) (INPUT_Nouveau_Mouse_K != Mouse_K))
{ {
if ((INPUT_Nouveau_Mouse_K != Mouse_K)) if ((INPUT_Nouveau_Mouse_K != Mouse_K))
Retour=1; feedback=1;
Effacer_curseur(); // On efface le curseur AVANT de le déplacer... Effacer_curseur(); // On efface le curseur AVANT de le déplacer...
Mouse_X=INPUT_Nouveau_Mouse_X; Mouse_X=INPUT_Nouveau_Mouse_X;
Mouse_Y=INPUT_Nouveau_Mouse_Y; Mouse_Y=INPUT_Nouveau_Mouse_Y;
@ -146,10 +146,10 @@ int Move_cursor_with_constraints()
Mouse_count++; Mouse_count++;
if (Mouse_count>Config.Mouse_Merge_movement) if (Mouse_count>Config.Mouse_Merge_movement)
Retour=1; feedback=1;
} }
return Retour; return feedback;
} }
// Fonction qui filtre les evenements génériques. // Fonction qui filtre les evenements génériques.
@ -549,32 +549,32 @@ void Handle_Joystick_Movement(SDL_JoyAxisEvent event)
// Attempts to move the mouse cursor by the given deltas (may be more than 1 pixel at a time) // Attempts to move the mouse cursor by the given deltas (may be more than 1 pixel at a time)
int Cursor_displace(short Delta_X, short Delta_Y) int Cursor_displace(short Delta_X, short Delta_Y)
{ {
short X=INPUT_Nouveau_Mouse_X; short x=INPUT_Nouveau_Mouse_X;
short Y=INPUT_Nouveau_Mouse_Y; short y=INPUT_Nouveau_Mouse_Y;
if(Loupe_Mode && INPUT_Nouveau_Mouse_Y < Menu_Ordonnee && INPUT_Nouveau_Mouse_X > Principal_Split) if(Loupe_Mode && INPUT_Nouveau_Mouse_Y < Menu_Ordonnee && INPUT_Nouveau_Mouse_X > Principal_Split)
{ {
// Cursor in zoomed area // Cursor in zoomed area
if (Delta_X<0) if (Delta_X<0)
INPUT_Nouveau_Mouse_X = Max(Principal_Split, X-Loupe_Facteur); INPUT_Nouveau_Mouse_X = Max(Principal_Split, x-Loupe_Facteur);
else if (Delta_X>0) else if (Delta_X>0)
INPUT_Nouveau_Mouse_X = Min(Largeur_ecran-1, X+Loupe_Facteur); INPUT_Nouveau_Mouse_X = Min(Largeur_ecran-1, x+Loupe_Facteur);
if (Delta_Y<0) if (Delta_Y<0)
INPUT_Nouveau_Mouse_Y = Max(0, Y-Loupe_Facteur); INPUT_Nouveau_Mouse_Y = Max(0, y-Loupe_Facteur);
else if (Delta_Y>0) else if (Delta_Y>0)
INPUT_Nouveau_Mouse_Y = Min(Hauteur_ecran-1, Y+Loupe_Facteur); INPUT_Nouveau_Mouse_Y = Min(Hauteur_ecran-1, y+Loupe_Facteur);
} }
else else
{ {
if (Delta_X<0) if (Delta_X<0)
INPUT_Nouveau_Mouse_X = Max(0, X+Delta_X); INPUT_Nouveau_Mouse_X = Max(0, x+Delta_X);
else if (Delta_X>0) else if (Delta_X>0)
INPUT_Nouveau_Mouse_X = Min(Largeur_ecran-1, X+Delta_X); INPUT_Nouveau_Mouse_X = Min(Largeur_ecran-1, x+Delta_X);
if (Delta_Y<0) if (Delta_Y<0)
INPUT_Nouveau_Mouse_Y = Max(0, Y+Delta_Y); INPUT_Nouveau_Mouse_Y = Max(0, y+Delta_Y);
else if (Delta_Y>0) else if (Delta_Y>0)
INPUT_Nouveau_Mouse_Y = Min(Hauteur_ecran-1, Y+Delta_Y); INPUT_Nouveau_Mouse_Y = Min(Hauteur_ecran-1, y+Delta_Y);
} }
return Move_cursor_with_constraints(); return Move_cursor_with_constraints();
} }

8
io.c
View File

@ -71,15 +71,15 @@ int write_byte(FILE *file, byte b)
} }
// Lit des octets // Lit des octets
// Renvoie -1 si OK, 0 en cas d'erreur // Renvoie -1 si OK, 0 en cas d'erreur
int read_bytes(FILE *file, void *Dest, size_t Taille) int read_bytes(FILE *file, void *Dest, size_t size)
{ {
return fread(Dest, 1, Taille, file) == Taille; return fread(Dest, 1, size, file) == size;
} }
// Ecrit des octets // Ecrit des octets
// Renvoie -1 si OK, 0 en cas d'erreur // Renvoie -1 si OK, 0 en cas d'erreur
int write_bytes(FILE *file, void *Src, size_t Taille) int write_bytes(FILE *file, void *Src, size_t size)
{ {
return fwrite(Src, 1, Taille, file) == Taille; return fwrite(Src, 1, size, file) == size;
} }
// Lit un word (little-endian) // Lit un word (little-endian)

4
io.h
View File

@ -25,8 +25,8 @@ dword endian_magic32(dword x);
int read_byte(FILE *file, byte *Dest); int read_byte(FILE *file, byte *Dest);
int write_byte(FILE *file, byte b); int write_byte(FILE *file, byte b);
int read_bytes(FILE *file, void *Dest, size_t Taille); int read_bytes(FILE *file, void *Dest, size_t size);
int write_bytes(FILE *file, void *Dest, size_t Taille); int write_bytes(FILE *file, void *Dest, size_t size);
int read_word_le(FILE *file, word *Dest); int read_word_le(FILE *file, word *Dest);
int write_word_le(FILE *file, word w); int write_word_le(FILE *file, word w);

File diff suppressed because it is too large Load Diff

14
main.c
View File

@ -615,7 +615,7 @@ int Initialisation_du_programme(int argc,char * argv[])
// ------------------------- Fermeture du programme -------------------------- // ------------------------- Fermeture du programme --------------------------
void Fermeture_du_programme(void) void Fermeture_du_programme(void)
{ {
int Retour; int return_code;
// On libère le buffer de gestion de lignes // On libère le buffer de gestion de lignes
free(Buffer_de_ligne_horizontale); free(Buffer_de_ligne_horizontale);
@ -635,12 +635,12 @@ void Fermeture_du_programme(void)
// On sauvegarde les données dans le .CFG et dans le .INI // On sauvegarde les données dans le .CFG et dans le .INI
if (Config.Auto_save) if (Config.Auto_save)
{ {
Retour=Sauver_CFG(); return_code=Sauver_CFG();
if (Retour) if (return_code)
Erreur(Retour); Erreur(return_code);
Retour=Sauver_INI(&Config); return_code=Sauver_INI(&Config);
if (Retour) if (return_code)
Erreur(Retour); Erreur(return_code);
} }
} }
else else

View File

@ -1093,7 +1093,7 @@ void Gestion_principale(void)
//----------------------- Tracer une fenêtre d'options ----------------------- //----------------------- Tracer une fenêtre d'options -----------------------
void Ouvrir_fenetre(word width,word height, char * Titre) void Ouvrir_fenetre(word width,word height, char * title)
// Lors de l'appel à cette procédure, la souris doit être affichée. // Lors de l'appel à cette procédure, la souris doit être affichée.
// En sortie de cette procedure, la souris est effacée. // En sortie de cette procedure, la souris est effacée.
{ {
@ -1127,7 +1127,7 @@ void Ouvrir_fenetre(word width,word height, char * Titre)
Block(Fenetre_Pos_X+(Menu_Facteur_X<<3),Fenetre_Pos_Y+(11*Menu_Facteur_Y),(width-16)*Menu_Facteur_X,Menu_Facteur_Y,CM_Fonce); Block(Fenetre_Pos_X+(Menu_Facteur_X<<3),Fenetre_Pos_Y+(11*Menu_Facteur_Y),(width-16)*Menu_Facteur_X,Menu_Facteur_Y,CM_Fonce);
Block(Fenetre_Pos_X+(Menu_Facteur_X<<3),Fenetre_Pos_Y+(12*Menu_Facteur_Y),(width-16)*Menu_Facteur_X,Menu_Facteur_Y,CM_Blanc); Block(Fenetre_Pos_X+(Menu_Facteur_X<<3),Fenetre_Pos_Y+(12*Menu_Facteur_Y),(width-16)*Menu_Facteur_X,Menu_Facteur_Y,CM_Blanc);
Print_dans_fenetre((width-(strlen(Titre)<<3))>>1,3,Titre,CM_Noir,CM_Clair); Print_dans_fenetre((width-(strlen(title)<<3))>>1,3,title,CM_Noir,CM_Clair);
if (Fenetre == 1) if (Fenetre == 1)
{ {
@ -1235,7 +1235,7 @@ void Fermer_fenetre(void)
//---------------- Dessiner un bouton normal dans une fenêtre ---------------- //---------------- Dessiner un bouton normal dans une fenêtre ----------------
void Fenetre_Dessiner_bouton_normal(word x_pos,word y_pos,word width,word height, void Fenetre_Dessiner_bouton_normal(word x_pos,word y_pos,word width,word height,
char * Titre,byte Lettre_soulignee,byte clickable) char * title,byte Lettre_soulignee,byte clickable)
{ {
byte Couleur_titre; byte Couleur_titre;
word Pos_texte_X,Pos_texte_Y; word Pos_texte_X,Pos_texte_Y;
@ -1253,9 +1253,9 @@ void Fenetre_Dessiner_bouton_normal(word x_pos,word y_pos,word width,word height
Couleur_titre=CM_Fonce; Couleur_titre=CM_Fonce;
} }
Pos_texte_X=x_pos+( (width-(strlen(Titre)<<3)+1) >>1 ); Pos_texte_X=x_pos+( (width-(strlen(title)<<3)+1) >>1 );
Pos_texte_Y=y_pos+((height-7)>>1); Pos_texte_Y=y_pos+((height-7)>>1);
Print_dans_fenetre(Pos_texte_X,Pos_texte_Y,Titre,Couleur_titre,CM_Clair); Print_dans_fenetre(Pos_texte_X,Pos_texte_Y,title,Couleur_titre,CM_Clair);
if (Lettre_soulignee) if (Lettre_soulignee)
Block(Fenetre_Pos_X+((Pos_texte_X+((Lettre_soulignee-1)<<3))*Menu_Facteur_X), Block(Fenetre_Pos_X+((Pos_texte_X+((Lettre_soulignee-1)<<3))*Menu_Facteur_X),
@ -1452,7 +1452,7 @@ void Fenetre_Effacer_bouton_saisie(T_Bouton_special * button)
T_Bouton_normal * Fenetre_Definir_bouton_normal(word x_pos, word y_pos, T_Bouton_normal * Fenetre_Definir_bouton_normal(word x_pos, word y_pos,
word width, word height, word width, word height,
char * Titre, byte Lettre_soulignee, char * title, byte Lettre_soulignee,
byte clickable, word Raccourci) byte clickable, word Raccourci)
{ {
T_Bouton_normal * Temp=NULL; T_Bouton_normal * Temp=NULL;
@ -1474,14 +1474,14 @@ T_Bouton_normal * Fenetre_Definir_bouton_normal(word x_pos, word y_pos,
Fenetre_Liste_boutons_normal=Temp; Fenetre_Liste_boutons_normal=Temp;
} }
Fenetre_Dessiner_bouton_normal(x_pos,y_pos,width,height,Titre,Lettre_soulignee,clickable); Fenetre_Dessiner_bouton_normal(x_pos,y_pos,width,height,title,Lettre_soulignee,clickable);
return Temp; return Temp;
} }
//------ Rajout d'un bouton à la liste de ceux présents dans la fenêtre ------ //------ Rajout d'un bouton à la liste de ceux présents dans la fenêtre ------
T_Bouton_normal * Fenetre_Definir_bouton_repetable(word x_pos, word y_pos, T_Bouton_normal * Fenetre_Definir_bouton_repetable(word x_pos, word y_pos,
word width, word height, word width, word height,
char * Titre, byte Lettre_soulignee, char * title, byte Lettre_soulignee,
byte clickable, word Raccourci) byte clickable, word Raccourci)
{ {
T_Bouton_normal * Temp=NULL; T_Bouton_normal * Temp=NULL;
@ -1503,7 +1503,7 @@ T_Bouton_normal * Fenetre_Definir_bouton_repetable(word x_pos, word y_pos,
Fenetre_Liste_boutons_normal=Temp; Fenetre_Liste_boutons_normal=Temp;
} }
Fenetre_Dessiner_bouton_normal(x_pos,y_pos,width,height,Titre,Lettre_soulignee,clickable); Fenetre_Dessiner_bouton_normal(x_pos,y_pos,width,height,title,Lettre_soulignee,clickable);
return Temp; return Temp;
} }

View File

@ -25,14 +25,14 @@ void Desenclencher_bouton (int btn_number);
void Enclencher_bouton (int btn_number,byte click); void Enclencher_bouton (int btn_number,byte click);
void Annuler_les_effets (void); void Annuler_les_effets (void);
void Restaurer_les_effets (void); void Restaurer_les_effets (void);
void Ouvrir_fenetre (word width,word height, char * Titre); void Ouvrir_fenetre (word width,word height, char * title);
void Fermer_fenetre (void); void Fermer_fenetre (void);
void Ouvrir_popup (word x_pos, word y_pos, word width, word height); void Ouvrir_popup (word x_pos, word y_pos, word width, word height);
void Fermer_popup (void); void Fermer_popup (void);
void Fenetre_Dessiner_bouton_normal(word x_pos,word y_pos,word width,word height, void Fenetre_Dessiner_bouton_normal(word x_pos,word y_pos,word width,word height,
char * Titre,byte Lettre_soulignee,byte clickable); char * title,byte Lettre_soulignee,byte clickable);
void Fenetre_Enfoncer_bouton_normal(word x_pos,word y_pos,word width,word height); void Fenetre_Enfoncer_bouton_normal(word x_pos,word y_pos,word width,word height);
void Fenetre_Desenfoncer_bouton_normal(word x_pos,word y_pos,word width,word height); void Fenetre_Desenfoncer_bouton_normal(word x_pos,word y_pos,word width,word height);
void Fenetre_Dessiner_bouton_palette(word x_pos,word y_pos); void Fenetre_Dessiner_bouton_palette(word x_pos,word y_pos);
@ -47,11 +47,11 @@ void Fenetre_Dessiner_bouton_saisie(word x_pos,word y_pos,word Largeur_en_caract
T_Bouton_normal * Fenetre_Definir_bouton_normal(word x_pos, word y_pos, T_Bouton_normal * Fenetre_Definir_bouton_normal(word x_pos, word y_pos,
word width, word height, word width, word height,
char * Titre,byte Lettre_soulignee, char * title,byte Lettre_soulignee,
byte clickable, word Raccourci); byte clickable, word Raccourci);
T_Bouton_normal * Fenetre_Definir_bouton_repetable(word x_pos, word y_pos, T_Bouton_normal * Fenetre_Definir_bouton_repetable(word x_pos, word y_pos,
word width, word height, word width, word height,
char * Titre,byte Lettre_soulignee, char * title,byte Lettre_soulignee,
byte clickable, word Raccourci); byte clickable, word Raccourci);
T_Bouton_palette * Fenetre_Definir_bouton_palette(word x_pos, word y_pos); T_Bouton_palette * Fenetre_Definir_bouton_palette(word x_pos, word y_pos);

108
op_c.c
View File

@ -170,7 +170,7 @@ void HSLtoRGB(byte h,byte s,byte l, byte* r, byte* g, byte* b)
Table_conversion * TC_New(int nbb_r,int nbb_g,int nbb_b) Table_conversion * TC_New(int nbb_r,int nbb_g,int nbb_b)
{ {
Table_conversion * n; Table_conversion * n;
int Taille; int size;
n=(Table_conversion *)malloc(sizeof(Table_conversion)); n=(Table_conversion *)malloc(sizeof(Table_conversion));
if (n!=NULL) if (n!=NULL)
@ -192,11 +192,11 @@ Table_conversion * TC_New(int nbb_r,int nbb_g,int nbb_b)
n->red_b=8-nbb_b; n->red_b=8-nbb_b;
// On tente d'allouer la table // On tente d'allouer la table
Taille=(n->rng_r)*(n->rng_v)*(n->rng_b); size=(n->rng_r)*(n->rng_v)*(n->rng_b);
n->table=(byte *)malloc(Taille); n->table=(byte *)malloc(size);
if (n->table!=NULL) if (n->table!=NULL)
// C'est bon! // C'est bon!
memset(n->table,0,Taille); // Inutile, mais plus propre memset(n->table,0,size); // Inutile, mais plus propre
else else
{ {
// Table impossible … allouer // Table impossible … allouer
@ -245,16 +245,16 @@ void TC_Set(Table_conversion * t,int r,int g,int b,byte i)
void TO_Init(Table_occurence * t) void TO_Init(Table_occurence * t)
{ {
int Taille; int size;
Taille=(t->rng_r)*(t->rng_v)*(t->rng_b)*sizeof(int); size=(t->rng_r)*(t->rng_v)*(t->rng_b)*sizeof(int);
memset(t->table,0,Taille); // On initialise … 0 memset(t->table,0,size); // On initialise … 0
} }
Table_occurence * TO_New(int nbb_r,int nbb_g,int nbb_b) Table_occurence * TO_New(int nbb_r,int nbb_g,int nbb_b)
{ {
Table_occurence * n; Table_occurence * n;
int Taille; int size;
n=(Table_occurence *)malloc(sizeof(Table_occurence)); n=(Table_occurence *)malloc(sizeof(Table_occurence));
if (n!=0) if (n!=0)
@ -276,8 +276,8 @@ Table_occurence * TO_New(int nbb_r,int nbb_g,int nbb_b)
n->red_b=8-nbb_b; n->red_b=8-nbb_b;
// On tente d'allouer la table // On tente d'allouer la table
Taille=(n->rng_r)*(n->rng_v)*(n->rng_b)*sizeof(int); size=(n->rng_r)*(n->rng_v)*(n->rng_b)*sizeof(int);
n->table=(int *)malloc(Taille); n->table=(int *)malloc(size);
if (n->table!=0) if (n->table!=0)
// C'est bon! On initialise … 0 // C'est bon! On initialise … 0
TO_Init(n); TO_Init(n);
@ -328,12 +328,12 @@ void TO_Inc(Table_occurence * t,int r,int g,int b)
t->table[index]++; t->table[index]++;
} }
void TO_Compter_occurences(Table_occurence * t,Bitmap24B image,int Taille) void TO_Compter_occurences(Table_occurence * t,Bitmap24B image,int size)
{ {
Bitmap24B ptr; Bitmap24B ptr;
int index; int index;
for (index=Taille,ptr=image;index>0;index--,ptr++) for (index=size,ptr=image;index>0;index--,ptr++)
TO_Inc(t,ptr->R,ptr->G,ptr->B); TO_Inc(t,ptr->R,ptr->G,ptr->B);
} }
@ -788,7 +788,7 @@ void CS_Set(ClusterSet * cs,Cluster * c)
// 6) On s'arrête quand on a le nombre de couleurs voulu // 6) On s'arrête quand on a le nombre de couleurs voulu
void CS_Generer(ClusterSet * cs,Table_occurence * to) void CS_Generer(ClusterSet * cs,Table_occurence * to)
{ {
Cluster Courant; Cluster current;
Cluster Nouveau1; Cluster Nouveau1;
Cluster Nouveau2; Cluster Nouveau2;
@ -796,10 +796,10 @@ void CS_Generer(ClusterSet * cs,Table_occurence * to)
while (cs->nb<cs->nb_max) while (cs->nb<cs->nb_max)
{ {
// On récupère le plus grand cluster // On récupère le plus grand cluster
CS_Get(cs,&Courant); CS_Get(cs,&current);
// On le coupe en deux // On le coupe en deux
Cluster_Split(&Courant,&Nouveau1,&Nouveau2,Courant.plus_large,to); Cluster_Split(&current,&Nouveau1,&Nouveau2,current.plus_large,to);
// On compacte ces deux nouveaux (il peut y avoir un espace entre l'endroit de la coupure et les premiers pixels du cluster) // On compacte ces deux nouveaux (il peut y avoir un espace entre l'endroit de la coupure et les premiers pixels du cluster)
Cluster_Analyser(&Nouveau1,to); Cluster_Analyser(&Nouveau1,to);
@ -1012,7 +1012,7 @@ void DS_Generer(DegradeSet * ds,ClusterSet * cs)
Table_conversion * Optimiser_palette(Bitmap24B image,int Taille,Composantes * palette,int r,int g,int b) Table_conversion * Optimiser_palette(Bitmap24B image,int size,Composantes * palette,int r,int g,int b)
{ {
Table_occurence * to; Table_occurence * to;
Table_conversion * tc; Table_conversion * tc;
@ -1030,7 +1030,7 @@ Table_conversion * Optimiser_palette(Bitmap24B image,int Taille,Composantes * pa
{ {
// Première étape : on compte les pixels de chaque couleur pour pouvoir trier là dessus // Première étape : on compte les pixels de chaque couleur pour pouvoir trier là dessus
TO_Compter_occurences(to,image,Taille); TO_Compter_occurences(to,image,size);
cs=CS_New(256,to); cs=CS_New(256,to);
if (cs!=0) if (cs!=0)
@ -1070,18 +1070,18 @@ Table_conversion * Optimiser_palette(Bitmap24B image,int Taille,Composantes * pa
return 0; return 0;
} }
int Valeur_modifiee(int Valeur,int modif) int Valeur_modifiee(int value,int modif)
{ {
Valeur+=modif; value+=modif;
if (Valeur<0) if (value<0)
{ {
Valeur=0; value=0;
} }
else if (Valeur>255) else if (value>255)
{ {
Valeur=255; value=255;
} }
return Valeur; return value;
} }
void Convert_bitmap_24B_to_256_Floyd_Steinberg(Bitmap256 Dest,Bitmap24B Source,int width,int height,Composantes * palette,Table_conversion * tc) void Convert_bitmap_24B_to_256_Floyd_Steinberg(Bitmap256 Dest,Bitmap24B Source,int width,int height,Composantes * palette,Table_conversion * tc)
@ -1089,22 +1089,22 @@ void Convert_bitmap_24B_to_256_Floyd_Steinberg(Bitmap256 Dest,Bitmap24B Source,i
// s'en ressert pas, soit on passe à la fonction une copie de travail du // s'en ressert pas, soit on passe à la fonction une copie de travail du
// bitmap original. // bitmap original.
{ {
Bitmap24B Courant; Bitmap24B current;
Bitmap24B C_plus1; Bitmap24B c_plus1;
Bitmap24B S_moins1; Bitmap24B u_minus1;
Bitmap24B Suivant; Bitmap24B next;
Bitmap24B S_plus1; Bitmap24B u_plus1;
Bitmap256 d; Bitmap256 d;
int x_pos,y_pos; int x_pos,y_pos;
int Rouge,Vert,Bleu; int Rouge,Vert,Bleu;
float ERouge,EVert,EBleu; float ERouge,EVert,EBleu;
// On initialise les variables de parcours: // On initialise les variables de parcours:
Courant =Source; // Le pixel dont on s'occupe current =Source; // Le pixel dont on s'occupe
Suivant =Courant+width; // Le pixel en dessous next =current+width; // Le pixel en dessous
C_plus1 =Courant+1; // Le pixel à droite c_plus1 =current+1; // Le pixel à droite
S_moins1=Suivant-1; // Le pixel en bas à gauche u_minus1=next-1; // Le pixel en bas à gauche
S_plus1 =Suivant+1; // Le pixel en bas à droite u_plus1 =next+1; // Le pixel en bas à droite
d =Dest; d =Dest;
// On parcours chaque pixel: // On parcours chaque pixel:
@ -1114,9 +1114,9 @@ void Convert_bitmap_24B_to_256_Floyd_Steinberg(Bitmap256 Dest,Bitmap24B Source,i
{ {
// On prends la meilleure couleur de la palette qui traduit la couleur // On prends la meilleure couleur de la palette qui traduit la couleur
// 24 bits de la source: // 24 bits de la source:
Rouge=Courant->R; Rouge=current->R;
Vert =Courant->G; Vert =current->G;
Bleu =Courant->B; Bleu =current->B;
// Cherche la couleur correspondant dans la palette et la range dans l'image de destination // Cherche la couleur correspondant dans la palette et la range dans l'image de destination
*d=TC_Get(tc,Rouge,Vert,Bleu); *d=TC_Get(tc,Rouge,Vert,Bleu);
@ -1133,9 +1133,9 @@ void Convert_bitmap_24B_to_256_Floyd_Steinberg(Bitmap256 Dest,Bitmap24B Source,i
if (x_pos+1<width) if (x_pos+1<width)
{ {
// Valeur_modifiee fait la somme des 2 params en bornant sur [0,255] // Valeur_modifiee fait la somme des 2 params en bornant sur [0,255]
C_plus1->R=Valeur_modifiee(C_plus1->R,ERouge); c_plus1->R=Valeur_modifiee(c_plus1->R,ERouge);
C_plus1->G=Valeur_modifiee(C_plus1->G,EVert ); c_plus1->G=Valeur_modifiee(c_plus1->G,EVert );
C_plus1->B=Valeur_modifiee(C_plus1->B,EBleu ); c_plus1->B=Valeur_modifiee(c_plus1->B,EBleu );
} }
// En bas à gauche: // En bas à gauche:
if (y_pos+1<height) if (y_pos+1<height)
@ -1145,35 +1145,35 @@ void Convert_bitmap_24B_to_256_Floyd_Steinberg(Bitmap256 Dest,Bitmap24B Source,i
EBleu =(Bleu *3)/16.0; EBleu =(Bleu *3)/16.0;
if (x_pos>0) if (x_pos>0)
{ {
S_moins1->R=Valeur_modifiee(S_moins1->R,ERouge); u_minus1->R=Valeur_modifiee(u_minus1->R,ERouge);
S_moins1->G=Valeur_modifiee(S_moins1->G,EVert ); u_minus1->G=Valeur_modifiee(u_minus1->G,EVert );
S_moins1->B=Valeur_modifiee(S_moins1->B,EBleu ); u_minus1->B=Valeur_modifiee(u_minus1->B,EBleu );
} }
// En bas: // En bas:
ERouge=(Rouge*5/16.0); ERouge=(Rouge*5/16.0);
EVert =(Vert*5 /16.0); EVert =(Vert*5 /16.0);
EBleu =(Bleu*5 /16.0); EBleu =(Bleu*5 /16.0);
Suivant->R=Valeur_modifiee(Suivant->R,ERouge); next->R=Valeur_modifiee(next->R,ERouge);
Suivant->G=Valeur_modifiee(Suivant->G,EVert ); next->G=Valeur_modifiee(next->G,EVert );
Suivant->B=Valeur_modifiee(Suivant->B,EBleu ); next->B=Valeur_modifiee(next->B,EBleu );
// En bas à droite: // En bas à droite:
if (x_pos+1<width) if (x_pos+1<width)
{ {
ERouge=(Rouge/16.0); ERouge=(Rouge/16.0);
EVert =(Vert /16.0); EVert =(Vert /16.0);
EBleu =(Bleu /16.0); EBleu =(Bleu /16.0);
S_plus1->R=Valeur_modifiee(S_plus1->R,ERouge); u_plus1->R=Valeur_modifiee(u_plus1->R,ERouge);
S_plus1->G=Valeur_modifiee(S_plus1->G,EVert ); u_plus1->G=Valeur_modifiee(u_plus1->G,EVert );
S_plus1->B=Valeur_modifiee(S_plus1->B,EBleu ); u_plus1->B=Valeur_modifiee(u_plus1->B,EBleu );
} }
} }
// On passe au pixel suivant : // On passe au pixel suivant :
Courant++; current++;
C_plus1++; c_plus1++;
S_moins1++; u_minus1++;
Suivant++; next++;
S_plus1++; u_plus1++;
d++; d++;
} }
} }

2
op_c.h
View File

@ -161,7 +161,7 @@ void TO_Delete(Table_occurence * t);
int TO_Get(Table_occurence * t,int r,int g,int b); int TO_Get(Table_occurence * t,int r,int g,int b);
void TO_Set(Table_occurence * t,int r,int g,int b,int i); void TO_Set(Table_occurence * t,int r,int g,int b,int i);
void TO_Inc(Table_occurence * t,int r,int g,int b); void TO_Inc(Table_occurence * t,int r,int g,int b);
void TO_Compter_occurences(Table_occurence * t,Bitmap24B image,int Taille); void TO_Compter_occurences(Table_occurence * t,Bitmap24B image,int size);

View File

@ -89,15 +89,15 @@ void Initialiser_debut_operation(void)
} }
void Operation_PUSH(short Valeur) void Operation_PUSH(short value)
{ {
Operation_Pile[++Operation_Taille_pile]=Valeur; Operation_Pile[++Operation_Taille_pile]=value;
} }
void Operation_POP(short * Valeur) void Operation_POP(short * value)
{ {
*Valeur=Operation_Pile[Operation_Taille_pile--]; *value=Operation_Pile[Operation_Taille_pile--];
} }
@ -3181,7 +3181,7 @@ void Etirer_brosse_1_7(void)
short width; short width;
short height; short height;
short Etat_prec; short Etat_prec;
short dx,dy,X,Y; short dx,dy,x,y;
Operation_POP(&Etat_prec); Operation_POP(&Etat_prec);
Operation_POP(&Ancien_Y); Operation_POP(&Ancien_Y);
@ -3217,15 +3217,15 @@ void Etirer_brosse_1_7(void)
Afficher_ecran(); Afficher_ecran();
X=Pinceau_X; x=Pinceau_X;
Y=Pinceau_Y; y=Pinceau_Y;
if (Snap_Mode && Config.Adjust_brush_pick) if (Snap_Mode && Config.Adjust_brush_pick)
{ {
dx=Pinceau_X-Debut_X; dx=Pinceau_X-Debut_X;
dy=Pinceau_Y-Debut_Y; dy=Pinceau_Y-Debut_Y;
if (dx<0) X++; else {if (dx>0) X--;} if (dx<0) x++; else {if (dx>0) x--;}
if (dy<0) Y++; else {if (dy>0) Y--;} if (dy<0) y++; else {if (dy>0) y--;}
Etirer_brosse_preview(Debut_X,Debut_Y,X,Y); Etirer_brosse_preview(Debut_X,Debut_Y,x,y);
} }
else else
Etirer_brosse_preview(Debut_X,Debut_Y,Pinceau_X,Pinceau_Y); Etirer_brosse_preview(Debut_X,Debut_Y,Pinceau_X,Pinceau_Y);
@ -3240,8 +3240,8 @@ void Etirer_brosse_1_7(void)
Afficher_curseur(); Afficher_curseur();
Operation_Taille_pile-=2; Operation_Taille_pile-=2;
Operation_PUSH(X); Operation_PUSH(x);
Operation_PUSH(Y); Operation_PUSH(y);
Operation_PUSH(Debut_X); Operation_PUSH(Debut_X);
Operation_PUSH(Debut_Y); Operation_PUSH(Debut_Y);

View File

@ -19,8 +19,8 @@
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
void Demarrer_pile_operation(word Operation_demandee); void Demarrer_pile_operation(word Operation_demandee);
void Operation_PUSH(short Valeur); void Operation_PUSH(short value);
void Operation_POP(short * Valeur); void Operation_POP(short * value);
//////////////////////////////////////////////////// OPERATION_DESSIN_CONTINU //////////////////////////////////////////////////// OPERATION_DESSIN_CONTINU
void Freehand_Mode1_1_0(void); void Freehand_Mode1_1_0(void);

56
pages.c
View File

@ -295,7 +295,7 @@ void Initialiser_S_Liste_de_pages(S_Liste_de_pages * list)
list->Pages=NULL; list->Pages=NULL;
} }
int Allouer_une_liste_de_pages(S_Liste_de_pages * list,int Taille) int Allouer_une_liste_de_pages(S_Liste_de_pages * list,int size)
{ {
// Important: la S_Liste_de_pages ne doit pas déjà désigner une liste de // Important: la S_Liste_de_pages ne doit pas déjà désigner une liste de
// pages allouée auquel cas celle-ci serait perdue. // pages allouée auquel cas celle-ci serait perdue.
@ -304,7 +304,7 @@ int Allouer_une_liste_de_pages(S_Liste_de_pages * list,int Taille)
/* Debug : if (list->Pages!=NULL) exit(666); */ /* Debug : if (list->Pages!=NULL) exit(666); */
// On alloue la mémoire pour la liste // On alloue la mémoire pour la liste
list->Pages=(S_Page *)malloc(Taille*sizeof(S_Page)); list->Pages=(S_Page *)malloc(size*sizeof(S_Page));
// On vérifie que l'allocation se soit bien passée // On vérifie que l'allocation se soit bien passée
if (list->Pages==NULL) if (list->Pages==NULL)
@ -312,9 +312,9 @@ int Allouer_une_liste_de_pages(S_Liste_de_pages * list,int Taille)
else else
{ {
// On initialise chacune des nouvelles pages // On initialise chacune des nouvelles pages
for (Indice=0;Indice<Taille;Indice++) for (Indice=0;Indice<size;Indice++)
Initialiser_S_Page(list->Pages+Indice); Initialiser_S_Page(list->Pages+Indice);
list->Taille_liste=Taille; list->Taille_liste=size;
list->Nb_pages_allouees=0; list->Nb_pages_allouees=0;
return 1; // Succès return 1; // Succès
@ -659,17 +659,17 @@ void Detruire_la_page_courante_d_une_liste(S_Liste_de_pages * list)
/// GESTION DES BACKUPS /// GESTION DES BACKUPS
/// ///
int Initialiser_les_listes_de_backups_en_debut_de_programme(int Taille,int width,int height) int Initialiser_les_listes_de_backups_en_debut_de_programme(int size,int width,int height)
{ {
// Taille correspond au nombre de pages que l'on souhaite dans chaque liste // size correspond au nombre de pages que l'on souhaite dans chaque liste
// (1 pour la page courante, puis 1 pour chaque backup, soit 2 au minimum). // (1 pour la page courante, puis 1 pour chaque backup, soit 2 au minimum).
// width et height correspondent à la dimension des images de départ. // width et height correspondent à la dimension des images de départ.
S_Page * Page; S_Page * Page;
int Retour=0; int return_code=0;
if (Allouer_une_liste_de_pages(Principal_Backups,Taille) && if (Allouer_une_liste_de_pages(Principal_Backups,size) &&
Allouer_une_liste_de_pages(Brouillon_Backups,Taille)) Allouer_une_liste_de_pages(Brouillon_Backups,size))
{ {
// On a réussi à allouer deux listes de pages dont la taille correspond à // On a réussi à allouer deux listes de pages dont la taille correspond à
// celle demandée par l'utilisateur. // celle demandée par l'utilisateur.
@ -702,14 +702,14 @@ int Initialiser_les_listes_de_backups_en_debut_de_programme(int Taille,int width
memset(Principal_Ecran,0,Principal_Largeur_image*Principal_Hauteur_image); memset(Principal_Ecran,0,Principal_Largeur_image*Principal_Hauteur_image);
memset(Brouillon_Ecran,0,Brouillon_Largeur_image*Brouillon_Hauteur_image); memset(Brouillon_Ecran,0,Brouillon_Largeur_image*Brouillon_Hauteur_image);
Retour=1; return_code=1;
} }
else else
{ {
// Il n'est pas possible de démarrer le programme avec la page // Il n'est pas possible de démarrer le programme avec la page
// principale et la page de brouillon aux dimensions demandée par // principale et la page de brouillon aux dimensions demandée par
// l'utilisateur. ==> On l'envoie ballader // l'utilisateur. ==> On l'envoie ballader
Retour=0; return_code=0;
} }
} }
else else
@ -718,7 +718,7 @@ int Initialiser_les_listes_de_backups_en_debut_de_programme(int Taille,int width
// page de la dimension souhaitée, donc on laisse tout tomber et on // page de la dimension souhaitée, donc on laisse tout tomber et on
// le renvoie chier. // le renvoie chier.
free(Page); free(Page);
Retour=0; return_code=0;
} }
} }
else else
@ -726,10 +726,10 @@ int Initialiser_les_listes_de_backups_en_debut_de_programme(int Taille,int width
// On n'a même pas réussi à créer les listes. Donc c'est même pas la // On n'a même pas réussi à créer les listes. Donc c'est même pas la
// peine de continuer : l'utilisateur ne pourra jamais rien faire, // peine de continuer : l'utilisateur ne pourra jamais rien faire,
// autant avorter le chargement du programme. // autant avorter le chargement du programme.
Retour=0; return_code=0;
} }
return Retour; return return_code;
} }
void Detruire_les_listes_de_backups_en_fin_de_programme(void) void Detruire_les_listes_de_backups_en_fin_de_programme(void)
@ -765,7 +765,7 @@ int Backup_avec_nouvelles_dimensions(int Upload,int width,int height)
// 0 sinon. // 0 sinon.
S_Page * Nouvelle_page; S_Page * Nouvelle_page;
int Retour=0; int return_code=0;
if (Upload) if (Upload)
// On remet à jour l'état des infos de la page courante (pour pouvoir les // On remet à jour l'état des infos de la page courante (pour pouvoir les
@ -786,13 +786,13 @@ int Backup_avec_nouvelles_dimensions(int Upload,int width,int height)
Download_infos_backup(Principal_Backups); Download_infos_backup(Principal_Backups);
// On nettoie la nouvelle image: // On nettoie la nouvelle image:
memset(Principal_Ecran,0,Principal_Largeur_image*Principal_Hauteur_image); memset(Principal_Ecran,0,Principal_Largeur_image*Principal_Hauteur_image);
Retour=1; return_code=1;
} }
// On détruit le descripteur de la page courante // On détruit le descripteur de la page courante
free(Nouvelle_page); free(Nouvelle_page);
return Retour; return return_code;
} }
int Backuper_et_redimensionner_brouillon(int width,int height) int Backuper_et_redimensionner_brouillon(int width,int height)
@ -801,7 +801,7 @@ int Backuper_et_redimensionner_brouillon(int width,int height)
// et 0 sinon. // et 0 sinon.
S_Page * Nouvelle_page; S_Page * Nouvelle_page;
int Retour=0; int return_code=0;
// On remet à jour l'état des infos de la page de brouillon (pour pouvoir // On remet à jour l'état des infos de la page de brouillon (pour pouvoir
// les retrouver plus tard) // les retrouver plus tard)
@ -818,13 +818,13 @@ int Backuper_et_redimensionner_brouillon(int width,int height)
{ {
Creer_nouvelle_page(Nouvelle_page,Brouillon_Backups,Principal_Backups); Creer_nouvelle_page(Nouvelle_page,Brouillon_Backups,Principal_Backups);
Download_infos_page_brouillon(Nouvelle_page); Download_infos_page_brouillon(Nouvelle_page);
Retour=1; return_code=1;
} }
// On détruit le descripteur de la page courante // On détruit le descripteur de la page courante
free(Nouvelle_page); free(Nouvelle_page);
return Retour; return return_code;
} }
void Backup(void) void Backup(void)
@ -956,7 +956,7 @@ void Interchanger_image_principale_et_brouillon(void)
} }
int Emprunt_memoire_de_page_possible(int Taille) int Emprunt_memoire_de_page_possible(int size)
{ {
int Taille_immediatement_disponible; int Taille_immediatement_disponible;
int Taille_liste_courante; int Taille_liste_courante;
@ -976,30 +976,30 @@ int Emprunt_memoire_de_page_possible(int Taille)
+Taille_liste_courante +Taille_liste_courante
+Taille_liste_brouillon +Taille_liste_brouillon
-Taille_page_courante -Taille_page_courante
-Taille_page_brouillon)<Taille) -Taille_page_brouillon)<size)
return 0; return 0;
return 1; return 1;
} }
void * Emprunter_memoire_de_page(int Taille) void * Emprunter_memoire_de_page(int size)
{ {
int Il_faut_liberer; int Il_faut_liberer;
S_Liste_de_pages * Liste_a_raboter; S_Liste_de_pages * Liste_a_raboter;
S_Page * Page_a_supprimer; S_Page * Page_a_supprimer;
//int Indice; //int Indice;
if (Emprunt_memoire_de_page_possible(Taille)) if (Emprunt_memoire_de_page_possible(size))
{ {
// On regarde s'il faut libérer des pages: // On regarde s'il faut libérer des pages:
Il_faut_liberer= Il_faut_liberer=
(Memoire_libre()-QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER)<(unsigned long)Taille; (Memoire_libre()-QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER)<(unsigned long)size;
if (!Il_faut_liberer) if (!Il_faut_liberer)
{ {
// On a assez de place pour allouer une page. On n'a donc aucune page // On a assez de place pour allouer une page. On n'a donc aucune page
// à supprimer. On peut allouer de la mémoire directement. // à supprimer. On peut allouer de la mémoire directement.
return malloc(Taille); return malloc(size);
} }
else else
{ {
@ -1042,12 +1042,12 @@ void * Emprunter_memoire_de_page(int Taille)
// On regarde s'il faut continuer à libérer de la place // On regarde s'il faut continuer à libérer de la place
Il_faut_liberer= Il_faut_liberer=
(Memoire_libre()-QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER)<(unsigned long)Taille; (Memoire_libre()-QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER)<(unsigned long)size;
// S'il ne faut pas, c'est qu'on peut allouer un bitmap // S'il ne faut pas, c'est qu'on peut allouer un bitmap
// pour la Nouvelle_page // pour la Nouvelle_page
if (!Il_faut_liberer) if (!Il_faut_liberer)
return malloc(Taille); return malloc(size);
} }
} }
} }

View File

@ -49,7 +49,7 @@ int Taille_d_une_page(S_Page * Page);
/// ///
void Initialiser_S_Liste_de_pages(S_Liste_de_pages * list); void Initialiser_S_Liste_de_pages(S_Liste_de_pages * list);
int Allouer_une_liste_de_pages(S_Liste_de_pages * list,int Taille); int Allouer_une_liste_de_pages(S_Liste_de_pages * list,int size);
void Liberer_une_liste_de_pages(S_Liste_de_pages * list); void Liberer_une_liste_de_pages(S_Liste_de_pages * list);
int Taille_d_une_liste_de_pages(S_Liste_de_pages * list); int Taille_d_une_liste_de_pages(S_Liste_de_pages * list);
void Reculer_dans_une_liste_de_pages(S_Liste_de_pages * list); void Reculer_dans_une_liste_de_pages(S_Liste_de_pages * list);
@ -66,7 +66,7 @@ void Detruire_la_page_courante_d_une_liste(S_Liste_de_pages * list);
/// GESTION DES BACKUPS /// GESTION DES BACKUPS
/// ///
int Initialiser_les_listes_de_backups_en_debut_de_programme(int Taille,int width,int height); int Initialiser_les_listes_de_backups_en_debut_de_programme(int size,int width,int height);
void Detruire_les_listes_de_backups_en_fin_de_programme(void); void Detruire_les_listes_de_backups_en_fin_de_programme(void);
void Nouveau_nombre_de_backups(int nb_backups); void Nouveau_nombre_de_backups(int nb_backups);
int Backup_avec_nouvelles_dimensions(int Upload,int width,int height); int Backup_avec_nouvelles_dimensions(int Upload,int width,int height);
@ -83,8 +83,8 @@ void Interchanger_image_principale_et_brouillon(void);
/// GESTION DES EMPRUNTS DE MEMOIRE DE PAGE /// GESTION DES EMPRUNTS DE MEMOIRE DE PAGE
/// ///
int Emprunt_memoire_de_page_possible(int Taille); int Emprunt_memoire_de_page_possible(int size);
void * Emprunter_memoire_de_page(int Taille); void * Emprunter_memoire_de_page(int size);

View File

@ -81,21 +81,21 @@ void Unite_Composantes(int Count)
void Modifier_HSL(T_Palette Palette_depart, T_Palette Palette_arrivee, byte Couleur, short Difference_H, short Difference_S, short Difference_L) void Modifier_HSL(T_Palette Palette_depart, T_Palette Palette_arrivee, byte Couleur, short Difference_H, short Difference_S, short Difference_L)
{ {
byte h, S, l; byte h, s, l;
RGBtoHSL(Palette_depart[Couleur].R,Palette_depart[Couleur].G,Palette_depart[Couleur].B,&h,&S,&l); RGBtoHSL(Palette_depart[Couleur].R,Palette_depart[Couleur].G,Palette_depart[Couleur].B,&h,&s,&l);
// La teinte (Hue) est cyclique // La teinte (Hue) est cyclique
h=(Difference_H+256+h); h=(Difference_H+256+h);
// Pour les autres (Saturation, Lightness), au lieu d'additionner, // Pour les autres (Saturation, Lightness), au lieu d'additionner,
// on va faire un ratio, cela utilise mieux la plage de valeurs 0-255 // on va faire un ratio, cela utilise mieux la plage de valeurs 0-255
if (Difference_S<0) if (Difference_S<0)
S=(255+Difference_S)*S/255; s=(255+Difference_S)*s/255;
else if (Difference_S>0) else if (Difference_S>0)
S=255-(255-Difference_S)*(255-S)/255; s=255-(255-Difference_S)*(255-s)/255;
if (Difference_L<0) if (Difference_L<0)
l=(255+Difference_L)*l/255; l=(255+Difference_L)*l/255;
else if (Difference_L>0) else if (Difference_L>0)
l=255-(255-Difference_L)*(255-l)/255; l=255-(255-Difference_L)*(255-l)/255;
HSLtoRGB(h,S,l,&Palette_arrivee[Couleur].R,&Palette_arrivee[Couleur].G,&Palette_arrivee[Couleur].B); HSLtoRGB(h,s,l,&Palette_arrivee[Couleur].R,&Palette_arrivee[Couleur].G,&Palette_arrivee[Couleur].B);
} }
void Modifier_Rouge(byte Couleur, short Nouvelle_teinte, T_Palette palette) void Modifier_Rouge(byte Couleur, short Nouvelle_teinte, T_Palette palette)
@ -139,10 +139,10 @@ void Modifier_Bleu(byte Couleur, short Nouvelle_teinte, T_Palette palette)
Set_color(Couleur,palette[Couleur].R,palette[Couleur].G,palette[Couleur].B); Set_color(Couleur,palette[Couleur].R,palette[Couleur].G,palette[Couleur].B);
} }
void Formate_composante(byte Valeur, char *Chaine) void Formate_composante(byte value, char *Chaine)
// Formate une chaine de 4 caractères+\0 : "nnn " // Formate une chaine de 4 caractères+\0 : "nnn "
{ {
Num2str(Valeur,Chaine,3); Num2str(value,Chaine,3);
Chaine[3]=' '; Chaine[3]=' ';
Chaine[4]='\0'; Chaine[4]='\0';
} }
@ -642,13 +642,13 @@ void Reduce_palette(short * Nb_couleurs_utilisees,int Nb_couleurs_demandees,T_Pa
void Palette_Modifier_jauge(T_Bouton_scroller * slider, void Palette_Modifier_jauge(T_Bouton_scroller * slider,
word nb_elements, word position, word nb_elements, word position,
char * Valeur, short x_pos) char * value, short x_pos)
{ {
slider->Nb_elements=nb_elements; slider->Nb_elements=nb_elements;
slider->Position=position; slider->Position=position;
Calculer_hauteur_curseur_jauge(slider); Calculer_hauteur_curseur_jauge(slider);
Fenetre_Dessiner_jauge(slider); Fenetre_Dessiner_jauge(slider);
Print_compteur(x_pos,172,Valeur,CM_Noir,CM_Clair); Print_compteur(x_pos,172,value,CM_Noir,CM_Clair);
} }

View File

@ -32,19 +32,19 @@
#define ZOOMX 2 #define ZOOMX 2
#define ZOOMY 2 #define ZOOMY 2
void Pixel_Double (word X,word Y,byte Couleur) void Pixel_Double (word x,word y,byte Couleur)
/* Affiche un pixel de la Couleur aux coords X;Y à l'écran */ /* Affiche un pixel de la Couleur aux coords x;y à l'écran */
{ {
*(Ecran + X * 2 + Y * 4 * Largeur_ecran)=Couleur; *(Ecran + x * 2 + y * 4 * Largeur_ecran)=Couleur;
*(Ecran + X * 2 + Y * 4 * Largeur_ecran + 1)=Couleur; *(Ecran + x * 2 + y * 4 * Largeur_ecran + 1)=Couleur;
*(Ecran + X * 2 + (Y * 4 + 2 )* Largeur_ecran)=Couleur; *(Ecran + x * 2 + (y * 4 + 2 )* Largeur_ecran)=Couleur;
*(Ecran + X * 2 + (Y * 4 + 2 )* Largeur_ecran + 1)=Couleur; *(Ecran + x * 2 + (y * 4 + 2 )* Largeur_ecran + 1)=Couleur;
} }
byte Lit_Pixel_Double (word X,word Y) byte Lit_Pixel_Double (word x,word y)
/* On retourne la couleur du pixel aux coords données */ /* On retourne la couleur du pixel aux coords données */
{ {
return *( Ecran + Y * 4 * Largeur_ecran + X * 2); return *( Ecran + y * 4 * Largeur_ecran + x * 2);
} }
void Block_Double (word Debut_X,word Debut_Y,word width,word height,byte Couleur) void Block_Double (word Debut_X,word Debut_Y,word width,word height,byte Couleur)
@ -86,28 +86,28 @@ void Afficher_partie_de_l_ecran_Double (word width,word height,word image_width)
//UpdateRect(0,0,width,height); //UpdateRect(0,0,width,height);
} }
void Pixel_Preview_Normal_Double (word X,word Y,byte Couleur) void Pixel_Preview_Normal_Double (word x,word y,byte Couleur)
/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image /* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image
* dans l'écran, en mode normal (pas en mode loupe) * dans l'écran, en mode normal (pas en mode loupe)
* Note: si on modifie cette procédure, il faudra penser à faire également * Note: si on modifie cette procédure, il faudra penser à faire également
* la modif dans la procédure Pixel_Preview_Loupe_SDL. */ * la modif dans la procédure Pixel_Preview_Loupe_SDL. */
{ {
// if(X-Principal_Decalage_X >= 0 && Y - Principal_Decalage_Y >= 0) // if(x-Principal_Decalage_X >= 0 && y - Principal_Decalage_Y >= 0)
Pixel_Double(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur); Pixel_Double(x-Principal_Decalage_X,y-Principal_Decalage_Y,Couleur);
} }
void Pixel_Preview_Loupe_Double (word X,word Y,byte Couleur) void Pixel_Preview_Loupe_Double (word x,word y,byte Couleur)
{ {
// Affiche le pixel dans la partie non zoomée // Affiche le pixel dans la partie non zoomée
Pixel_Double(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur); Pixel_Double(x-Principal_Decalage_X,y-Principal_Decalage_Y,Couleur);
// Regarde si on doit aussi l'afficher dans la partie zoomée // Regarde si on doit aussi l'afficher dans la partie zoomée
if (Y >= Limite_Haut_Zoom && Y <= Limite_visible_Bas_Zoom if (y >= Limite_Haut_Zoom && y <= Limite_visible_Bas_Zoom
&& X >= Limite_Gauche_Zoom && X <= Limite_visible_Droite_Zoom) && x >= Limite_Gauche_Zoom && x <= Limite_visible_Droite_Zoom)
{ {
// On est dedans // On est dedans
int height; int height;
int Y_Zoom = Table_mul_facteur_zoom[Y-Loupe_Decalage_Y]; int Y_Zoom = Table_mul_facteur_zoom[y-Loupe_Decalage_Y];
if (Menu_Ordonnee - Y_Zoom < Loupe_Facteur) if (Menu_Ordonnee - Y_Zoom < Loupe_Facteur)
// On ne doit dessiner qu'un morceau du pixel // On ne doit dessiner qu'un morceau du pixel
@ -117,7 +117,7 @@ void Pixel_Preview_Loupe_Double (word X,word Y,byte Couleur)
height = Loupe_Facteur; height = Loupe_Facteur;
Block_Double( Block_Double(
Table_mul_facteur_zoom[X-Loupe_Decalage_X]+Principal_X_Zoom, Table_mul_facteur_zoom[x-Loupe_Decalage_X]+Principal_X_Zoom,
Y_Zoom, Loupe_Facteur, height, Couleur Y_Zoom, Loupe_Facteur, height, Couleur
); );
} }
@ -128,10 +128,10 @@ void Ligne_horizontale_XOR_Double(word x_pos,word y_pos,word width)
//On calcule la valeur initiale de Dest: //On calcule la valeur initiale de Dest:
byte* Dest=y_pos*4*Largeur_ecran+x_pos*2+Ecran; byte* Dest=y_pos*4*Largeur_ecran+x_pos*2+Ecran;
int X; int x;
for (X=0;X<width*2;X+=2) for (x=0;x<width*2;x+=2)
*(Dest+X+2*Largeur_ecran+1)=*(Dest+X+2*Largeur_ecran)=*(Dest+X+1)=*(Dest+X)=~*(Dest+X); *(Dest+x+2*Largeur_ecran+1)=*(Dest+x+2*Largeur_ecran)=*(Dest+x+1)=*(Dest+x)=~*(Dest+x);
} }
void Ligne_verticale_XOR_Double(word x_pos,word y_pos,word height) void Ligne_verticale_XOR_Double(word x_pos,word y_pos,word height)

View File

@ -21,11 +21,11 @@
*/ */
#include "struct.h" #include "struct.h"
void Pixel_Double (word X,word Y,byte Couleur); void Pixel_Double (word x,word y,byte Couleur);
byte Lit_Pixel_Double (word X,word Y); byte Lit_Pixel_Double (word x,word y);
void Block_Double (word Debut_X,word Debut_Y,word width,word height,byte Couleur); void Block_Double (word Debut_X,word Debut_Y,word width,word height,byte Couleur);
void Pixel_Preview_Normal_Double (word X,word Y,byte Couleur); void Pixel_Preview_Normal_Double (word x,word y,byte Couleur);
void Pixel_Preview_Loupe_Double (word X,word Y,byte Couleur); void Pixel_Preview_Loupe_Double (word x,word y,byte Couleur);
void Ligne_horizontale_XOR_Double (word x_pos,word y_pos,word width); void Ligne_horizontale_XOR_Double (word x_pos,word y_pos,word width);
void Ligne_verticale_XOR_Double (word x_pos,word y_pos,word height); void Ligne_verticale_XOR_Double (word x_pos,word y_pos,word height);
void Display_brush_Color_Double (word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte Couleur_de_transparence,word Largeur_brosse); void Display_brush_Color_Double (word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte Couleur_de_transparence,word Largeur_brosse);

View File

@ -28,16 +28,16 @@
#include "sdlscreen.h" #include "sdlscreen.h"
#include "divers.h" #include "divers.h"
void Pixel_Simple (word X,word Y,byte Couleur) void Pixel_Simple (word x,word y,byte Couleur)
/* Affiche un pixel de la Couleur aux coords X;Y à l'écran */ /* Affiche un pixel de la Couleur aux coords x;y à l'écran */
{ {
*(Ecran + X + Y * Largeur_ecran)=Couleur; *(Ecran + x + y * Largeur_ecran)=Couleur;
} }
byte Lit_Pixel_Simple (word X,word Y) byte Lit_Pixel_Simple (word x,word y)
/* On retourne la couleur du pixel aux coords données */ /* On retourne la couleur du pixel aux coords données */
{ {
return *( Ecran + Y * Largeur_ecran + X ); return *( Ecran + y * Largeur_ecran + x );
} }
void Block_Simple (word Debut_X,word Debut_Y,word width,word height,byte Couleur) void Block_Simple (word Debut_X,word Debut_Y,word width,word height,byte Couleur)
@ -71,28 +71,28 @@ void Afficher_partie_de_l_ecran_Simple (word width,word height,word image_width)
//UpdateRect(0,0,width,height); //UpdateRect(0,0,width,height);
} }
void Pixel_Preview_Normal_Simple (word X,word Y,byte Couleur) void Pixel_Preview_Normal_Simple (word x,word y,byte Couleur)
/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image /* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image
* dans l'écran, en mode normal (pas en mode loupe) * dans l'écran, en mode normal (pas en mode loupe)
* Note: si on modifie cette procédure, il faudra penser à faire également * Note: si on modifie cette procédure, il faudra penser à faire également
* la modif dans la procédure Pixel_Preview_Loupe_SDL. */ * la modif dans la procédure Pixel_Preview_Loupe_SDL. */
{ {
// if(X-Principal_Decalage_X >= 0 && Y - Principal_Decalage_Y >= 0) // if(x-Principal_Decalage_X >= 0 && y - Principal_Decalage_Y >= 0)
Pixel_Simple(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur); Pixel_Simple(x-Principal_Decalage_X,y-Principal_Decalage_Y,Couleur);
} }
void Pixel_Preview_Loupe_Simple (word X,word Y,byte Couleur) void Pixel_Preview_Loupe_Simple (word x,word y,byte Couleur)
{ {
// Affiche le pixel dans la partie non zoomée // Affiche le pixel dans la partie non zoomée
Pixel_Simple(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur); Pixel_Simple(x-Principal_Decalage_X,y-Principal_Decalage_Y,Couleur);
// Regarde si on doit aussi l'afficher dans la partie zoomée // Regarde si on doit aussi l'afficher dans la partie zoomée
if (Y >= Limite_Haut_Zoom && Y <= Limite_visible_Bas_Zoom if (y >= Limite_Haut_Zoom && y <= Limite_visible_Bas_Zoom
&& X >= Limite_Gauche_Zoom && X <= Limite_visible_Droite_Zoom) && x >= Limite_Gauche_Zoom && x <= Limite_visible_Droite_Zoom)
{ {
// On est dedans // On est dedans
int height; int height;
int Y_Zoom = Table_mul_facteur_zoom[Y-Loupe_Decalage_Y]; int Y_Zoom = Table_mul_facteur_zoom[y-Loupe_Decalage_Y];
if (Menu_Ordonnee - Y_Zoom < Loupe_Facteur) if (Menu_Ordonnee - Y_Zoom < Loupe_Facteur)
// On ne doit dessiner qu'un morceau du pixel // On ne doit dessiner qu'un morceau du pixel
@ -102,7 +102,7 @@ void Pixel_Preview_Loupe_Simple (word X,word Y,byte Couleur)
height = Loupe_Facteur; height = Loupe_Facteur;
Block_Simple( Block_Simple(
Table_mul_facteur_zoom[X-Loupe_Decalage_X]+Principal_X_Zoom, Table_mul_facteur_zoom[x-Loupe_Decalage_X]+Principal_X_Zoom,
Y_Zoom, Loupe_Facteur, height, Couleur Y_Zoom, Loupe_Facteur, height, Couleur
); );
} }
@ -113,10 +113,10 @@ void Ligne_horizontale_XOR_Simple(word x_pos,word y_pos,word width)
//On calcule la valeur initiale de Dest: //On calcule la valeur initiale de Dest:
byte* Dest=y_pos*Largeur_ecran+x_pos+Ecran; byte* Dest=y_pos*Largeur_ecran+x_pos+Ecran;
int X; int x;
for (X=0;X<width;X++) for (x=0;x<width;x++)
*(Dest+X)=~*(Dest+X); *(Dest+x)=~*(Dest+x);
} }
void Ligne_verticale_XOR_Simple(word x_pos,word y_pos,word height) void Ligne_verticale_XOR_Simple(word x_pos,word y_pos,word height)

View File

@ -21,11 +21,11 @@
*/ */
#include "struct.h" #include "struct.h"
void Pixel_Simple (word X,word Y,byte Couleur); void Pixel_Simple (word x,word y,byte Couleur);
byte Lit_Pixel_Simple (word X,word Y); byte Lit_Pixel_Simple (word x,word y);
void Block_Simple (word Debut_X,word Debut_Y,word width,word height,byte Couleur); void Block_Simple (word Debut_X,word Debut_Y,word width,word height,byte Couleur);
void Pixel_Preview_Normal_Simple (word X,word Y,byte Couleur); void Pixel_Preview_Normal_Simple (word x,word y,byte Couleur);
void Pixel_Preview_Loupe_Simple (word X,word Y,byte Couleur); void Pixel_Preview_Loupe_Simple (word x,word y,byte Couleur);
void Ligne_horizontale_XOR_Simple (word x_pos,word y_pos,word width); void Ligne_horizontale_XOR_Simple (word x_pos,word y_pos,word width);
void Ligne_verticale_XOR_Simple (word x_pos,word y_pos,word height); void Ligne_verticale_XOR_Simple (word x_pos,word y_pos,word height);
void Display_brush_Color_Simple (word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte Couleur_de_transparence,word Largeur_brosse); void Display_brush_Color_Simple (word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte Couleur_de_transparence,word Largeur_brosse);

View File

@ -29,17 +29,17 @@
#include "divers.h" #include "divers.h"
#include "pxsimple.h" #include "pxsimple.h"
void Pixel_Tall (word X,word Y,byte Couleur) void Pixel_Tall (word x,word y,byte Couleur)
/* Affiche un pixel de la Couleur aux coords X;Y à l'écran */ /* Affiche un pixel de la Couleur aux coords x;y à l'écran */
{ {
*(Ecran + X + Y * 2 * Largeur_ecran)=Couleur; *(Ecran + x + y * 2 * Largeur_ecran)=Couleur;
*(Ecran + X + (Y * 2 + 1) * Largeur_ecran)=Couleur; *(Ecran + x + (y * 2 + 1) * Largeur_ecran)=Couleur;
} }
byte Lit_Pixel_Tall (word X,word Y) byte Lit_Pixel_Tall (word x,word y)
/* On retourne la couleur du pixel aux coords données */ /* On retourne la couleur du pixel aux coords données */
{ {
return *( Ecran + Y * 2 * Largeur_ecran + X ); return *( Ecran + y * 2 * Largeur_ecran + x );
} }
void Block_Tall (word Debut_X,word Debut_Y,word width,word height,byte Couleur) void Block_Tall (word Debut_X,word Debut_Y,word width,word height,byte Couleur)
@ -75,28 +75,28 @@ void Afficher_partie_de_l_ecran_Tall (word width,word height,word image_width)
//UpdateRect(0,0,width,height); //UpdateRect(0,0,width,height);
} }
void Pixel_Preview_Normal_Tall (word X,word Y,byte Couleur) void Pixel_Preview_Normal_Tall (word x,word y,byte Couleur)
/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image /* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image
* dans l'écran, en mode normal (pas en mode loupe) * dans l'écran, en mode normal (pas en mode loupe)
* Note: si on modifie cette procédure, il faudra penser à faire également * Note: si on modifie cette procédure, il faudra penser à faire également
* la modif dans la procédure Pixel_Preview_Loupe_SDL. */ * la modif dans la procédure Pixel_Preview_Loupe_SDL. */
{ {
// if(X-Principal_Decalage_X >= 0 && Y - Principal_Decalage_Y >= 0) // if(x-Principal_Decalage_X >= 0 && y - Principal_Decalage_Y >= 0)
Pixel_Tall(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur); Pixel_Tall(x-Principal_Decalage_X,y-Principal_Decalage_Y,Couleur);
} }
void Pixel_Preview_Loupe_Tall (word X,word Y,byte Couleur) void Pixel_Preview_Loupe_Tall (word x,word y,byte Couleur)
{ {
// Affiche le pixel dans la partie non zoomée // Affiche le pixel dans la partie non zoomée
Pixel_Tall(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur); Pixel_Tall(x-Principal_Decalage_X,y-Principal_Decalage_Y,Couleur);
// Regarde si on doit aussi l'afficher dans la partie zoomée // Regarde si on doit aussi l'afficher dans la partie zoomée
if (Y >= Limite_Haut_Zoom && Y <= Limite_visible_Bas_Zoom if (y >= Limite_Haut_Zoom && y <= Limite_visible_Bas_Zoom
&& X >= Limite_Gauche_Zoom && X <= Limite_visible_Droite_Zoom) && x >= Limite_Gauche_Zoom && x <= Limite_visible_Droite_Zoom)
{ {
// On est dedans // On est dedans
int height; int height;
int Y_Zoom = Table_mul_facteur_zoom[Y-Loupe_Decalage_Y]; int Y_Zoom = Table_mul_facteur_zoom[y-Loupe_Decalage_Y];
if (Menu_Ordonnee - Y_Zoom < Loupe_Facteur) if (Menu_Ordonnee - Y_Zoom < Loupe_Facteur)
// On ne doit dessiner qu'un morceau du pixel // On ne doit dessiner qu'un morceau du pixel
@ -106,7 +106,7 @@ void Pixel_Preview_Loupe_Tall (word X,word Y,byte Couleur)
height = Loupe_Facteur; height = Loupe_Facteur;
Block_Tall( Block_Tall(
Table_mul_facteur_zoom[X-Loupe_Decalage_X]+Principal_X_Zoom, Table_mul_facteur_zoom[x-Loupe_Decalage_X]+Principal_X_Zoom,
Y_Zoom, Loupe_Facteur, height, Couleur Y_Zoom, Loupe_Facteur, height, Couleur
); );
} }
@ -117,14 +117,14 @@ void Ligne_horizontale_XOR_Tall(word x_pos,word y_pos,word width)
//On calcule la valeur initiale de Dest: //On calcule la valeur initiale de Dest:
byte* Dest=y_pos*2*Largeur_ecran+x_pos+Ecran; byte* Dest=y_pos*2*Largeur_ecran+x_pos+Ecran;
int X; int x;
for (X=0;X<width;X++) for (x=0;x<width;x++)
*(Dest+X)=~*(Dest+X); *(Dest+x)=~*(Dest+x);
Dest=(y_pos*2+1)*Largeur_ecran+x_pos+Ecran; Dest=(y_pos*2+1)*Largeur_ecran+x_pos+Ecran;
for (X=0;X<width;X++) for (x=0;x<width;x++)
*(Dest+X)=~*(Dest+X); *(Dest+x)=~*(Dest+x);
} }
void Ligne_verticale_XOR_Tall(word x_pos,word y_pos,word height) void Ligne_verticale_XOR_Tall(word x_pos,word y_pos,word height)

View File

@ -21,11 +21,11 @@
*/ */
#include "struct.h" #include "struct.h"
void Pixel_Tall (word X,word Y,byte Couleur); void Pixel_Tall (word x,word y,byte Couleur);
byte Lit_Pixel_Tall (word X,word Y); byte Lit_Pixel_Tall (word x,word y);
void Block_Tall (word Debut_X,word Debut_Y,word width,word height,byte Couleur); void Block_Tall (word Debut_X,word Debut_Y,word width,word height,byte Couleur);
void Pixel_Preview_Normal_Tall (word X,word Y,byte Couleur); void Pixel_Preview_Normal_Tall (word x,word y,byte Couleur);
void Pixel_Preview_Loupe_Tall (word X,word Y,byte Couleur); void Pixel_Preview_Loupe_Tall (word x,word y,byte Couleur);
void Ligne_horizontale_XOR_Tall (word x_pos,word y_pos,word width); void Ligne_horizontale_XOR_Tall (word x_pos,word y_pos,word width);
void Ligne_verticale_XOR_Tall (word x_pos,word y_pos,word height); void Ligne_verticale_XOR_Tall (word x_pos,word y_pos,word height);
void Display_brush_Color_Tall (word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte Couleur_de_transparence,word Largeur_brosse); void Display_brush_Color_Tall (word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte Couleur_de_transparence,word Largeur_brosse);

View File

@ -28,17 +28,17 @@
#include "sdlscreen.h" #include "sdlscreen.h"
#include "divers.h" #include "divers.h"
void Pixel_Wide (word X,word Y,byte Couleur) void Pixel_Wide (word x,word y,byte Couleur)
/* Affiche un pixel de la Couleur aux coords X;Y à l'écran */ /* Affiche un pixel de la Couleur aux coords x;y à l'écran */
{ {
*(Ecran + X * 2 + Y * 2 * Largeur_ecran)=Couleur; *(Ecran + x * 2 + y * 2 * Largeur_ecran)=Couleur;
*(Ecran + X * 2 + Y * 2 * Largeur_ecran + 1)=Couleur; *(Ecran + x * 2 + y * 2 * Largeur_ecran + 1)=Couleur;
} }
byte Lit_Pixel_Wide (word X,word Y) byte Lit_Pixel_Wide (word x,word y)
/* On retourne la couleur du pixel aux coords données */ /* On retourne la couleur du pixel aux coords données */
{ {
return *( Ecran + Y * 2 * Largeur_ecran + X * 2); return *( Ecran + y * 2 * Largeur_ecran + x * 2);
} }
void Block_Wide (word Debut_X,word Debut_Y,word width,word height,byte Couleur) void Block_Wide (word Debut_X,word Debut_Y,word width,word height,byte Couleur)
@ -78,28 +78,28 @@ void Afficher_partie_de_l_ecran_Wide (word width,word height,word image_width)
//UpdateRect(0,0,width,height); //UpdateRect(0,0,width,height);
} }
void Pixel_Preview_Normal_Wide (word X,word Y,byte Couleur) void Pixel_Preview_Normal_Wide (word x,word y,byte Couleur)
/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image /* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image
* dans l'écran, en mode normal (pas en mode loupe) * dans l'écran, en mode normal (pas en mode loupe)
* Note: si on modifie cette procédure, il faudra penser à faire également * Note: si on modifie cette procédure, il faudra penser à faire également
* la modif dans la procédure Pixel_Preview_Loupe_SDL. */ * la modif dans la procédure Pixel_Preview_Loupe_SDL. */
{ {
// if(X-Principal_Decalage_X >= 0 && Y - Principal_Decalage_Y >= 0) // if(x-Principal_Decalage_X >= 0 && y - Principal_Decalage_Y >= 0)
Pixel_Wide(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur); Pixel_Wide(x-Principal_Decalage_X,y-Principal_Decalage_Y,Couleur);
} }
void Pixel_Preview_Loupe_Wide (word X,word Y,byte Couleur) void Pixel_Preview_Loupe_Wide (word x,word y,byte Couleur)
{ {
// Affiche le pixel dans la partie non zoomée // Affiche le pixel dans la partie non zoomée
Pixel_Wide(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur); Pixel_Wide(x-Principal_Decalage_X,y-Principal_Decalage_Y,Couleur);
// Regarde si on doit aussi l'afficher dans la partie zoomée // Regarde si on doit aussi l'afficher dans la partie zoomée
if (Y >= Limite_Haut_Zoom && Y <= Limite_visible_Bas_Zoom if (y >= Limite_Haut_Zoom && y <= Limite_visible_Bas_Zoom
&& X >= Limite_Gauche_Zoom && X <= Limite_visible_Droite_Zoom) && x >= Limite_Gauche_Zoom && x <= Limite_visible_Droite_Zoom)
{ {
// On est dedans // On est dedans
int height; int height;
int Y_Zoom = Table_mul_facteur_zoom[Y-Loupe_Decalage_Y]; int Y_Zoom = Table_mul_facteur_zoom[y-Loupe_Decalage_Y];
if (Menu_Ordonnee - Y_Zoom < Loupe_Facteur) if (Menu_Ordonnee - Y_Zoom < Loupe_Facteur)
// On ne doit dessiner qu'un morceau du pixel // On ne doit dessiner qu'un morceau du pixel
@ -109,7 +109,7 @@ void Pixel_Preview_Loupe_Wide (word X,word Y,byte Couleur)
height = Loupe_Facteur; height = Loupe_Facteur;
Block_Wide( Block_Wide(
Table_mul_facteur_zoom[X-Loupe_Decalage_X]+Principal_X_Zoom, Table_mul_facteur_zoom[x-Loupe_Decalage_X]+Principal_X_Zoom,
Y_Zoom, Loupe_Facteur, height, Couleur Y_Zoom, Loupe_Facteur, height, Couleur
); );
} }
@ -120,10 +120,10 @@ void Ligne_horizontale_XOR_Wide(word x_pos,word y_pos,word width)
//On calcule la valeur initiale de Dest: //On calcule la valeur initiale de Dest:
byte* Dest=y_pos*2*Largeur_ecran+x_pos*2+Ecran; byte* Dest=y_pos*2*Largeur_ecran+x_pos*2+Ecran;
int X; int x;
for (X=0;X<width*2;X+=2) for (x=0;x<width*2;x+=2)
*(Dest+X+1)=*(Dest+X)=~*(Dest+X); *(Dest+x+1)=*(Dest+x)=~*(Dest+x);
} }
void Ligne_verticale_XOR_Wide(word x_pos,word y_pos,word height) void Ligne_verticale_XOR_Wide(word x_pos,word y_pos,word height)

View File

@ -21,11 +21,11 @@
*/ */
#include "struct.h" #include "struct.h"
void Pixel_Wide (word X,word Y,byte Couleur); void Pixel_Wide (word x,word y,byte Couleur);
byte Lit_Pixel_Wide (word X,word Y); byte Lit_Pixel_Wide (word x,word y);
void Block_Wide (word Debut_X,word Debut_Y,word width,word height,byte Couleur); void Block_Wide (word Debut_X,word Debut_Y,word width,word height,byte Couleur);
void Pixel_Preview_Normal_Wide (word X,word Y,byte Couleur); void Pixel_Preview_Normal_Wide (word x,word y,byte Couleur);
void Pixel_Preview_Loupe_Wide (word X,word Y,byte Couleur); void Pixel_Preview_Loupe_Wide (word x,word y,byte Couleur);
void Ligne_horizontale_XOR_Wide (word x_pos,word y_pos,word width); void Ligne_horizontale_XOR_Wide (word x_pos,word y_pos,word width);
void Ligne_verticale_XOR_Wide (word x_pos,word y_pos,word height); void Ligne_verticale_XOR_Wide (word x_pos,word y_pos,word height);
void Display_brush_Color_Wide (word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte Couleur_de_transparence,word Largeur_brosse); void Display_brush_Color_Wide (word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte Couleur_de_transparence,word Largeur_brosse);

292
readini.c
View File

@ -146,7 +146,7 @@ int Charger_INI_Reach_group(FILE * file,char * Buffer,char * Group)
return 0; return 0;
} }
int Charger_INI_Get_string(FILE * file,char * Buffer,char * Option,char * Retour) int Charger_INI_Get_string(FILE * file,char * Buffer,char * Option,char * return_code)
{ {
int Arret; int Arret;
char * Option_upper; char * Option_upper;
@ -187,7 +187,7 @@ int Charger_INI_Get_string(FILE * file,char * Buffer,char * Option,char * Retour
// On se positionne juste après la chaîne "=" // On se positionne juste après la chaîne "="
Indice_buffer=Charger_INI_Seek_pattern(Buffer_upper,"="); Indice_buffer=Charger_INI_Seek_pattern(Buffer_upper,"=");
strcpy(Retour, Buffer_upper + Indice_buffer); strcpy(return_code, Buffer_upper + Indice_buffer);
} }
} }
while (!Arret); while (!Arret);
@ -401,10 +401,10 @@ int Charger_INI(T_Config * Conf)
{ {
FILE * file; FILE * file;
char * Buffer; char * Buffer;
int Valeurs[3]; int values[3];
int Indice; int Indice;
char * Nom_du_fichier; char * Nom_du_fichier;
int Retour; int return_code;
char Libelle_valeur[1024]; char Libelle_valeur[1024];
Ligne_INI=0; Ligne_INI=0;
@ -432,40 +432,40 @@ int Charger_INI(T_Config * Conf)
} }
} }
if ((Retour=Charger_INI_Reach_group(file,Buffer,"[MOUSE]"))) if ((return_code=Charger_INI_Reach_group(file,Buffer,"[MOUSE]")))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Charger_INI_Get_values (file,Buffer,"X_sensitivity",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"X_sensitivity",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>255)) if ((values[0]<1) || (values[0]>255))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Indice_Sensibilite_souris_X=Valeurs[0]; Conf->Indice_Sensibilite_souris_X=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Y_sensitivity",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Y_sensitivity",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>255)) if ((values[0]<1) || (values[0]>255))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Indice_Sensibilite_souris_Y=Valeurs[0]; Conf->Indice_Sensibilite_souris_Y=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"X_correction_factor",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"X_correction_factor",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>4)) if ((values[0]<0) || (values[0]>4))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Mouse_Facteur_de_correction_X=Mouse_Facteur_de_correction_X=Valeurs[0]; Conf->Mouse_Facteur_de_correction_X=Mouse_Facteur_de_correction_X=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Y_correction_factor",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Y_correction_factor",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>4)) if ((values[0]<0) || (values[0]>4))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Mouse_Facteur_de_correction_Y=Mouse_Facteur_de_correction_Y=Valeurs[0]; Conf->Mouse_Facteur_de_correction_Y=Mouse_Facteur_de_correction_Y=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Cursor_aspect",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Cursor_aspect",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>3)) if ((values[0]<1) || (values[0]>3))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Curseur=Valeurs[0]-1; Conf->Curseur=values[0]-1;
if ((Retour=Charger_INI_Reach_group(file,Buffer,"[MENU]"))) if ((return_code=Charger_INI_Reach_group(file,Buffer,"[MENU]")))
goto Erreur_Retour; goto Erreur_Retour;
Conf->Coul_menu_pref[0].R=0; Conf->Coul_menu_pref[0].R=0;
@ -475,215 +475,215 @@ int Charger_INI(T_Config * Conf)
Conf->Coul_menu_pref[3].G=255; Conf->Coul_menu_pref[3].G=255;
Conf->Coul_menu_pref[3].B=255; Conf->Coul_menu_pref[3].B=255;
if ((Retour=Charger_INI_Get_values (file,Buffer,"Light_color",3,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Light_color",3,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>63)) if ((values[0]<0) || (values[0]>63))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
if ((Valeurs[1]<0) || (Valeurs[1]>63)) if ((values[1]<0) || (values[1]>63))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
if ((Valeurs[2]<0) || (Valeurs[2]>63)) if ((values[2]<0) || (values[2]>63))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Coul_menu_pref[2].R=(Valeurs[0]<<2)|(Valeurs[0]>>4); Conf->Coul_menu_pref[2].R=(values[0]<<2)|(values[0]>>4);
Conf->Coul_menu_pref[2].G=(Valeurs[1]<<2)|(Valeurs[1]>>4); Conf->Coul_menu_pref[2].G=(values[1]<<2)|(values[1]>>4);
Conf->Coul_menu_pref[2].B=(Valeurs[2]<<2)|(Valeurs[2]>>4); Conf->Coul_menu_pref[2].B=(values[2]<<2)|(values[2]>>4);
if ((Retour=Charger_INI_Get_values (file,Buffer,"Dark_color",3,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Dark_color",3,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>63)) if ((values[0]<0) || (values[0]>63))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
if ((Valeurs[1]<0) || (Valeurs[1]>63)) if ((values[1]<0) || (values[1]>63))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
if ((Valeurs[2]<0) || (Valeurs[2]>63)) if ((values[2]<0) || (values[2]>63))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Coul_menu_pref[1].R=(Valeurs[0]<<2)|(Valeurs[0]>>4); Conf->Coul_menu_pref[1].R=(values[0]<<2)|(values[0]>>4);
Conf->Coul_menu_pref[1].G=(Valeurs[1]<<2)|(Valeurs[1]>>4); Conf->Coul_menu_pref[1].G=(values[1]<<2)|(values[1]>>4);
Conf->Coul_menu_pref[1].B=(Valeurs[2]<<2)|(Valeurs[2]>>4); Conf->Coul_menu_pref[1].B=(values[2]<<2)|(values[2]>>4);
if ((Retour=Charger_INI_Get_values (file,Buffer,"Menu_ratio",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Menu_ratio",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>2)) if ((values[0]<0) || (values[0]>2))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Ratio=Valeurs[0]; Conf->Ratio=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Font",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Font",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>2)) if ((values[0]<1) || (values[0]>2))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Fonte=Valeurs[0]-1; Conf->Fonte=values[0]-1;
if ((Retour=Charger_INI_Reach_group(file,Buffer,"[FILE_SELECTOR]"))) if ((return_code=Charger_INI_Reach_group(file,Buffer,"[FILE_SELECTOR]")))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Charger_INI_Get_values (file,Buffer,"Show_hidden_files",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Show_hidden_files",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Lire_les_fichiers_caches=Valeurs[0]?-1:0; Conf->Lire_les_fichiers_caches=values[0]?-1:0;
if ((Retour=Charger_INI_Get_values (file,Buffer,"Show_hidden_directories",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Show_hidden_directories",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Lire_les_repertoires_caches=Valeurs[0]?-1:0; Conf->Lire_les_repertoires_caches=values[0]?-1:0;
/* if ((Retour=Charger_INI_Get_values (file,Buffer,"Show_system_directories",1,Valeurs))) /* if ((return_code=Charger_INI_Get_values (file,Buffer,"Show_system_directories",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Lire_les_repertoires_systemes=Valeurs[0]?-1:0; Conf->Lire_les_repertoires_systemes=values[0]?-1:0;
*/ */
if ((Retour=Charger_INI_Get_values (file,Buffer,"Preview_delay",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Preview_delay",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>256)) if ((values[0]<1) || (values[0]>256))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Chrono_delay=Valeurs[0]; Conf->Chrono_delay=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Maximize_preview",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Maximize_preview",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Maximize_preview=Valeurs[0]; Conf->Maximize_preview=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Find_file_fast",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Find_file_fast",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>2)) if ((values[0]<0) || (values[0]>2))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Find_file_fast=Valeurs[0]; Conf->Find_file_fast=values[0];
if ((Retour=Charger_INI_Reach_group(file,Buffer,"[LOADING]"))) if ((return_code=Charger_INI_Reach_group(file,Buffer,"[LOADING]")))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Charger_INI_Get_values (file,Buffer,"Auto_set_resolution",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Auto_set_resolution",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Auto_set_res=Valeurs[0]; Conf->Auto_set_res=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Set_resolution_according_to",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Set_resolution_according_to",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>2)) if ((values[0]<1) || (values[0]>2))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Set_resolution_according_to=Valeurs[0]; Conf->Set_resolution_according_to=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Clear_palette",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Clear_palette",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Clear_palette=Valeurs[0]; Conf->Clear_palette=values[0];
if ((Retour=Charger_INI_Reach_group(file,Buffer,"[MISCELLANEOUS]"))) if ((return_code=Charger_INI_Reach_group(file,Buffer,"[MISCELLANEOUS]")))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Charger_INI_Get_values (file,Buffer,"Draw_limits",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Draw_limits",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Afficher_limites_image=Valeurs[0]; Conf->Afficher_limites_image=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Adjust_brush_pick",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Adjust_brush_pick",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Adjust_brush_pick=Valeurs[0]; Conf->Adjust_brush_pick=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Coordinates",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Coordinates",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>2)) if ((values[0]<1) || (values[0]>2))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Coords_rel=2-Valeurs[0]; Conf->Coords_rel=2-values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Backup",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Backup",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Backup=Valeurs[0]; Conf->Backup=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Undo_pages",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Undo_pages",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>99)) if ((values[0]<1) || (values[0]>99))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Nb_pages_Undo=Valeurs[0]; Conf->Nb_pages_Undo=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Gauges_scrolling_speed_Left",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Gauges_scrolling_speed_Left",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>255)) if ((values[0]<1) || (values[0]>255))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Valeur_tempo_jauge_gauche=Valeurs[0]; Conf->Valeur_tempo_jauge_gauche=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Gauges_scrolling_speed_Right",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Gauges_scrolling_speed_Right",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<1) || (Valeurs[0]>255)) if ((values[0]<1) || (values[0]>255))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Valeur_tempo_jauge_droite=Valeurs[0]; Conf->Valeur_tempo_jauge_droite=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Auto_save",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Auto_save",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Auto_save=Valeurs[0]; Conf->Auto_save=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Vertices_per_polygon",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Vertices_per_polygon",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<2) || (Valeurs[0]>16384)) if ((values[0]<2) || (values[0]>16384))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Nb_max_de_vertex_par_polygon=Valeurs[0]; Conf->Nb_max_de_vertex_par_polygon=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Fast_zoom",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Fast_zoom",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Fast_zoom=Valeurs[0]; Conf->Fast_zoom=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Separate_colors",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Separate_colors",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Couleurs_separees=Valeurs[0]; Conf->Couleurs_separees=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"FX_feedback",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"FX_feedback",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->FX_Feedback=Valeurs[0]; Conf->FX_Feedback=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Safety_colors",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Safety_colors",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Safety_colors=Valeurs[0]; Conf->Safety_colors=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Opening_message",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Opening_message",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Opening_message=Valeurs[0]; Conf->Opening_message=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Clear_with_stencil",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Clear_with_stencil",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Clear_with_stencil=Valeurs[0]; Conf->Clear_with_stencil=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Auto_discontinuous",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Auto_discontinuous",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Auto_discontinuous=Valeurs[0]; Conf->Auto_discontinuous=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Save_screen_size_in_GIF",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Save_screen_size_in_GIF",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Taille_ecran_dans_GIF=Valeurs[0]; Conf->Taille_ecran_dans_GIF=values[0];
if ((Retour=Charger_INI_Get_values (file,Buffer,"Auto_nb_colors_used",1,Valeurs))) if ((return_code=Charger_INI_Get_values (file,Buffer,"Auto_nb_colors_used",1,values)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Valeurs[0]<0) || (Valeurs[0]>1)) if ((values[0]<0) || (values[0]>1))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Auto_nb_used=Valeurs[0]; Conf->Auto_nb_used=values[0];
// Optionnel, le mode video par défaut (à partir de beta 97.0%) // Optionnel, le mode video par défaut (à partir de beta 97.0%)
Conf->Resolution_par_defaut=0; Conf->Resolution_par_defaut=0;
@ -697,38 +697,38 @@ int Charger_INI(T_Config * Conf)
// Optionnel, les dimensions de la fenêtre (à partir de beta 97.0%) // Optionnel, les dimensions de la fenêtre (à partir de beta 97.0%)
Mode_video[0].Width = 640; Mode_video[0].Width = 640;
Mode_video[0].Height = 480; Mode_video[0].Height = 480;
if (!Charger_INI_Get_values (file,Buffer,"Default_window_size",2,Valeurs)) if (!Charger_INI_Get_values (file,Buffer,"Default_window_size",2,values))
{ {
if ((Valeurs[0]>=320)) if ((values[0]>=320))
Mode_video[0].Width = Valeurs[0]; Mode_video[0].Width = values[0];
if ((Valeurs[1]>=200)) if ((values[1]>=200))
Mode_video[0].Height = Valeurs[1]; Mode_video[0].Height = values[1];
} }
Conf->Mouse_Merge_movement=100; Conf->Mouse_Merge_movement=100;
// Optionnel, paramètre pour grouper les mouvements souris (>98.0%) // Optionnel, paramètre pour grouper les mouvements souris (>98.0%)
if (!Charger_INI_Get_values (file,Buffer,"Merge_movement",1,Valeurs)) if (!Charger_INI_Get_values (file,Buffer,"Merge_movement",1,values))
{ {
if ((Valeurs[0]<0) || (Valeurs[0]>1000)) if ((values[0]<0) || (values[0]>1000))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Mouse_Merge_movement=Valeurs[0]; Conf->Mouse_Merge_movement=values[0];
} }
Conf->Palette_Cells_X=8; Conf->Palette_Cells_X=8;
// Optionnel, nombre de colonnes dans la palette (>98.0%) // Optionnel, nombre de colonnes dans la palette (>98.0%)
if (!Charger_INI_Get_values (file,Buffer,"Palette_Cells_X",1,Valeurs)) if (!Charger_INI_Get_values (file,Buffer,"Palette_Cells_X",1,values))
{ {
if ((Valeurs[0]<1) || (Valeurs[0]>256)) if ((values[0]<1) || (values[0]>256))
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Palette_Cells_X=Valeurs[0]; Conf->Palette_Cells_X=values[0];
} }
Conf->Palette_Cells_Y=8; Conf->Palette_Cells_Y=8;
// Optionnel, nombre de lignes dans la palette (>98.0%) // Optionnel, nombre de lignes dans la palette (>98.0%)
if (!Charger_INI_Get_values (file,Buffer,"Palette_Cells_Y",1,Valeurs)) if (!Charger_INI_Get_values (file,Buffer,"Palette_Cells_Y",1,values))
{ {
if (Valeurs[0]<1 || Valeurs[0]>16) if (values[0]<1 || values[0]>16)
goto Erreur_ERREUR_INI_CORROMPU; goto Erreur_ERREUR_INI_CORROMPU;
Conf->Palette_Cells_Y=Valeurs[0]; Conf->Palette_Cells_Y=values[0];
} }
// Optionnel, bookmarks (>98.0%) // Optionnel, bookmarks (>98.0%)
for (Indice=0;Indice<NB_BOOKMARKS;Indice++) for (Indice=0;Indice<NB_BOOKMARKS;Indice++)
@ -740,10 +740,10 @@ int Charger_INI(T_Config * Conf)
{ {
if (!Charger_INI_Get_string (file,Buffer,"Bookmark_label",Libelle_valeur)) if (!Charger_INI_Get_string (file,Buffer,"Bookmark_label",Libelle_valeur))
{ {
int Taille=strlen(Libelle_valeur); int size=strlen(Libelle_valeur);
if (Taille!=0) if (size!=0)
{ {
if (Taille>8) if (size>8)
{ {
Libelle_valeur[7]=CARACTERE_SUSPENSION; Libelle_valeur[7]=CARACTERE_SUSPENSION;
Libelle_valeur[8]='\0'; Libelle_valeur[8]='\0';
@ -755,10 +755,10 @@ int Charger_INI(T_Config * Conf)
break; break;
if (!Charger_INI_Get_string (file,Buffer,"Bookmark_directory",Libelle_valeur)) if (!Charger_INI_Get_string (file,Buffer,"Bookmark_directory",Libelle_valeur))
{ {
int Taille=strlen(Libelle_valeur); int size=strlen(Libelle_valeur);
if (Taille!=0) if (size!=0)
{ {
Conf->Bookmark_directory[Indice]=(char *)malloc(Taille+1); Conf->Bookmark_directory[Indice]=(char *)malloc(size+1);
strcpy(Conf->Bookmark_directory[Indice],Libelle_valeur); strcpy(Conf->Bookmark_directory[Indice],Libelle_valeur);
} }
} }
@ -778,7 +778,7 @@ int Charger_INI(T_Config * Conf)
fclose(file); fclose(file);
free(Nom_du_fichier); free(Nom_du_fichier);
free(Buffer); free(Buffer);
return Retour; return return_code;
Erreur_ERREUR_INI_CORROMPU: Erreur_ERREUR_INI_CORROMPU:

View File

@ -138,7 +138,7 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
char Chaine_initiale[256]; char Chaine_initiale[256];
char Chaine_affichee[256]; char Chaine_affichee[256];
byte position; byte position;
byte Taille; byte size;
word Touche_lue=0; word Touche_lue=0;
byte Touche_autorisee; byte Touche_autorisee;
@ -161,8 +161,8 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
snprintf(Chaine,10,"%d",atoi(Chaine)); // On tasse la chaine à gauche snprintf(Chaine,10,"%d",atoi(Chaine)); // On tasse la chaine à gauche
Taille=strlen(Chaine); size=strlen(Chaine);
position=(Taille<Taille_maxi)? Taille:Taille-1; position=(size<Taille_maxi)? size:size-1;
if (position-offset>Taille_affichee) if (position-offset>Taille_affichee)
offset=position-Taille_affichee+1; offset=position-Taille_affichee+1;
// Formatage d'une partie de la chaine (si trop longue pour tenir) // Formatage d'une partie de la chaine (si trop longue pour tenir)
@ -170,7 +170,7 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
Chaine_affichee[Taille_affichee]='\0'; Chaine_affichee[Taille_affichee]='\0';
if (offset>0) if (offset>0)
Chaine_affichee[0]=CARACTERE_TRIANGLE_GAUCHE; Chaine_affichee[0]=CARACTERE_TRIANGLE_GAUCHE;
if (Taille_affichee + offset + 1 < Taille ) if (Taille_affichee + offset + 1 < size )
Chaine_affichee[Taille_affichee-1]=CARACTERE_TRIANGLE_DROIT; Chaine_affichee[Taille_affichee-1]=CARACTERE_TRIANGLE_DROIT;
Rafficher_toute_la_chaine(x_pos,y_pos,Chaine_affichee,position - offset); Rafficher_toute_la_chaine(x_pos,y_pos,Chaine_affichee,position - offset);
@ -190,10 +190,10 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
switch (Touche_lue) switch (Touche_lue)
{ {
case SDLK_DELETE : // Suppr. case SDLK_DELETE : // Suppr.
if (position<Taille) if (position<size)
{ {
Supprimer_caractere(Chaine,position); Supprimer_caractere(Chaine,position);
Taille--; size--;
// Effacement de la chaîne // Effacement de la chaîne
Block(Fenetre_Pos_X+(x_pos*Menu_Facteur_X),Fenetre_Pos_Y+(y_pos*Menu_Facteur_Y), Block(Fenetre_Pos_X+(x_pos*Menu_Facteur_X),Fenetre_Pos_Y+(y_pos*Menu_Facteur_Y),
@ -205,7 +205,7 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
if (position>0) if (position>0)
{ {
// Effacement de la chaîne // Effacement de la chaîne
if (position==Taille) if (position==size)
Block(Fenetre_Pos_X+(x_pos*Menu_Facteur_X),Fenetre_Pos_Y+(y_pos*Menu_Facteur_Y), Block(Fenetre_Pos_X+(x_pos*Menu_Facteur_X),Fenetre_Pos_Y+(y_pos*Menu_Facteur_Y),
Taille_affichee*(Menu_Facteur_X<<3),(Menu_Facteur_Y<<3),COULEUR_FOND); Taille_affichee*(Menu_Facteur_X<<3),(Menu_Facteur_Y<<3),COULEUR_FOND);
position--; position--;
@ -215,11 +215,11 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
} }
break; break;
case SDLK_RIGHT : // Droite case SDLK_RIGHT : // Droite
if ((position<Taille) && (position<Taille_maxi-1)) if ((position<size) && (position<Taille_maxi-1))
{ {
position++; position++;
//if (position > Taille_affichee + offset - 2) //if (position > Taille_affichee + offset - 2)
//if (offset + Taille_affichee < Taille_maxi && (position == Taille || (position > Taille_affichee + offset - 2))) //if (offset + Taille_affichee < Taille_maxi && (position == size || (position > Taille_affichee + offset - 2)))
if (Chaine_affichee[position-offset]==CARACTERE_TRIANGLE_DROIT || position-offset>=Taille_affichee) if (Chaine_affichee[position-offset]==CARACTERE_TRIANGLE_DROIT || position-offset>=Taille_affichee)
offset++; offset++;
goto affichage; goto affichage;
@ -229,7 +229,7 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
if (position) if (position)
{ {
// Effacement de la chaîne // Effacement de la chaîne
if (position==Taille) if (position==size)
Block(Fenetre_Pos_X+(x_pos*Menu_Facteur_X),Fenetre_Pos_Y+(y_pos*Menu_Facteur_Y), Block(Fenetre_Pos_X+(x_pos*Menu_Facteur_X),Fenetre_Pos_Y+(y_pos*Menu_Facteur_Y),
Taille_affichee*(Menu_Facteur_X<<3),(Menu_Facteur_Y<<3),COULEUR_FOND); Taille_affichee*(Menu_Facteur_X<<3),(Menu_Facteur_Y<<3),COULEUR_FOND);
position = 0; position = 0;
@ -238,9 +238,9 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
} }
break; break;
case SDLK_END : // End case SDLK_END : // End
if ((position<Taille) && (position<Taille_maxi-1)) if ((position<size) && (position<Taille_maxi-1))
{ {
position=(Taille<Taille_maxi)?Taille:Taille-1; position=(size<Taille_maxi)?size:size-1;
if (position-offset>Taille_affichee) if (position-offset>Taille_affichee)
offset=position-Taille_affichee+1; offset=position-Taille_affichee+1;
goto affichage; goto affichage;
@ -254,7 +254,7 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
if (offset > 0 && (position == 0 || position < (offset + 1))) if (offset > 0 && (position == 0 || position < (offset + 1)))
offset--; offset--;
Supprimer_caractere(Chaine,position); Supprimer_caractere(Chaine,position);
Taille--; size--;
// Effacement de la chaîne // Effacement de la chaîne
Block(Fenetre_Pos_X+(x_pos*Menu_Facteur_X),Fenetre_Pos_Y+(y_pos*Menu_Facteur_Y), Block(Fenetre_Pos_X+(x_pos*Menu_Facteur_X),Fenetre_Pos_Y+(y_pos*Menu_Facteur_Y),
Taille_affichee*(Menu_Facteur_X<<3),(Menu_Facteur_Y<<3),COULEUR_FOND); Taille_affichee*(Menu_Facteur_X<<3),(Menu_Facteur_Y<<3),COULEUR_FOND);
@ -267,10 +267,10 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
case TOUCHE_ESC : case TOUCHE_ESC :
// On restaure la chaine initiale // On restaure la chaine initiale
strcpy(Chaine,Chaine_initiale); strcpy(Chaine,Chaine_initiale);
Taille=strlen(Chaine); size=strlen(Chaine);
break; break;
default : default :
if (Taille<Taille_maxi) if (size<Taille_maxi)
{ {
// On va regarder si l'utilisateur le droit de se servir de cette touche // On va regarder si l'utilisateur le droit de se servir de cette touche
Touche_autorisee=0; // On commence par supposer qu'elle est interdite Touche_autorisee=0; // On commence par supposer qu'elle est interdite
@ -294,11 +294,11 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
if (Touche_autorisee) if (Touche_autorisee)
{ {
// ... alors on l'insère ... // ... alors on l'insère ...
Inserer_caractere(Chaine,Touche_lue,position/*,Taille*/); Inserer_caractere(Chaine,Touche_lue,position/*,size*/);
// ce qui augmente la taille de la chaine // ce qui augmente la taille de la chaine
Taille++; size++;
// et qui risque de déplacer le curseur vers la droite // et qui risque de déplacer le curseur vers la droite
if (Taille<Taille_maxi) if (size<Taille_maxi)
{ {
position++; position++;
if (Chaine_affichee[position-offset]==CARACTERE_TRIANGLE_DROIT || position-offset>=Taille_affichee) if (Chaine_affichee[position-offset]==CARACTERE_TRIANGLE_DROIT || position-offset>=Taille_affichee)
@ -311,13 +311,13 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
break; break;
affichage: affichage:
Taille=strlen(Chaine); size=strlen(Chaine);
// Formatage d'une partie de la chaine (si trop longue pour tenir) // Formatage d'une partie de la chaine (si trop longue pour tenir)
strncpy(Chaine_affichee, Chaine + offset, Taille_affichee); strncpy(Chaine_affichee, Chaine + offset, Taille_affichee);
Chaine_affichee[Taille_affichee]='\0'; Chaine_affichee[Taille_affichee]='\0';
if (offset>0) if (offset>0)
Chaine_affichee[0]=CARACTERE_TRIANGLE_GAUCHE; Chaine_affichee[0]=CARACTERE_TRIANGLE_GAUCHE;
if (Taille_affichee + offset + 0 < Taille ) if (Taille_affichee + offset + 0 < size )
Chaine_affichee[Taille_affichee-1]=CARACTERE_TRIANGLE_DROIT; Chaine_affichee[Taille_affichee-1]=CARACTERE_TRIANGLE_DROIT;
Rafficher_toute_la_chaine(x_pos,y_pos,Chaine_affichee,position - offset); Rafficher_toute_la_chaine(x_pos,y_pos,Chaine_affichee,position - offset);
@ -337,9 +337,9 @@ affichage:
if (Chaine[0]=='\0') if (Chaine[0]=='\0')
{ {
strcpy(Chaine,"0"); strcpy(Chaine,"0");
Taille=1; size=1;
} }
Print_dans_fenetre(x_pos+((Taille_maxi-Taille)<<3),y_pos,Chaine,COULEUR_TEXTE,COULEUR_FOND); Print_dans_fenetre(x_pos+((Taille_maxi-size)<<3),y_pos,Chaine,COULEUR_TEXTE,COULEUR_FOND);
} }
else else
{ {

192
saveini.c
View File

@ -392,10 +392,10 @@ int Sauver_INI(T_Config * Conf)
FILE * Ancien_fichier; FILE * Ancien_fichier;
FILE * Nouveau_fichier; FILE * Nouveau_fichier;
char * Buffer; char * Buffer;
int Valeurs[3]; int values[3];
char Nom_du_fichier[TAILLE_CHEMIN_FICHIER]; char Nom_du_fichier[TAILLE_CHEMIN_FICHIER];
char Nom_du_fichier_temporaire[TAILLE_CHEMIN_FICHIER]; char Nom_du_fichier_temporaire[TAILLE_CHEMIN_FICHIER];
int Retour; int return_code;
char Nom_du_fichier_DAT[TAILLE_CHEMIN_FICHIER]; char Nom_du_fichier_DAT[TAILLE_CHEMIN_FICHIER];
int Ini_existe; int Ini_existe;
int Indice; int Indice;
@ -434,197 +434,197 @@ int Sauver_INI(T_Config * Conf)
free(Buffer); free(Buffer);
return ERREUR_SAUVEGARDE_INI; return ERREUR_SAUVEGARDE_INI;
} }
if ((Retour=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[MOUSE]"))) if ((return_code=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[MOUSE]")))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Indice_Sensibilite_souris_X; values[0]=Conf->Indice_Sensibilite_souris_X;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"X_sensitivity",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"X_sensitivity",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Indice_Sensibilite_souris_Y; values[0]=Conf->Indice_Sensibilite_souris_Y;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Y_sensitivity",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Y_sensitivity",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Mouse_Facteur_de_correction_X; values[0]=Conf->Mouse_Facteur_de_correction_X;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"X_correction_factor",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"X_correction_factor",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Mouse_Facteur_de_correction_Y; values[0]=Conf->Mouse_Facteur_de_correction_Y;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Y_correction_factor",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Y_correction_factor",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=(Conf->Curseur)+1; values[0]=(Conf->Curseur)+1;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Cursor_aspect",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Cursor_aspect",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[MENU]"))) if ((return_code=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[MENU]")))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Coul_menu_pref[2].R>>2; values[0]=Conf->Coul_menu_pref[2].R>>2;
Valeurs[1]=Conf->Coul_menu_pref[2].G>>2; values[1]=Conf->Coul_menu_pref[2].G>>2;
Valeurs[2]=Conf->Coul_menu_pref[2].B>>2; values[2]=Conf->Coul_menu_pref[2].B>>2;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Light_color",3,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Light_color",3,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Coul_menu_pref[1].R>>2; values[0]=Conf->Coul_menu_pref[1].R>>2;
Valeurs[1]=Conf->Coul_menu_pref[1].G>>2; values[1]=Conf->Coul_menu_pref[1].G>>2;
Valeurs[2]=Conf->Coul_menu_pref[1].B>>2; values[2]=Conf->Coul_menu_pref[1].B>>2;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Dark_color",3,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Dark_color",3,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Ratio; values[0]=Conf->Ratio;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Menu_ratio",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Menu_ratio",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=(Conf->Fonte)+1; values[0]=(Conf->Fonte)+1;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Font",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Font",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[FILE_SELECTOR]"))) if ((return_code=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[FILE_SELECTOR]")))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Lire_les_fichiers_caches?1:0; values[0]=Conf->Lire_les_fichiers_caches?1:0;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Show_hidden_files",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Show_hidden_files",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Lire_les_repertoires_caches?1:0; values[0]=Conf->Lire_les_repertoires_caches?1:0;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Show_hidden_directories",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Show_hidden_directories",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
/* Valeurs[0]=Conf->Lire_les_repertoires_systemes?1:0; /* values[0]=Conf->Lire_les_repertoires_systemes?1:0;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Show_system_directories",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Show_system_directories",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
*/ */
Valeurs[0]=Conf->Chrono_delay; values[0]=Conf->Chrono_delay;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Preview_delay",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Preview_delay",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Maximize_preview; values[0]=Conf->Maximize_preview;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Maximize_preview",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Maximize_preview",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Find_file_fast; values[0]=Conf->Find_file_fast;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Find_file_fast",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Find_file_fast",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[LOADING]"))) if ((return_code=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[LOADING]")))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Auto_set_res; values[0]=Conf->Auto_set_res;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_set_resolution",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_set_resolution",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Set_resolution_according_to; values[0]=Conf->Set_resolution_according_to;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Set_resolution_according_to",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Set_resolution_according_to",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Clear_palette; values[0]=Conf->Clear_palette;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Clear_palette",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Clear_palette",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[MISCELLANEOUS]"))) if ((return_code=Sauver_INI_Reach_group(Ancien_fichier,Nouveau_fichier,Buffer,"[MISCELLANEOUS]")))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Afficher_limites_image; values[0]=Conf->Afficher_limites_image;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Draw_limits",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Draw_limits",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Adjust_brush_pick; values[0]=Conf->Adjust_brush_pick;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Adjust_brush_pick",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Adjust_brush_pick",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=2-Conf->Coords_rel; values[0]=2-Conf->Coords_rel;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Coordinates",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Coordinates",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Backup; values[0]=Conf->Backup;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Backup",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Backup",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Nb_pages_Undo; values[0]=Conf->Nb_pages_Undo;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Undo_pages",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Undo_pages",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Valeur_tempo_jauge_gauche; values[0]=Conf->Valeur_tempo_jauge_gauche;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Gauges_scrolling_speed_Left",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Gauges_scrolling_speed_Left",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Valeur_tempo_jauge_droite; values[0]=Conf->Valeur_tempo_jauge_droite;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Gauges_scrolling_speed_Right",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Gauges_scrolling_speed_Right",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Auto_save; values[0]=Conf->Auto_save;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_save",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_save",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Nb_max_de_vertex_par_polygon; values[0]=Conf->Nb_max_de_vertex_par_polygon;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Vertices_per_polygon",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Vertices_per_polygon",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Fast_zoom; values[0]=Conf->Fast_zoom;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Fast_zoom",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Fast_zoom",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Couleurs_separees; values[0]=Conf->Couleurs_separees;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Separate_colors",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Separate_colors",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->FX_Feedback; values[0]=Conf->FX_Feedback;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"FX_feedback",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"FX_feedback",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Safety_colors; values[0]=Conf->Safety_colors;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Safety_colors",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Safety_colors",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Opening_message; values[0]=Conf->Opening_message;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Opening_message",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Opening_message",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Clear_with_stencil; values[0]=Conf->Clear_with_stencil;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Clear_with_stencil",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Clear_with_stencil",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Auto_discontinuous; values[0]=Conf->Auto_discontinuous;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_discontinuous",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_discontinuous",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Taille_ecran_dans_GIF; values[0]=Conf->Taille_ecran_dans_GIF;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Save_screen_size_in_GIF",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Save_screen_size_in_GIF",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Conf->Auto_nb_used; values[0]=Conf->Auto_nb_used;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_nb_colors_used",1,Valeurs,1))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_nb_colors_used",1,values,1)))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Sauver_INI_Set_strings (Ancien_fichier,Nouveau_fichier,Buffer,"Default_video_mode",Libelle_mode(Conf->Resolution_par_defaut)))) if ((return_code=Sauver_INI_Set_strings (Ancien_fichier,Nouveau_fichier,Buffer,"Default_video_mode",Libelle_mode(Conf->Resolution_par_defaut))))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=Mode_video[0].Width; values[0]=Mode_video[0].Width;
Valeurs[1]=Mode_video[0].Height; values[1]=Mode_video[0].Height;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Default_window_size",2,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Default_window_size",2,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=(Conf->Mouse_Merge_movement); values[0]=(Conf->Mouse_Merge_movement);
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Merge_movement",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Merge_movement",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=(Conf->Palette_Cells_X); values[0]=(Conf->Palette_Cells_X);
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Palette_Cells_X",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Palette_Cells_X",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
Valeurs[0]=(Conf->Palette_Cells_Y); values[0]=(Conf->Palette_Cells_Y);
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Palette_Cells_Y",1,Valeurs,0))) if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Palette_Cells_Y",1,values,0)))
goto Erreur_Retour; goto Erreur_Retour;
for (Indice=0;Indice<NB_BOOKMARKS;Indice++) for (Indice=0;Indice<NB_BOOKMARKS;Indice++)
{ {
if ((Retour=Sauver_INI_Set_strings (Ancien_fichier,Nouveau_fichier,Buffer,"Bookmark_label",Conf->Bookmark_label[Indice]))) if ((return_code=Sauver_INI_Set_strings (Ancien_fichier,Nouveau_fichier,Buffer,"Bookmark_label",Conf->Bookmark_label[Indice])))
goto Erreur_Retour; goto Erreur_Retour;
if ((Retour=Sauver_INI_Set_strings (Ancien_fichier,Nouveau_fichier,Buffer,"Bookmark_directory",Conf->Bookmark_directory[Indice]))) if ((return_code=Sauver_INI_Set_strings (Ancien_fichier,Nouveau_fichier,Buffer,"Bookmark_directory",Conf->Bookmark_directory[Indice])))
goto Erreur_Retour; goto Erreur_Retour;
} }
@ -646,7 +646,7 @@ int Sauver_INI(T_Config * Conf)
fclose(Nouveau_fichier); fclose(Nouveau_fichier);
fclose(Ancien_fichier); fclose(Ancien_fichier);
free(Buffer); free(Buffer);
return Retour; return return_code;
Erreur_ERREUR_SAUVEGARDE_INI: Erreur_ERREUR_SAUVEGARDE_INI:

View File

@ -106,10 +106,10 @@ void Flush_update(void)
} }
void UpdateRect(short X, short Y, unsigned short width, unsigned short height) void UpdateRect(short x, short y, unsigned short width, unsigned short height)
{ {
#if (METHODE_UPDATE == METHODE_UPDATE_MULTI_RECTANGLE) #if (METHODE_UPDATE == METHODE_UPDATE_MULTI_RECTANGLE)
SDL_UpdateRect(Ecran_SDL, X*Pixel_width, Y*Pixel_height, width*Pixel_width, height*Pixel_height); SDL_UpdateRect(Ecran_SDL, x*Pixel_width, y*Pixel_height, width*Pixel_width, height*Pixel_height);
#endif #endif
#if (METHODE_UPDATE == METHODE_UPDATE_PAR_CUMUL) #if (METHODE_UPDATE == METHODE_UPDATE_PAR_CUMUL)
@ -120,14 +120,14 @@ void UpdateRect(short X, short Y, unsigned short width, unsigned short height)
} }
else else
{ {
if (X < Min_X) if (x < Min_X)
Min_X = X; Min_X = x;
if (Y < Min_Y) if (y < Min_Y)
Min_Y = Y; Min_Y = y;
if (X+width>Max_X) if (x+width>Max_X)
Max_X=X+width; Max_X=x+width;
if (Y+height>Max_Y) if (y+height>Max_Y)
Max_Y=Y+height; Max_Y=y+height;
} }
#endif #endif
@ -144,28 +144,28 @@ byte * Surface_en_bytefield(SDL_Surface *Source, byte * dest)
{ {
byte *Src; byte *Src;
byte *dest_ptr; byte *dest_ptr;
int Y; int y;
int Reste; int remainder;
// Support seulement des images 256 couleurs // Support seulement des images 256 couleurs
if (Source->format->BytesPerPixel != 1) if (Source->format->BytesPerPixel != 1)
return NULL; return NULL;
if (Source->w & 3) if (Source->w & 3)
Reste=4-(Source->w&3); remainder=4-(Source->w&3);
else else
Reste=0; remainder=0;
if (dest==NULL) if (dest==NULL)
dest=(byte *)malloc(Source->w*Source->h); dest=(byte *)malloc(Source->w*Source->h);
dest_ptr=dest; dest_ptr=dest;
Src=(byte *)(Source->pixels); Src=(byte *)(Source->pixels);
for(Y=0; Y < Source->h; Y++) for(y=0; y < Source->h; y++)
{ {
memcpy(dest_ptr, Src,Source->w); memcpy(dest_ptr, Src,Source->w);
dest_ptr += Source->w; dest_ptr += Source->w;
Src += Source->w + Reste; Src += Source->w + remainder;
} }
return dest; return dest;
@ -184,7 +184,7 @@ SDL_Color Conversion_couleur_SDL(byte index)
// Lecture d'un pixel pour une surface SDL. // Lecture d'un pixel pour une surface SDL.
// Attention, ne fonctionne que pour les surfaces 8-bit // Attention, ne fonctionne que pour les surfaces 8-bit
byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int X, int Y) byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int x, int y)
{ {
return ((byte *)(Bmp->pixels))[(Y*Bmp->pitch+X)]; return ((byte *)(Bmp->pixels))[(y*Bmp->pitch+x)];
} }

View File

@ -30,10 +30,10 @@
SDL_Rect ** Liste_Modes_Videos_SDL; SDL_Rect ** Liste_Modes_Videos_SDL;
byte* Ecran; byte* Ecran;
void UpdateRect(short X, short Y, unsigned short width, unsigned short height); void UpdateRect(short x, short y, unsigned short width, unsigned short height);
void Flush_update(void); void Flush_update(void);
byte * Surface_en_bytefield(SDL_Surface *Source, byte * dest); byte * Surface_en_bytefield(SDL_Surface *Source, byte * dest);
SDL_Color Conversion_couleur_SDL(byte); SDL_Color Conversion_couleur_SDL(byte);
byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int X, int Y); byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int x, int y);
#endif // SDLSCREEN_H_INCLUDED #endif // SDLSCREEN_H_INCLUDED

View File

@ -143,9 +143,9 @@ void Set_Config_Directory(const char * Program_Dir, char * Config_Dir)
#endif #endif
if (Config_ParentDir && Config_ParentDir[0]!='\0') if (Config_ParentDir && Config_ParentDir[0]!='\0')
{ {
int Taille = strlen(Config_ParentDir); int size = strlen(Config_ParentDir);
strcpy(Config_Dir, Config_ParentDir); strcpy(Config_Dir, Config_ParentDir);
if (Config_ParentDir[Taille-1] != '\\' && Config_ParentDir[Taille-1] != '/') if (Config_ParentDir[size-1] != '\\' && Config_ParentDir[size-1] != '/')
{ {
strcat(Config_Dir,SEPARATEUR_CHEMIN); strcat(Config_Dir,SEPARATEUR_CHEMIN);
} }

View File

@ -210,7 +210,7 @@ void Afficher_couleur_selectionnee(word Select_Debut,word Select_Fin)
} }
void Afficher_mode_du_shade(short X,short Y,byte mode) void Afficher_mode_du_shade(short x,short y,byte mode)
{ {
char Chaine[7]; char Chaine[7];
@ -225,7 +225,7 @@ void Afficher_mode_du_shade(short X,short Y,byte mode)
default : // MODE_SHADE_NOSAT default : // MODE_SHADE_NOSAT
strcpy(Chaine,"No sat"); strcpy(Chaine,"No sat");
} }
Print_dans_fenetre(X,Y,Chaine,CM_Noir,CM_Clair); Print_dans_fenetre(x,y,Chaine,CM_Noir,CM_Clair);
} }

View File

@ -34,7 +34,7 @@
void Modifier_pinceau(int width, int height) void Modifier_pinceau(int width, int height)
{ {
int x_pos,y_pos; int x_pos,y_pos;
int X,Y; int x,y;
float Rayon2; float Rayon2;
if (width<1) width=1; if (width<1) width=1;
@ -53,9 +53,9 @@ void Modifier_pinceau(int width, int height)
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++) for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++) for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
{ {
X=x_pos-Pinceau_Decalage_X; x=x_pos-Pinceau_Decalage_X;
Y=y_pos-Pinceau_Decalage_Y; y=y_pos-Pinceau_Decalage_Y;
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( ((X*X)+(Y*Y)) < Rayon2 ); Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( ((x*x)+(y*y)) < Rayon2 );
} }
break; break;
case FORME_PINCEAU_CARRE : case FORME_PINCEAU_CARRE :
@ -68,9 +68,9 @@ void Modifier_pinceau(int width, int height)
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++) for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++) for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
{ {
X=x_pos-Pinceau_Decalage_X; x=x_pos-Pinceau_Decalage_X;
Y=y_pos-Pinceau_Decalage_Y; y=y_pos-Pinceau_Decalage_Y;
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( (!((x_pos+y_pos)&1)) && (((X*X)+(Y*Y)) < Rayon2)); Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( (!((x_pos+y_pos)&1)) && (((x*x)+(y*y)) < Rayon2));
} }
break; break;
case FORME_PINCEAU_CARRE_TRAME: case FORME_PINCEAU_CARRE_TRAME:
@ -79,19 +79,19 @@ void Modifier_pinceau(int width, int height)
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=!((x_pos+y_pos)&1); Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=!((x_pos+y_pos)&1);
break; break;
case FORME_PINCEAU_PLUS: case FORME_PINCEAU_PLUS:
X=Pinceau_Largeur>>1; x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++) for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++) for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=((x_pos==X) || (y_pos==X)); Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=((x_pos==x) || (y_pos==x));
break; break;
case FORME_PINCEAU_SLASH: case FORME_PINCEAU_SLASH:
X=Pinceau_Largeur>>1; x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++) for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++) for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=(x_pos==(Pinceau_Largeur-(y_pos+1))); Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=(x_pos==(Pinceau_Largeur-(y_pos+1)));
break; break;
case FORME_PINCEAU_ANTISLASH: case FORME_PINCEAU_ANTISLASH:
X=Pinceau_Largeur>>1; x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++) for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++) for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=(x_pos==y_pos); Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=(x_pos==y_pos);
@ -104,25 +104,25 @@ void Modifier_pinceau(int width, int height)
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)]=1; Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)]=1;
break; break;
case FORME_PINCEAU_X: case FORME_PINCEAU_X:
X=Pinceau_Largeur>>1; x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++) for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++) for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( (x_pos==y_pos) || (x_pos==(Pinceau_Hauteur-(y_pos+1))) ); Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( (x_pos==y_pos) || (x_pos==(Pinceau_Hauteur-(y_pos+1))) );
break; break;
case FORME_PINCEAU_LOSANGE: case FORME_PINCEAU_LOSANGE:
X=Pinceau_Largeur>>1; x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++) for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++) for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
{ {
if (x_pos<=X) if (x_pos<=x)
Y=X-x_pos; y=x-x_pos;
else else
Y=x_pos-X; y=x_pos-x;
if (y_pos<=X) if (y_pos<=x)
Y+=X-y_pos; y+=x-y_pos;
else else
Y+=y_pos-X; y+=y_pos-x;
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=(Y<=X); Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=(y<=x);
} }
break; break;
case FORME_PINCEAU_ALEATOIRE: case FORME_PINCEAU_ALEATOIRE:
@ -131,9 +131,9 @@ void Modifier_pinceau(int width, int height)
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++) for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++) for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
{ {
X=x_pos-Pinceau_Decalage_X; x=x_pos-Pinceau_Decalage_X;
Y=y_pos-Pinceau_Decalage_Y; y=y_pos-Pinceau_Decalage_Y;
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( (((X*X)+(Y*Y)) < Rayon2) && (!(rand()&7)) ); Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( (((x*x)+(y*y)) < Rayon2) && (!(rand()&7)) );
} }
} }
} }
@ -333,11 +333,11 @@ void Scroller_loupe(short Decalage_en_X,short Decalage_en_Y)
// -------------- Changer le Zoom (grâce aux touches [+] et [-]) ------------- // -------------- Changer le Zoom (grâce aux touches [+] et [-]) -------------
void Zoom(short Sens) void Zoom(short delta)
{ {
short Indice; short Indice;
for (Indice=0; FACTEUR_ZOOM[Indice]!=Loupe_Facteur; Indice++); for (Indice=0; FACTEUR_ZOOM[Indice]!=Loupe_Facteur; Indice++);
Indice+=Sens; Indice+=delta;
if ( (Indice>=0) && (Indice<NB_FACTEURS_DE_ZOOM) ) if ( (Indice>=0) && (Indice<NB_FACTEURS_DE_ZOOM) )
{ {

View File

@ -30,4 +30,4 @@ void Special_Previous_backcolor(void);
void Scroller_ecran(short Decalage_en_X,short Decalage_en_Y); void Scroller_ecran(short Decalage_en_X,short Decalage_en_Y);
void Scroller_loupe(short Decalage_en_X,short Decalage_en_Y); void Scroller_loupe(short Decalage_en_X,short Decalage_en_Y);
void Zoom(short Sens); void Zoom(short delta);

View File

@ -195,7 +195,7 @@ typedef struct
typedef struct typedef struct
{ {
byte Number; byte Number;
word Taille; word Size;
} __attribute__((__packed__)) Config_Chunk; } __attribute__((__packed__)) Config_Chunk;
typedef struct typedef struct

34
texte.c
View File

@ -90,19 +90,19 @@ void Ajout_fonte(const char *name)
{ {
char * Nom_fonte; char * Nom_fonte;
T_FONTE * Fonte; T_FONTE * Fonte;
int Taille=strlen(name)+1; int size=strlen(name)+1;
int Indice; int Indice;
// Détermination du type: // Détermination du type:
#ifdef __macosx__ #ifdef __macosx__
if (Taille < 6) return; if (size < 6) return;
char strFontName[512]; char strFontName[512];
CFStringRef CFSFontName;// = CFSTR(name); CFStringRef CFSFontName;// = CFSTR(name);
CFSFontName = CFStringCreateWithBytes(NULL, (UInt8 *) name, Taille - 1, kCFStringEncodingASCII, false); CFSFontName = CFStringCreateWithBytes(NULL, (UInt8 *) name, size - 1, kCFStringEncodingASCII, false);
// Fix some funny names // Fix some funny names
CFStringGetCString(CFSFontName, strFontName, 512, kCFStringEncodingASCII); CFStringGetCString(CFSFontName, strFontName, 512, kCFStringEncodingASCII);
@ -110,14 +110,14 @@ void Ajout_fonte(const char *name)
name = strFontName; name = strFontName;
#else #else
if (Taille<5 || if (size<5 ||
name[Taille-5]!='.') name[size-5]!='.')
return; return;
#endif #endif
Fonte = (T_FONTE *)malloc(sizeof(T_FONTE)); Fonte = (T_FONTE *)malloc(sizeof(T_FONTE));
switch (EXTID(tolower(name[Taille-4]), tolower(name[Taille-3]), tolower(name[Taille-2]))) switch (EXTID(tolower(name[size-4]), tolower(name[size-3]), tolower(name[size-2])))
{ {
case EXTID('t','t','f'): case EXTID('t','t','f'):
case EXTID('f','o','n'): case EXTID('f','o','n'):
@ -142,7 +142,7 @@ void Ajout_fonte(const char *name)
break; break;
default: default:
#ifdef __macosx__ #ifdef __macosx__
if(strcasecmp(&name[Taille-6], "dfont") == 0) if(strcasecmp(&name[size-6], "dfont") == 0)
{ {
Fonte->EstTrueType = 1; Fonte->EstTrueType = 1;
Fonte->EstImage = 0; Fonte->EstImage = 0;
@ -158,7 +158,7 @@ void Ajout_fonte(const char *name)
#endif #endif
} }
Fonte->Name = (char *)malloc(Taille); Fonte->Name = (char *)malloc(size);
strcpy(Fonte->Name, name); strcpy(Fonte->Name, name);
// Label // Label
strcpy(Fonte->Label, " "); strcpy(Fonte->Label, " ");
@ -368,31 +368,31 @@ int Support_TrueType()
#ifndef NOTTF #ifndef NOTTF
byte *Rendu_Texte_TTF(const char *Chaine, int Numero_fonte, int Taille, int antialias, int bold, int italic, int *width, int *height) byte *Rendu_Texte_TTF(const char *Chaine, int Numero_fonte, int size, int antialias, int bold, int italic, int *width, int *height)
{ {
TTF_Font *Fonte; TTF_Font *Fonte;
SDL_Surface * TexteColore; SDL_Surface * TexteColore;
SDL_Surface * Texte8Bit; SDL_Surface * Texte8Bit;
byte * BrosseRetour; byte * BrosseRetour;
int Indice; int Indice;
int Style; int style;
SDL_Color Couleur_Avant; SDL_Color Couleur_Avant;
SDL_Color Couleur_Arriere; SDL_Color Couleur_Arriere;
// Chargement de la fonte // Chargement de la fonte
Fonte=TTF_OpenFont(Nom_fonte(Numero_fonte), Taille); Fonte=TTF_OpenFont(Nom_fonte(Numero_fonte), size);
if (!Fonte) if (!Fonte)
{ {
return NULL; return NULL;
} }
// Style // Style
Style=0; style=0;
if (italic) if (italic)
Style|=TTF_STYLE_ITALIC; style|=TTF_STYLE_ITALIC;
if (bold) if (bold)
Style|=TTF_STYLE_BOLD; style|=TTF_STYLE_BOLD;
TTF_SetFontStyle(Fonte, Style); TTF_SetFontStyle(Fonte, style);
// Couleurs // Couleurs
if (antialias) if (antialias)
{ {
@ -501,7 +501,7 @@ byte *Rendu_Texte_SFont(const char *Chaine, int Numero_fonte, int *width, int *h
// Crée une brosse à partir des paramètres de texte demandés. // Crée une brosse à partir des paramètres de texte demandés.
// Si cela réussit, la fonction place les dimensions dans width et height, // Si cela réussit, la fonction place les dimensions dans width et height,
// et retourne l'adresse du bloc d'octets. // et retourne l'adresse du bloc d'octets.
byte *Rendu_Texte(const char *Chaine, int Numero_fonte, int Taille, int antialias, int bold, int italic, int *width, int *height) byte *Rendu_Texte(const char *Chaine, int Numero_fonte, int size, int antialias, int bold, int italic, int *width, int *height)
{ {
T_FONTE *Fonte = Liste_fontes_debut; T_FONTE *Fonte = Liste_fontes_debut;
int Indice=Numero_fonte; int Indice=Numero_fonte;
@ -515,7 +515,7 @@ byte *Rendu_Texte(const char *Chaine, int Numero_fonte, int Taille, int antialia
if (Fonte->EstTrueType) if (Fonte->EstTrueType)
{ {
#ifndef NOTTF #ifndef NOTTF
return Rendu_Texte_TTF(Chaine, Numero_fonte, Taille, antialias, bold, italic, width, height); return Rendu_Texte_TTF(Chaine, Numero_fonte, size, antialias, bold, italic, width, height);
#else #else
return NULL; return NULL;
#endif #endif

View File

@ -27,7 +27,7 @@ int Support_TrueType(void);
// Ajout d'une fonte à la liste. // Ajout d'une fonte à la liste.
void Ajout_fonte(char *name); void Ajout_fonte(char *name);
// Crée une brosse à partir des paramètres de texte demandés. // Crée une brosse à partir des paramètres de texte demandés.
byte *Rendu_Texte(const char *Chaine, int Numero_fonte, int Taille, int antialias, int bold, int italic, int *width, int *height); byte *Rendu_Texte(const char *Chaine, int Numero_fonte, int size, int antialias, int bold, int italic, int *width, int *height);
// Trouve le libellé d'affichage d'une fonte par son numéro // Trouve le libellé d'affichage d'une fonte par son numéro
char * Libelle_fonte(int Indice); char * Libelle_fonte(int Indice);
// Trouve le nom d'une fonte par son numéro // Trouve le nom d'une fonte par son numéro

View File

@ -193,7 +193,7 @@ Brush_height
Brush_width Brush_width
Brush_filename Brush_filename
Brush_current_directory Brush_current_directory
Brush_filedirectory Brush_file_directory
Spare_backups Spare_backups
Spare_comment Spare_comment
Spare_offset_X Spare_offset_X
@ -216,7 +216,7 @@ Spare_filename
Spare_palette Spare_palette
Spare_separator_proportion Spare_separator_proportion
Spare_current_directory Spare_current_directory
Spare_filedirectory Spare_file_directory
Spare_separator_position Spare_separator_position
Spare_X_zoom Spare_X_zoom
Horizontal_line_buffer Horizontal_line_buffer
@ -988,7 +988,7 @@ Main_filename
Main_palette Main_palette
Main_separator_proportion Main_separator_proportion
Main_current_directory Main_current_directory
Main_filedirectory Main_file_directory
Main_separator_position Main_separator_position
Main_X_zoom Main_X_zoom
Print_filename_in_fileselector Print_filename_in_fileselector
@ -1887,230 +1887,230 @@ new_brush_width
Next Next
Noir Noir
Nom Nom
NomAbrege Short_name
NomBouton button_name
NomComplet Full_name
NomFichier filename
NomLecteur drive_name
Nom_Fichier Nom_Fichier
Nom_affiche display_name
Nom_backup backup_name
Nom_du_fichier filename
Nom_du_fichier_DAT ref_ini_file
Nom_du_fichier_Phoenix phoenix_filename1
Nom_du_fichier_Phoenix2 phoenix_filename2
Nom_du_fichier_temporaire temp_filename
Nom_fichier Nom_fichier
Nom_fichier_Save save_filename
Nom_fichier_initial initial_filename
Nom_fonction function_name
Nom_repertoire directory_name
Nom_temporaire temp_name
Nombre_Couleurs nb_colors
Nombre_De_Pixels nb_pixels
Nombre_LID number_LID
Nombre_de_lignes Length
Nombre_visibles nb_visibles
Noms_raccourcis shortcuts_name
Nouveau Nouveau
Nouveau_X new_x
Nouveau_Y new_y
Nouveau_mode new_mode
Nouveau_nom_du_fichier new_filename
Nouvelle_Brosse new_brush
Nouvelle_Brosse_Hauteur new_brush_height
Nouvelle_Brosse_Largeur new_brush_width
Nouvelle_Hauteur new_height
Nouvelle_Largeur new_width
Nouvelle_brosse new_brush
Nouvelle_page new_page
Nouvelle_teinte new_color
Nouvelle_valeur value
Nouvelles new_colors
Nouvelles_pages new_pages
Now Now
Numerateur numerator
Numero Numero
NumeroControle action_id
NumeroRaccourci shortcut_number
Numero_bookmark bookmark_number
Numero_bouton btn_number
Numero_bouton_souris mouse_button
Numero_car char_number
Numero_chunk Numero_chunk
Numero_fonte font_number
Numero_ligne line_number
Numero_operation operation_number
Numero_sprite sprite_number
Octet Octet
Octet1 Octet1
Octet2 Octet2
Octet_insere default_bg_color
Octet_lu byte_read
Octet_temporaire temp_byte
Offset Offset
Offset_X_choisi chosen_offset_x
Offset_Y_choisi chosen_offset_y
Old_Pos_X old_x_pos
Old_Pos_Y old_y_pos
Old_Spray_Delay old_airbrush_delay
Old_Spray_Mode old_airbrush_mode
Old_Spray_Mono_flow old_airbrush_mono_flow
Old_Spray_Multi_flow old_airbrush_multi_flow
Old_Spray_Size old_airbrush_size
Old_Trame old_sieve
Old_Trame_Hauteur old_sieve_height
Old_Trame_Largeur old_sieve_width
Old_X old_x
On_a_clicke_sur_OK has_clicked_ok
On_a_recharge_la_config config_is_reloaded
Opacite_choisie chosen_opacity
Opening_message Opening_message
Operation_demandee new_operation
Option option_name
Option_upper option_upper
Orig_X origin_x
Orig_Y origin_y
Origine_X origin_x
Origine_Y origin_y
PNG_header png_header
Pad1 Pad1
Page page
Page_a_supprimer page_to_delete
Page_tempo temp_page
Pages Pages
Pal Pal
Palette Palette
Palette_16c Palette_16c
Palette_64 palette_64
Palette_CGA palette_CGA
Palette_a_redessiner palette_needs_redraw
Palette_arrivee end_palette
Palette_backup backup_palette
Palette_de_travail working_palette
Palette_depart start_palette
Palette_info Palette_info
Palette_initiale initial_palette
Palette_locale local_palette
Palette_temporaire temp_palette
Pas Pas
Pattern pattern
Phoenix2Trouve phoenix2_found
PhoenixTrouve phoenix_found
Pix pixel
PixelPtr pixel_ptr
Pixel_lu pixel_read
Pixel_size Pixel_size
Plane Plane
Plans Planes
Pochoir stencil
Poids weight
Pointeur Pointeur
Pointeur_Meilleur_nom best_name_ptr
Pointeur_temp temp_ptr
Points points
Pos Pos
Pos_1 pos_1
Pos_2 pos_2
Pos_DernierPoint pos_last_dot
Pos_Reel_X real_x_pos
Pos_Reel_Y real_y_pos
Pos_X Pos_X
Pos_X_dans_brosse x_pos_in_brush
pos_X_dest dest_x_pos
pos_X_dest_final final_dest_x_pos
pos_X_dest_initial initial_dest_x_pos
Pos_X_initial initial_x_pos
Pos_X_reelle real_x_pos
pos_X_src src_x_pos
pos_X_src_initial initial_src_x_pos
Pos_Y Pos_Y
Pos_Y_Fin end_y_pos
Pos_Y_dans_brosse y_pos_in_brush
Pos_Y_reelle real_y_pos
Pos_fenetre_X window_x_pos
Pos_fenetre_Y window_y_pos
Pos_menu_X menu_x_pos
Pos_menu_Y menu_y_pos
text_X_pos text_x_pos
Position Position
Position_X x_position
Position_curseur_jauge slider_position
Position_dans_degrade position_in_gradient
Position_dans_segment position_in_segment
Position_initiale initial_position
Position_lien link_position
Position_nom_fichier filename_position
Precedent Previous
Precedente Previous
Premier Premier
Premier_choix First_item
Premiere_couleur first_color
Preview Preview
Preview_Debut_X preview_x_start
Preview_Debut_Y preview_y_start
Preview_Fin_X preview_x_end
Preview_Fin_Y preview_y_end
Principal_Hauteur_image_Backup initial_main_image_height
Principal_Hauteur_image_initiale initial_main_image_height
Principal_Largeur_image_Backup initial_main_image_width
Principal_Largeur_image_initiale initial_main_image_width
Program_Dir program_dir
Propagation_possible can_propagate
Proportion_split Separator_proportion
Ptr dest_ptr
PtrRaccourci shortcut_ptr
R R
RAX rax
RAY ray
RBX rbx
RBY rby
RVB RVB
Raccourci_droite Right_shortcut
Raccourci_gauche Left_shortcut
Rafficher_jauge update_slider
Rang Rang
Ratio Ratio
Rayon radius
Rayon2 radius2
Rayon_au_carre radius_squared
Rayon_horizontal horizontal_radius
Rayon_vertical vertical_radius
Recon1 recog1
Recon2 recog2
Rect_Debut_X rect_start_x
Rect_Debut_Y rect_start_y
Rect_Fin_X rect_end_x
Rect_Fin_Y rect_end_y
Redessiner_controles redraw_controls
Reduce_Nb_couleurs reduce_colors_number
Reduction reduction
Reduction_moins_1 reduction_minus_one
Reel_X real_x
Reel_Y real_y
Repeat_Menu_Facteur_X repeat_menu_x_factor
Repeat_Menu_Facteur_Y repeat_menu_y_factor
Repertoire directory
Repertoire_du_programme program_directory
Repertoire_fichier File_directory
Repertoire_fichier_initial initial_file_directory
Repertoire_precedent previous_directory
Repertoire_programme Repertoire_programme
Repetable Repeatable
Repetition repetition
Repetitions_X x_repetition
Res resolution
Reserv_1 Reserved_1
Reserv_2 Reserved_2
Reserved Reserved
Resol Resol
Resolution_par_defaut Default_resolution
Reste Reste
Resultat result
Retour Retour
Rmin Rmin
Rouge red
Rouge_dessous red_under
Round_max Round_max
S S
SCx_Palette SCx_Palette
@ -2118,242 +2118,242 @@ SVN_revision
source_x source_x
source_y source_y
Safety_colors Safety_colors
Saisie_Delay input_delay_button
Saisie_Init input_init_button
Saisie_Mono_flow input_flow_button
Saisie_Size input_size_button
Sauve_Colorix is_colorix_format
Sauve_raccourci backup_shortcut
Screen_X Screen_X
Screen_Y Screen_Y
Scroller Scroller
Scroller_de_fichiers file_scroller
Scroller_de_fontes font_scroller
Scroller_de_melange mix_scroller
Section Section
Section_aide help_section
Section_attendue expected_section
Section_lue section_read
Select_Debut seclection_start
Select_Debut1 seclection_start1
Select_Debut2 seclection_start2
Select_Fin selection_end
Select_Fin1 selection_end1
Select_Fin2 selection_end2
Sens Sens
Sensibilite_X x_sensitivity
Sensibilite_Y y_sensitivity
Set_resolution_according_to Set_resolution_according_to
Shade_Liste_Backup initial_shade_list
Shade_temporaire temp_shade
Shade_processed shade_processed
Short_temporaire temp_short
Signa
Signature Signature
Sortie_par_close Signature
Source exit_by_close_button
Sous_section source
sub_section
Split Split
Spray_Init spray_init
Src src
Src0 src0
Src1 src1
Src2 src2
Src3 src3
Step_Backup step_backup
String str
Style Style
Style_Bold is_bold
Style_Italic is_italic
Suivant Next
Suivante Next
Supporte supported
Sym keysym
T_Palette T_Palette
Table Table
TableAideAbout helptable_about
TableAideAide helptable_general
TableAideAjuster helptable_adjust
TableAideBrosse helptable_brush
TableAideCacher helptable_hide
TableAideCercles helptable_circles
TableAideCharger helptable_load
TableAideChoixCol helptable_color_select
TableAideClear helptable_clear
TableAideCourbes helptable_curves
TableAideCredits helptable_credits
TableAideDessin helptable_draw
TableAideEffets helptable_effects
TableAideEffetsBrosse helptable_brush_fx
TableAideFillCerc helptable_filled_circles
TableAideFillRect helptable_filled_rectangles
TableAideFloodfill helptable_floodfill
TableAideGradMenu helptable_grad_menu
TableAideGradRect helptable_grad_rect
TableAideHelp helptable_help
TableAideKill helptable_kill
TableAideLicense helptable_licence
TableAideLignes helptable_lines
TableAideLoupe helptable_magnifier
TableAidePage helptable_page
TableAidePalScroll helptable_pal_scroll
TableAidePalette helptable_palette
TableAideParametres helptable_settings
TableAidePinceaux helptable_paintbrush
TableAidePipette helptable_colorpicker
TableAidePolybrosse helptable_polybrush
TableAidePolyfill helptable_polyfill
TableAidePolygones helptable_polygons
TableAideQuit helptable_quit
TableAideRectangles helptable_rectangles
TableAideResol helptable_resolution
TableAideSauver helptable_save
TableAideSpheres helptable_spheres
TableAideSpray helptable_airbrush
TableAideTexte helptable_text
TableAideUndo helptable_undo
Table_conv conversion_table
Table_de_conversion conversion_table
Table_de_remplacement replace_table
Table_dec table_dec
Table_inc table_inc
Table_touches key_labels
Taille Taille
TailleD dest_size
TailleS source_size
Taille_X x_size
Taille_Y y_size
Taille_affichee visible_size
Taille_chunk Taille_chunk
Taille_commentaire comment_size
Taille_de_lecture size_to_read
Taille_de_pile stack_index
Taille_du_bloc block_size
Taille_du_fichier file_size
Taille_ecran_dans_GIF Screen_size_in_GIF
Taille_fichier file_size
Taille_image image_size
Taille_immediatement_disponible mem_available_now
Taille_lien link_size
Taille_ligne line_size
Taille_liste List_size
Taille_liste_brouillon spare_list_size
Taille_liste_courante current_list_size
Taille_maxi max_size
Taille_nom name_size
Taille_nouvelle_page new_page_size
Taille_page_brouillon spare_page_size
Taille_page_courante current_page_size
Taille_police font_size
Taille_shade shade_size
Tangente_X tangent_x
Tangente_Y tangent_y
Technique Technique
Temp temp
Temp1 temp1
Temp2 temp2
Temp3 temp3
Temp4 temp4
Temp5 temp5
Temp_X temp_x
Temp_color temp_color
Tempo temp
Temporaire temp
Third_X third_x
Titre Titre
Total_lignes total_lines
Touche2 Key2
ToucheR released_key
Touche_autorisee is_authorized
Touche_lue input_key
Tout_charger reload_all
Transp_col Transp_col
Type Type
TypeLecteur drive_type
TypeLigne line_type
Type_saisie input_type
Update_necessaire update_is_required
Upload upload
User_Feedback_Required user_feedback_required
Utilisee used
Utiliser_palette_brosse use_brush_palette
V V
VAX vax
VAY vay
VBX vbx
VBY vby
Valeur Valeur
Valeur_Clr value_clr
Valeur_Eof value_eof
Valeur_pixel pixel_value
Valeur_tempo_jauge_droite Delay_right_click_on_slider
Valeur_tempo_jauge_gauche Delay_left_click_on_slider
Valeurs Valeurs
Value value
Values values
Vecteur_Debut_X vector_start_x
Vecteur_Debut_Y vector_start_y
Vecteur_Fin_X vector_end_x
Vecteur_Fin_Y vector_end_y
Version Version
Version1 Version1
Version2 Version2
Vert green
Vert_dessous green_under
Vertices vertices
Vitesse speed
Gmin Gmin
Vraie_largeur real_width
Vraie_taille_ligne real_line_size
Width Width
WindowsPath WindowsPath
X X
X1 x1
X2 x2
X2_minus_X1 x2_moins_x1
X3 x3
X4 x4
X_swap with_remap
X_zoom X_zoom
Chosen_X chosen_X
X_dpi X_dpi
Effective_X effective_X
X_max X_max
X_min X_min
X_origin X_origin
Theoric_X theoric_X
X_aspect X_aspect
Xmin x_min
X_org X_org
Xr rx
X_screen X_screen
Xt xt
Xt1 xt1
Xt2 xt2
Xt3 xt3
Xt4 xt4
Y Y
Y1 y1
Y2 y2
Y2_minus_Y1 y2_minus_y1
Y3 y3
Y4 y4
Y_ y_
Y_zoom y_zoom
Chosen_Y chosen_Y
Y_dpi Y_dpi
Effective_Y effective_Y
Y_max Y_max
Y_min Y_min
Y_origin Y_origin
Y_aspect Y_aspect
Y_org Y_org
Yr ry
Y_screen Y_screen
Yt1 yt1
Yt2 yt2
Yt3 yt3
Yt4 yt4
Temp_buffer Temp_buffer
_path _path
a a
@ -2970,11 +2970,11 @@ offs_y
old_y old_y
old_file old_file
total_weight total_weight
pos_y_dest dest_y_pos
pos_y_dest_final final_dest_y_pos
pos_y_dest_initial initial_dest_y_pos
pos_y_src src_y_pos
pos_y_src_initial initial_src_y_pos
text_y_pos text_y_pos
T T
T2 T2

Binary file not shown.

150
windows.c
View File

@ -50,16 +50,16 @@ word Palette_Cells_Y()
} }
// Affichage d'un pixel dans le menu (le menu doit être visible) // Affichage d'un pixel dans le menu (le menu doit être visible)
void Pixel_dans_barre_d_outil(word X,word Y,byte Couleur) void Pixel_dans_barre_d_outil(word x,word y,byte Couleur)
{ {
Block(X*Menu_Facteur_X,(Y*Menu_Facteur_Y)+Menu_Ordonnee,Menu_Facteur_X,Menu_Facteur_Y,Couleur); Block(x*Menu_Facteur_X,(y*Menu_Facteur_Y)+Menu_Ordonnee,Menu_Facteur_X,Menu_Facteur_Y,Couleur);
} }
// Affichage d'un pixel dans la fenêtre (la fenêtre doit être visible) // Affichage d'un pixel dans la fenêtre (la fenêtre doit être visible)
void Pixel_dans_fenetre(word X,word Y,byte Couleur) void Pixel_dans_fenetre(word x,word y,byte Couleur)
{ {
Block((X*Menu_Facteur_X)+Fenetre_Pos_X,(Y*Menu_Facteur_Y)+Fenetre_Pos_Y,Menu_Facteur_X,Menu_Facteur_Y,Couleur); Block((x*Menu_Facteur_X)+Fenetre_Pos_X,(y*Menu_Facteur_Y)+Fenetre_Pos_Y,Menu_Facteur_X,Menu_Facteur_Y,Couleur);
} }
@ -381,7 +381,7 @@ void Afficher_menu(void)
// -- Afficher une chaîne n'importe où à l'écran -- // -- Afficher une chaîne n'importe où à l'écran --
void Print_general(short X,short Y,const char * Chaine,byte Couleur_texte,byte Couleur_fond) void Print_general(short x,short y,const char * Chaine,byte Couleur_texte,byte Couleur_fond)
{ {
word Indice; word Indice;
int x_pos; int x_pos;
@ -392,7 +392,7 @@ void Print_general(short X,short Y,const char * Chaine,byte Couleur_texte,byte C
byte Repeat_Menu_Facteur_X; byte Repeat_Menu_Facteur_X;
byte Repeat_Menu_Facteur_Y; byte Repeat_Menu_Facteur_Y;
Reel_Y=Y; Reel_Y=y;
for (y_pos=0;y_pos<8<<3;y_pos+=1<<3) for (y_pos=0;y_pos<8<<3;y_pos+=1<<3)
{ {
Reel_X=0; // Position dans le buffer Reel_X=0; // Position dans le buffer
@ -405,7 +405,7 @@ void Print_general(short X,short Y,const char * Chaine,byte Couleur_texte,byte C
Buffer_de_ligne_horizontale[Reel_X++]=*(font_pixel+x_pos+y_pos)?Couleur_texte:Couleur_fond; Buffer_de_ligne_horizontale[Reel_X++]=*(font_pixel+x_pos+y_pos)?Couleur_texte:Couleur_fond;
} }
for (Repeat_Menu_Facteur_Y=0;Repeat_Menu_Facteur_Y<Menu_Facteur_Y;Repeat_Menu_Facteur_Y++) for (Repeat_Menu_Facteur_Y=0;Repeat_Menu_Facteur_Y<Menu_Facteur_Y;Repeat_Menu_Facteur_Y++)
Afficher_ligne_fast(X,Reel_Y++,Indice*Menu_Facteur_X*8,Buffer_de_ligne_horizontale); Afficher_ligne_fast(x,Reel_Y++,Indice*Menu_Facteur_X*8,Buffer_de_ligne_horizontale);
} }
} }
@ -413,16 +413,16 @@ void Print_general(short X,short Y,const char * Chaine,byte Couleur_texte,byte C
void Print_char_dans_fenetre(short x_pos,short y_pos,const unsigned char c,byte Couleur_texte,byte Couleur_fond) void Print_char_dans_fenetre(short x_pos,short y_pos,const unsigned char c,byte Couleur_texte,byte Couleur_fond)
{ {
short X,Y; short x,y;
byte *pixel; byte *pixel;
x_pos=(x_pos*Menu_Facteur_X)+Fenetre_Pos_X; x_pos=(x_pos*Menu_Facteur_X)+Fenetre_Pos_X;
y_pos=(y_pos*Menu_Facteur_Y)+Fenetre_Pos_Y; y_pos=(y_pos*Menu_Facteur_Y)+Fenetre_Pos_Y;
// Premier pixel du caractère // Premier pixel du caractère
pixel=Fonte + (c<<6); pixel=Fonte + (c<<6);
for (Y=0;Y<8;Y++) for (y=0;y<8;y++)
for (X=0;X<8;X++) for (x=0;x<8;x++)
Block(x_pos+(X*Menu_Facteur_X), y_pos+(Y*Menu_Facteur_Y), Block(x_pos+(x*Menu_Facteur_X), y_pos+(y*Menu_Facteur_Y),
Menu_Facteur_X, Menu_Facteur_Y, Menu_Facteur_X, Menu_Facteur_Y,
(*(pixel++)?Couleur_texte:Couleur_fond)); (*(pixel++)?Couleur_texte:Couleur_fond));
} }
@ -431,45 +431,45 @@ void Print_char_dans_fenetre(short x_pos,short y_pos,const unsigned char c,byte
void Print_char_transparent_dans_fenetre(short x_pos,short y_pos,const unsigned char c,byte Couleur) void Print_char_transparent_dans_fenetre(short x_pos,short y_pos,const unsigned char c,byte Couleur)
{ {
short X,Y; short x,y;
byte *pixel; byte *pixel;
x_pos=(x_pos*Menu_Facteur_X)+Fenetre_Pos_X; x_pos=(x_pos*Menu_Facteur_X)+Fenetre_Pos_X;
y_pos=(y_pos*Menu_Facteur_Y)+Fenetre_Pos_Y; y_pos=(y_pos*Menu_Facteur_Y)+Fenetre_Pos_Y;
// Premier pixel du caractère // Premier pixel du caractère
pixel=Fonte + (c<<6); pixel=Fonte + (c<<6);
for (Y=0;Y<8;Y++) for (y=0;y<8;y++)
for (X=0;X<8;X++) for (x=0;x<8;x++)
{ {
if (*(pixel++)) if (*(pixel++))
Block(x_pos+(X*Menu_Facteur_X), y_pos+(Y*Menu_Facteur_Y), Block(x_pos+(x*Menu_Facteur_X), y_pos+(y*Menu_Facteur_Y),
Menu_Facteur_X, Menu_Facteur_Y, Couleur); Menu_Facteur_X, Menu_Facteur_Y, Couleur);
} }
} }
// -- Afficher une chaîne dans une fenêtre, avec taille maxi -- // -- Afficher une chaîne dans une fenêtre, avec taille maxi --
void Print_dans_fenetre_limite(short X,short Y,const char * Chaine,byte Taille,byte Couleur_texte,byte Couleur_fond) void Print_dans_fenetre_limite(short x,short y,const char * Chaine,byte size,byte Couleur_texte,byte Couleur_fond)
{ {
char Chaine_affichee[256]; char Chaine_affichee[256];
strncpy(Chaine_affichee, Chaine, Taille); strncpy(Chaine_affichee, Chaine, size);
Chaine_affichee[Taille]='\0'; Chaine_affichee[size]='\0';
if (strlen(Chaine) > Taille) if (strlen(Chaine) > size)
{ {
Chaine_affichee[Taille-1]=CARACTERE_SUSPENSION; Chaine_affichee[size-1]=CARACTERE_SUSPENSION;
} }
Print_dans_fenetre(X, Y, Chaine_affichee, Couleur_texte, Couleur_fond); Print_dans_fenetre(x, y, Chaine_affichee, Couleur_texte, Couleur_fond);
} }
// -- Afficher une chaîne dans une fenêtre -- // -- Afficher une chaîne dans une fenêtre --
void Print_dans_fenetre(short X,short Y,const char * Chaine,byte Couleur_texte,byte Couleur_fond) void Print_dans_fenetre(short x,short y,const char * Chaine,byte Couleur_texte,byte Couleur_fond)
{ {
Print_general((X*Menu_Facteur_X)+Fenetre_Pos_X, Print_general((x*Menu_Facteur_X)+Fenetre_Pos_X,
(Y*Menu_Facteur_Y)+Fenetre_Pos_Y, (y*Menu_Facteur_Y)+Fenetre_Pos_Y,
Chaine,Couleur_texte,Couleur_fond); Chaine,Couleur_texte,Couleur_fond);
UpdateRect(X*Menu_Facteur_X+Fenetre_Pos_X,Y*Menu_Facteur_Y+Fenetre_Pos_Y,8*Menu_Facteur_X*strlen(Chaine),8*Menu_Facteur_Y); UpdateRect(x*Menu_Facteur_X+Fenetre_Pos_X,y*Menu_Facteur_Y+Fenetre_Pos_Y,8*Menu_Facteur_X*strlen(Chaine),8*Menu_Facteur_Y);
} }
// -- Afficher une chaîne dans le menu -- // -- Afficher une chaîne dans le menu --
@ -541,7 +541,7 @@ void Print_nom_fichier(void)
// Fonction d'affichage d'une chaine numérique avec une fonte très fine // Fonction d'affichage d'une chaine numérique avec une fonte très fine
// Spécialisée pour les compteurs RGB // Spécialisée pour les compteurs RGB
void Print_compteur(short X,short Y,const char * Chaine,byte Couleur_texte,byte Couleur_fond) void Print_compteur(short x,short y,const char * Chaine,byte Couleur_texte,byte Couleur_fond)
{ {
// Macros pour écrire des litteraux binaires. // Macros pour écrire des litteraux binaires.
// Ex: Ob(11110000) == 0xF0 // Ex: Ob(11110000) == 0xF0
@ -730,11 +730,11 @@ void Print_compteur(short X,short Y,const char * Chaine,byte Couleur_texte,byte
for (x_pos=0;x_pos<6;x_pos++) for (x_pos=0;x_pos<6;x_pos++)
{ {
byte Couleur = (thin_font[Numero_car][y_pos] & (1 << (6-x_pos))) ? Couleur_texte:Couleur_fond; byte Couleur = (thin_font[Numero_car][y_pos] & (1 << (6-x_pos))) ? Couleur_texte:Couleur_fond;
Pixel_dans_fenetre(X+(Indice*6+x_pos),Y+y_pos,Couleur); Pixel_dans_fenetre(x+(Indice*6+x_pos),y+y_pos,Couleur);
} }
} }
} }
UpdateRect(Fenetre_Pos_X+X*Menu_Facteur_X,Fenetre_Pos_Y+Y*Menu_Facteur_Y,strlen(Chaine)*Menu_Facteur_X*6,8*Menu_Facteur_Y); UpdateRect(Fenetre_Pos_X+x*Menu_Facteur_X,Fenetre_Pos_Y+y*Menu_Facteur_Y,strlen(Chaine)*Menu_Facteur_X*6,8*Menu_Facteur_Y);
} }
@ -898,7 +898,7 @@ void Afficher_pinceau_dans_menu(void)
// -- Dessiner un pinceau prédéfini dans la fenêtre -- // -- Dessiner un pinceau prédéfini dans la fenêtre --
void Afficher_pinceau_dans_fenetre(word X,word Y,int number) void Afficher_pinceau_dans_fenetre(word x,word y,int number)
// Pinceau = 0..NB_SPRITES_PINCEAU-1 : Pinceau prédéfini // Pinceau = 0..NB_SPRITES_PINCEAU-1 : Pinceau prédéfini
{ {
word x_pos; word x_pos;
@ -917,8 +917,8 @@ void Afficher_pinceau_dans_fenetre(word X,word Y,int number)
if (Taille_Y<1) if (Taille_Y<1)
Taille_Y=1; Taille_Y=1;
Orig_X = (X + 8)*Menu_Facteur_X - (Pinceau_predefini_Decalage_X[number])*Taille_X+Fenetre_Pos_X; Orig_X = (x + 8)*Menu_Facteur_X - (Pinceau_predefini_Decalage_X[number])*Taille_X+Fenetre_Pos_X;
Orig_Y = (Y + 8)*Menu_Facteur_Y - (Pinceau_predefini_Decalage_Y[number])*Taille_Y+Fenetre_Pos_Y; Orig_Y = (y + 8)*Menu_Facteur_Y - (Pinceau_predefini_Decalage_Y[number])*Taille_Y+Fenetre_Pos_Y;
for (Pos_fenetre_Y=0,y_pos=0; y_pos<Pinceau_predefini_Hauteur[number]; Pos_fenetre_Y++,y_pos++) for (Pos_fenetre_Y=0,y_pos=0; y_pos<Pinceau_predefini_Hauteur[number]; Pos_fenetre_Y++,y_pos++)
for (Pos_fenetre_X=0,x_pos=0; x_pos<Pinceau_predefini_Largeur[number]; Pos_fenetre_X++,x_pos++) for (Pos_fenetre_X=0,x_pos=0; x_pos<Pinceau_predefini_Largeur[number]; Pos_fenetre_X++,x_pos++)
@ -934,17 +934,17 @@ void Afficher_pinceau_dans_fenetre(word X,word Y,int number)
// -- Dessiner des zigouigouis -- // -- Dessiner des zigouigouis --
void Dessiner_zigouigoui(word X,word Y, byte Couleur, short Sens) void Dessiner_zigouigoui(word x,word y, byte Couleur, short direction)
{ {
word i; word i;
for (i=0; i<11; i++) Pixel_dans_fenetre(X,Y+i,Couleur); for (i=0; i<11; i++) Pixel_dans_fenetre(x,y+i,Couleur);
X+=Sens; x+=direction;
for (i=1; i<10; i++) Pixel_dans_fenetre(X,Y+i,Couleur); for (i=1; i<10; i++) Pixel_dans_fenetre(x,y+i,Couleur);
X+=Sens+Sens; x+=direction+direction;
for (i=3; i<8; i++) Pixel_dans_fenetre(X,Y+i,Couleur); for (i=3; i<8; i++) Pixel_dans_fenetre(x,y+i,Couleur);
X+=Sens+Sens; x+=direction+direction;
Pixel_dans_fenetre(X,Y+5,Couleur); Pixel_dans_fenetre(x,y+5,Couleur);
} }
// -- Dessiner un bloc de couleurs dégradé verticalement // -- Dessiner un bloc de couleurs dégradé verticalement
@ -979,19 +979,19 @@ void Bloc_degrade_dans_fenetre(word x_pos,word y_pos,word Debut_block,word Fin_b
// -- Dessiner un petit sprite représentant le type d'un drive -- // -- Dessiner un petit sprite représentant le type d'un drive --
void Fenetre_Afficher_sprite_drive(word x_pos,word y_pos,byte Type) void Fenetre_Afficher_sprite_drive(word x_pos,word y_pos,byte type)
{ {
word i,j; word i,j;
for (j=0; j<HAUTEUR_SPRITE_DRIVE; j++) for (j=0; j<HAUTEUR_SPRITE_DRIVE; j++)
for (i=0; i<LARGEUR_SPRITE_DRIVE; i++) for (i=0; i<LARGEUR_SPRITE_DRIVE; i++)
Pixel_dans_fenetre(x_pos+i,y_pos+j,SPRITE_DRIVE[Type][j][i]); Pixel_dans_fenetre(x_pos+i,y_pos+j,SPRITE_DRIVE[type][j][i]);
UpdateRect(ToWinX(x_pos),ToWinY(y_pos),ToWinL(LARGEUR_SPRITE_DRIVE),ToWinH(HAUTEUR_SPRITE_DRIVE)); UpdateRect(ToWinX(x_pos),ToWinY(y_pos),ToWinL(LARGEUR_SPRITE_DRIVE),ToWinH(HAUTEUR_SPRITE_DRIVE));
} }
void Afficher_palette_du_menu_en_evitant_la_fenetre(byte * Table) void Afficher_palette_du_menu_en_evitant_la_fenetre(byte * table)
{ {
// On part du principe qu'il n'y a que le bas d'une fenêtre qui puisse // On part du principe qu'il n'y a que le bas d'une fenêtre qui puisse
// empiéter sur la palette... Et c'est déjà pas mal! // empiéter sur la palette... Et c'est déjà pas mal!
@ -1017,7 +1017,7 @@ void Afficher_palette_du_menu_en_evitant_la_fenetre(byte * Table)
for (Couleur=0,Vraie_couleur=Couleur_debut_palette;Couleur<Menu_Cellules_X*Menu_Cellules_Y;Couleur++,Vraie_couleur++) for (Couleur=0,Vraie_couleur=Couleur_debut_palette;Couleur<Menu_Cellules_X*Menu_Cellules_Y;Couleur++,Vraie_couleur++)
{ {
if (Table[Vraie_couleur]!=Vraie_couleur) if (table[Vraie_couleur]!=Vraie_couleur)
{ {
Debut_X=(LARGEUR_MENU+1+(Couleur/Menu_Cellules_Y)*Menu_Taille_couleur)*Menu_Facteur_X; Debut_X=(LARGEUR_MENU+1+(Couleur/Menu_Cellules_Y)*Menu_Taille_couleur)*Menu_Facteur_X;
Debut_Y=Menu_Ordonnee_avant_fenetre+((2+((Couleur%Menu_Cellules_Y)*(32/Menu_Cellules_Y)))*Menu_Facteur_Y); Debut_Y=Menu_Ordonnee_avant_fenetre+((2+((Couleur%Menu_Cellules_Y)*(32/Menu_Cellules_Y)))*Menu_Facteur_Y);
@ -2195,7 +2195,7 @@ byte Meilleure_couleur_sans_exclusion(byte Rouge,byte Vert,byte Bleu)
} }
void Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu void Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu
(byte Rouge, byte Vert, byte Bleu, Composantes * palette, byte * Table) (byte Rouge, byte Vert, byte Bleu, Composantes * palette, byte * table)
{ {
short Coul; short Coul;
int Delta_R,Delta_V,Delta_B; int Delta_R,Delta_V,Delta_B;
@ -2217,10 +2217,10 @@ void Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu
Best_dist[2]=Best_dist[1]; Best_dist[2]=Best_dist[1];
Best_dist[1]=Best_dist[0]; Best_dist[1]=Best_dist[0];
Best_dist[0]=Dist; Best_dist[0]=Dist;
Table[3]=Table[2]; table[3]=table[2];
Table[2]=Table[1]; table[2]=table[1];
Table[1]=Table[0]; table[1]=table[0];
Table[0]=Coul; table[0]=Coul;
} }
else else
{ {
@ -2229,9 +2229,9 @@ void Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu
Best_dist[3]=Best_dist[2]; Best_dist[3]=Best_dist[2];
Best_dist[2]=Best_dist[1]; Best_dist[2]=Best_dist[1];
Best_dist[1]=Dist; Best_dist[1]=Dist;
Table[3]=Table[2]; table[3]=table[2];
Table[2]=Table[1]; table[2]=table[1];
Table[1]=Coul; table[1]=Coul;
} }
else else
{ {
@ -2239,14 +2239,14 @@ void Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu
{ {
Best_dist[3]=Best_dist[2]; Best_dist[3]=Best_dist[2];
Best_dist[2]=Dist; Best_dist[2]=Dist;
Table[3]=Table[2]; table[3]=table[2];
Table[2]=Coul; table[2]=Coul;
} }
else else
if (Dist<Best_dist[3]) if (Dist<Best_dist[3])
{ {
Best_dist[3]=Dist; Best_dist[3]=Dist;
Table[3]=Coul; table[3]=Coul;
} }
} }
} }
@ -2340,7 +2340,7 @@ void Remapper_ecran_apres_changement_couleurs_menu(void)
void Calculer_couleurs_menu_optimales(Composantes * palette) void Calculer_couleurs_menu_optimales(Composantes * palette)
{ {
byte Table[4]; byte table[4];
short i,j,k; short i,j,k;
@ -2352,45 +2352,45 @@ void Calculer_couleurs_menu_optimales(Composantes * palette)
// Recherche du noir // Recherche du noir
Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu
(Coul_menu_pref[0].R, Coul_menu_pref[0].G, Coul_menu_pref[0].B,palette,Table); (Coul_menu_pref[0].R, Coul_menu_pref[0].G, Coul_menu_pref[0].B,palette,table);
CM_Noir=Table[0]; CM_Noir=table[0];
// Recherche du blanc // Recherche du blanc
Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu
(Coul_menu_pref[3].R, Coul_menu_pref[3].G, Coul_menu_pref[3].B,palette,Table); (Coul_menu_pref[3].R, Coul_menu_pref[3].G, Coul_menu_pref[3].B,palette,table);
if (CM_Noir!=Table[0]) if (CM_Noir!=table[0])
CM_Blanc=Table[0]; CM_Blanc=table[0];
else else
CM_Blanc=Table[1]; CM_Blanc=table[1];
// Recherche du gris clair // Recherche du gris clair
Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu
(Coul_menu_pref[2].R, Coul_menu_pref[2].G, Coul_menu_pref[2].B,palette,Table); (Coul_menu_pref[2].R, Coul_menu_pref[2].G, Coul_menu_pref[2].B,palette,table);
if ( (CM_Noir!=Table[0]) && (CM_Blanc!=Table[0]) ) if ( (CM_Noir!=table[0]) && (CM_Blanc!=table[0]) )
CM_Clair=Table[0]; CM_Clair=table[0];
else else
{ {
if ( (CM_Noir!=Table[1]) && (CM_Blanc!=Table[1]) ) if ( (CM_Noir!=table[1]) && (CM_Blanc!=table[1]) )
CM_Clair=Table[1]; CM_Clair=table[1];
else else
CM_Clair=Table[2]; CM_Clair=table[2];
} }
// Recherche du gris foncé // Recherche du gris foncé
Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu
(Coul_menu_pref[1].R, Coul_menu_pref[1].G, Coul_menu_pref[1].B,palette,Table); (Coul_menu_pref[1].R, Coul_menu_pref[1].G, Coul_menu_pref[1].B,palette,table);
if ( (CM_Noir!=Table[0]) && (CM_Blanc!=Table[0]) && (CM_Clair!=Table[0]) ) if ( (CM_Noir!=table[0]) && (CM_Blanc!=table[0]) && (CM_Clair!=table[0]) )
CM_Fonce=Table[0]; CM_Fonce=table[0];
else else
{ {
if ( (CM_Noir!=Table[1]) && (CM_Blanc!=Table[1]) && (CM_Clair!=Table[1]) ) if ( (CM_Noir!=table[1]) && (CM_Blanc!=table[1]) && (CM_Clair!=table[1]) )
CM_Fonce=Table[1]; CM_Fonce=table[1];
else else
{ {
if ( (CM_Noir!=Table[2]) && (CM_Blanc!=Table[2]) && (CM_Clair!=Table[2]) ) if ( (CM_Noir!=table[2]) && (CM_Blanc!=table[2]) && (CM_Clair!=table[2]) )
CM_Fonce=Table[2]; CM_Fonce=table[2];
else else
CM_Fonce=Table[3]; CM_Fonce=table[3];
} }
} }

View File

@ -36,8 +36,8 @@ void Calculer_donnees_loupe(void);
void Calculer_limites(void); void Calculer_limites(void);
void Calculer_coordonnees_pinceau(void); void Calculer_coordonnees_pinceau(void);
void Pixel_dans_barre_d_outil(word X,word Y,byte Couleur); void Pixel_dans_barre_d_outil(word x,word y,byte Couleur);
void Pixel_dans_fenetre(word X,word Y,byte Couleur); void Pixel_dans_fenetre(word x,word y,byte Couleur);
void Encadrer_couleur_menu(byte Couleur); void Encadrer_couleur_menu(byte Couleur);
void Afficher_palette_du_menu(void); void Afficher_palette_du_menu(void);
void Afficher_menu(void); void Afficher_menu(void);
@ -47,15 +47,15 @@ int Couleur_palette(void);
word Palette_Cells_X(void); word Palette_Cells_X(void);
word Palette_Cells_Y(void); word Palette_Cells_Y(void);
void Print_general(short X,short Y,const char * Chaine,byte Couleur_texte,byte Couleur_fond); void Print_general(short x,short y,const char * Chaine,byte Couleur_texte,byte Couleur_fond);
void Print_dans_fenetre(short X,short Y,const char * Chaine,byte Couleur_texte,byte Couleur_fond); void Print_dans_fenetre(short x,short y,const char * Chaine,byte Couleur_texte,byte Couleur_fond);
void Print_dans_fenetre_limite(short X,short Y,const char * Chaine,byte Taille,byte Couleur_texte,byte Couleur_fond); void Print_dans_fenetre_limite(short x,short y,const char * Chaine,byte size,byte Couleur_texte,byte Couleur_fond);
void Print_char_dans_fenetre(short x_pos,short y_pos,const unsigned char c,byte Couleur_texte,byte Couleur_fond); void Print_char_dans_fenetre(short x_pos,short y_pos,const unsigned char c,byte Couleur_texte,byte Couleur_fond);
void Print_char_transparent_dans_fenetre(short x_pos,short y_pos,const unsigned char c,byte Couleur); void Print_char_transparent_dans_fenetre(short x_pos,short y_pos,const unsigned char c,byte Couleur);
void Print_dans_menu(const char * Chaine, short position); void Print_dans_menu(const char * Chaine, short position);
void Print_coordonnees(void); void Print_coordonnees(void);
void Print_nom_fichier(void); void Print_nom_fichier(void);
void Print_compteur(short X,short Y,const char * Chaine,byte Couleur_texte,byte Couleur_fond); void Print_compteur(short x,short y,const char * Chaine,byte Couleur_texte,byte Couleur_fond);
byte Demande_de_confirmation(char * Message); byte Demande_de_confirmation(char * Message);
void Warning_message(char * Message); void Warning_message(char * Message);
@ -71,11 +71,11 @@ void Fenetre_Afficher_cadre(word x_pos,word y_pos,word width,word height);
void Afficher_sprite_dans_menu(int Numero_bouton,int Numero_sprite); void Afficher_sprite_dans_menu(int Numero_bouton,int Numero_sprite);
void Afficher_pinceau_dans_menu(void); void Afficher_pinceau_dans_menu(void);
void Afficher_pinceau_dans_fenetre(word X,word Y,int number); void Afficher_pinceau_dans_fenetre(word x,word y,int number);
void Dessiner_zigouigoui(word X,word Y, byte Couleur, short Sens); void Dessiner_zigouigoui(word x,word y, byte Couleur, short direction);
void Bloc_degrade_dans_fenetre(word x_pos,word y_pos,word Debut_block,word Fin_block); void Bloc_degrade_dans_fenetre(word x_pos,word y_pos,word Debut_block,word Fin_block);
void Fenetre_Afficher_sprite_drive(word x_pos,word y_pos,byte Type); void Fenetre_Afficher_sprite_drive(word x_pos,word y_pos,byte type);
byte Meilleure_couleur(byte Rouge,byte Vert,byte Bleu); byte Meilleure_couleur(byte Rouge,byte Vert,byte Bleu);
byte Meilleure_couleur_sans_exclusion(byte Rouge,byte Vert,byte Bleu); byte Meilleure_couleur_sans_exclusion(byte Rouge,byte Vert,byte Bleu);