From 4dcdc534093a2f75bcd1ffac5282e4e28e468831 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Wed, 18 Mar 2009 00:16:29 +0000 Subject: [PATCH] more translations git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@684 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- boutons.c | 33 +++++----- brush.c | 56 ++++++++--------- brush.h | 6 +- divers.c | 38 ++++++------ divers.h | 8 +-- files.c | 32 +++++----- graph.c | 54 ++++++++--------- init.c | 6 +- io.c | 22 +++---- io.h | 4 +- loadsave.c | 8 +-- moteur.c | 124 +++++++++++++++++++------------------- moteur.h | 18 +++--- op_c.c | 2 +- operatio.c | 74 +++++++++++------------ pages.c | 4 +- pages.h | 2 +- palette.c | 34 +++++------ pxdouble.c | 34 +++++------ pxdouble.h | 14 ++--- pxsimple.c | 34 +++++------ pxsimple.h | 14 ++--- pxtall.c | 34 +++++------ pxtall.h | 14 ++--- pxwide.c | 34 +++++------ pxwide.h | 14 ++--- saveini.c | 42 ++++++------- sdlscreen.c | 10 +-- sdlscreen.h | 2 +- translat/translations.xls | Bin 268288 -> 269312 bytes windows.c | 34 +++++------ 31 files changed, 402 insertions(+), 403 deletions(-) diff --git a/boutons.c b/boutons.c index 892f51e7..f39951f5 100644 --- a/boutons.c +++ b/boutons.c @@ -415,7 +415,6 @@ void Bouton_Cacher_menu(void) byte Bouton_Quitter_Routine_locale(void) { short Bouton_clicke; - //byte Enregistrer; static char Nom_du_fichier[TAILLE_CHEMIN_FICHIER]; byte Ancienne_forme_curseur; @@ -1254,11 +1253,11 @@ void Bouton_Kill(void) //------------------------- Dimensions Image/Ecran --------------------------- -void Cocher_bouton_mode(short Pos_X, short Pos_Y, byte Etat) +void Cocher_bouton_mode(short Pos_X, short Pos_Y, byte state) { byte Couleur; - switch (Etat & 0x7F) + switch (state & 0x7F) { case 0 : Couleur=CM_Blanc; break; case 1 : Couleur=CM_Clair; break; @@ -2291,22 +2290,22 @@ void Print_Nom_fichier_dans_selecteur(void) int Type_selectionne; // Utilisé pour mémoriser le type d'entrée choisi // dans le selecteur de fichier. -void Preparer_et_afficher_liste_fichiers(short Position, short Decalage, - T_Bouton_scroller * Enreg) +void Preparer_et_afficher_liste_fichiers(short Position, short offset, + T_Bouton_scroller * button) { - Enreg->Nb_elements=Liste_Nb_elements; - Enreg->Position=Position; - Calculer_hauteur_curseur_jauge(Enreg); - Fenetre_Dessiner_jauge(Enreg); + button->Nb_elements=Liste_Nb_elements; + button->Position=Position; + Calculer_hauteur_curseur_jauge(button); + Fenetre_Dessiner_jauge(button); // On efface les anciens noms de fichier: Block(Fenetre_Pos_X+(Menu_Facteur_X<<3),Fenetre_Pos_Y+(Menu_Facteur_Y*(89+FILENAMESPACE)),Menu_Facteur_X*98,Menu_Facteur_Y*82,CM_Noir); // On affiche les nouveaux: - Afficher_la_liste_des_fichiers(Position,Decalage); + Afficher_la_liste_des_fichiers(Position,offset); UpdateRect(Fenetre_Pos_X+(Menu_Facteur_X<<3),Fenetre_Pos_Y+(Menu_Facteur_Y*(89+FILENAMESPACE)),Menu_Facteur_X*98,Menu_Facteur_Y*82); // On récupère le nom du schmilblick à "accéder" - Determiner_element_de_la_liste(Position,Decalage,Principal_Nom_fichier,&Type_selectionne); + Determiner_element_de_la_liste(Position,offset,Principal_Nom_fichier,&Type_selectionne); // On affiche le nouveau nom de fichier Print_Nom_fichier_dans_selecteur(); // On affiche le nom du répertoire courant @@ -2314,12 +2313,12 @@ void Preparer_et_afficher_liste_fichiers(short Position, short Decalage, } -void Relire_liste_fichiers(byte Filtre, short Position, short Decalage, - T_Bouton_scroller * Enreg) +void Relire_liste_fichiers(byte Filtre, short Position, short offset, + T_Bouton_scroller * button) { Lire_liste_des_fichiers(Filtre); Trier_la_liste_des_fichiers(); - Preparer_et_afficher_liste_fichiers(Position,Decalage,Enreg); + Preparer_et_afficher_liste_fichiers(Position,offset,button); } void On_vient_de_scroller_dans_le_fileselect(T_Bouton_scroller * Scroller_de_fichiers) @@ -5603,13 +5602,13 @@ void Afficher_sprite_effet(short Numero_sprite, short Debut_X, short Debut_Y) } -void Afficher_etat_effet(short X, short Y, char * Libelle, byte Etat) +void Afficher_etat_effet(short X, short Y, char * Libelle, byte state) { 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); - Print_dans_fenetre(X,Y,Libelle,(Etat)?CM_Blanc:CM_Noir,CM_Clair); - if (Etat) + Print_dans_fenetre(X,Y,Libelle,(state)?CM_Blanc:CM_Noir,CM_Clair); + if (state) Print_dans_fenetre(X+56,Y,":ON ",CM_Blanc,CM_Clair); else Print_dans_fenetre(X+56,Y,":OFF",CM_Noir,CM_Clair); diff --git a/brush.c b/brush.c index c6715758..8cbb66c5 100644 --- a/brush.c +++ b/brush.c @@ -608,7 +608,7 @@ void Effacer_pinceau(short X,short Y) -void Capturer_brosse(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y,short Effacement) +void Capturer_brosse(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y,short clear) { short Temporaire; short Pos_X; @@ -691,7 +691,7 @@ void Capturer_brosse(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y,short E Copier_image_dans_brosse(Debut_X,Debut_Y,Brosse_Largeur,Brosse_Hauteur,Principal_Largeur_image); // On regarde s'il faut effacer quelque chose: - if (Effacement) + if (clear) { for (Pos_Y=Debut_Y;Pos_Y0) Pixel_dans_brosse(Pos_X-1,Pos_Y,Back_color); - Etat=0; + state=0; } } else { - if (!Etat) + if (!state) { Pixel_dans_brosse(Pos_X,Pos_Y,Back_color); - Etat=1; + state=1; } } } @@ -971,24 +971,24 @@ void Nibble_brush(void) // 2ème balayage (vertical) for (Pos_X=0; Pos_X0) Pixel_dans_brosse(Pos_X,Pos_Y-1,Back_color); - Etat=0; + state=0; } } else { - if (!Etat) + if (!state) { Pixel_dans_brosse(Pos_X,Pos_Y,Back_color); - Etat=1; + state=1; } } } @@ -1016,7 +1016,7 @@ void Nibble_brush(void) -void Capturer_brosse_au_lasso(int Vertices, short * Points,short Effacement) +void Capturer_brosse_au_lasso(int Vertices, short * Points,short clear) { short Debut_X=Limite_Droite+1; short Debut_Y=Limite_Bas+1; @@ -1132,7 +1132,7 @@ void Capturer_brosse_au_lasso(int Vertices, short * Points,short Effacement) { Pixel_dans_brosse(Pos_X-Debut_X,Pos_Y-Debut_Y,Lit_pixel_dans_ecran_courant(Pos_X,Pos_Y)); // On regarde s'il faut effacer quelque chose: - if (Effacement) + if (clear) Pixel_dans_ecran_courant(Pos_X,Pos_Y,Back_color); } diff --git a/brush.h b/brush.h index 6a74b0d2..0e1b57f8 100644 --- a/brush.h +++ b/brush.h @@ -30,7 +30,7 @@ @param Fin_Y bottom edge coordinate in the picture @param effacement If 1, the area is also cleared from the picture. */ -void Capturer_brosse(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y,short Effacement); +void Capturer_brosse(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y,short clear); /*! Rotates the brush to the right. @@ -86,8 +86,8 @@ void Nibble_brush(void); Get brush from picture according to a freehand form. @param Vertices number of points in the freehand form @param Points array of points coordinates - @param Effacement If set to 1, the captured area is also cleared from the picture. + @param clear If set to 1, the captured area is also cleared from the picture. */ -void Capturer_brosse_au_lasso(int Vertices, short * Points,short Effacement); +void Capturer_brosse_au_lasso(int Vertices, short * Points,short clear); #endif diff --git a/divers.c b/divers.c index c1d4cd74..6fb195da 100644 --- a/divers.c +++ b/divers.c @@ -221,13 +221,13 @@ byte Pixel_dans_cercle(void) return 0; } -void Copier_une_partie_d_image_dans_une_autre(byte * Source,word S_Pos_X,word S_Pos_Y,word Largeur,word Hauteur,word Largeur_source,byte * Destination,word D_Pos_X,word D_Pos_Y,word Largeur_destination) +void Copier_une_partie_d_image_dans_une_autre(byte * Source,word S_Pos_X,word S_Pos_Y,word Largeur,word Hauteur,word Largeur_source,byte * dest,word D_Pos_X,word D_Pos_Y,word Largeur_destination) { // ESI = adresse de la source en (S_Pox_X,S_Pos_Y) byte* esi = Source + S_Pos_Y * Largeur_source + S_Pos_X; // EDI = adresse de la destination (D_Pos_X,D_Pos_Y) - byte* edi = Destination + D_Pos_Y * Largeur_destination + D_Pos_X; + byte* edi = dest + D_Pos_Y * Largeur_destination + D_Pos_X; int Ligne; @@ -249,7 +249,7 @@ byte Lit_pixel_dans_ecran_brouillon(word X,word Y) return *(Brouillon_Ecran+Y*Brouillon_Largeur_image+X); } -void Rotate_90_deg_LOWLEVEL(byte * Source,byte * Destination) +void Rotate_90_deg_LOWLEVEL(byte * Source,byte * dest) { byte* esi; byte* edi; @@ -257,7 +257,7 @@ void Rotate_90_deg_LOWLEVEL(byte * Source,byte * Destination) //ESI = Point haut droit de la source byte* Debut_de_colonne = Source + Brosse_Largeur - 1; - edi = Destination; + edi = dest; // Largeur de la source = Hauteur de la destination dx = bx = Brosse_Largeur; @@ -554,39 +554,39 @@ void Rotate_180_deg_LOWLEVEL(void) void Tempo_jauge(byte Vitesse) //Boucle d'attente pour faire bouger les scrollbars à une vitesse correcte { - Uint32 Fin; + Uint32 end; byte MouseK_Original = Mouse_K; - Fin = SDL_GetTicks() + Vitesse*10; + end = SDL_GetTicks() + Vitesse*10; do { if (!Get_input()) Wait_VBL(); - } while (Mouse_K == MouseK_Original && SDL_GetTicks()0;dx--) + for(dx = Principal_Hauteur_image - y_offset;dx>0;dx--) { // Pour chaque ligne memcpy(edi,esi,ax); - memcpy(edi - Decalage_X,esi+ax,Decalage_X); + memcpy(edi - x_offset,esi+ax,x_offset); // On passe à la ligne suivante edi += Principal_Largeur_image; esi += Principal_Largeur_image; } - // On vient de faire le traitement pour otutes les lignes au-dessous de Decalage_Y + // On vient de faire le traitement pour otutes les lignes au-dessous de y_offset // Maintenant on traite celles au dessus - edi = Decalage_X + Principal_Ecran; - for(dx = Decalage_Y;dx>0;dx--) + edi = x_offset + Principal_Ecran; + for(dx = y_offset;dx>0;dx--) { memcpy(edi,esi,ax); - memcpy(edi - Decalage_X,esi+ax,Decalage_X); + memcpy(edi - x_offset,esi+ax,x_offset); edi += Principal_Largeur_image; esi += Principal_Largeur_image; @@ -596,7 +596,7 @@ void Scroll_picture(short Decalage_X,short Decalage_Y) } void Zoomer_une_ligne(byte* Ligne_originale, byte* Ligne_zoomee, - word Facteur, word Largeur + word factor, word Largeur ) { byte color; @@ -606,8 +606,8 @@ void Zoomer_une_ligne(byte* Ligne_originale, byte* Ligne_zoomee, for(X=0;X #include - #define isHidden(Enreg) (0) + #define isHidden(x) (0) #elif defined(__WIN32__) #include #include - #define isHidden(Enreg) (GetFileAttributesA((Enreg)->d_name)&FILE_ATTRIBUTE_HIDDEN) + #define isHidden(x) (GetFileAttributesA((x)->d_name)&FILE_ATTRIBUTE_HIDDEN) #else #include - #define isHidden(Enreg) ((Enreg)->d_name[0]=='.') + #define isHidden(x) ((x)->d_name[0]=='.') #endif #include "const.h" @@ -209,7 +209,7 @@ void Lire_liste_des_fichiers(byte Format_demande) // correspond au format demandé. { DIR* Repertoire_Courant; //Répertoire courant - struct dirent* Enreg; // Structure de lecture des éléments + struct dirent* entry; // Structure de lecture des éléments char * Filtre = "*"; // Extension demandée struct stat Infos_enreg; char * Chemin_courant; @@ -227,34 +227,34 @@ void Lire_liste_des_fichiers(byte Format_demande) // On lit tous les répertoires: Chemin_courant=getcwd(NULL,0); Repertoire_Courant=opendir(Chemin_courant); - while ((Enreg=readdir(Repertoire_Courant))) + while ((entry=readdir(Repertoire_Courant))) { // On ignore le répertoire courant - if ( !strcmp(Enreg->d_name, ".")) + if ( !strcmp(entry->d_name, ".")) { continue; } - stat(Enreg->d_name,&Infos_enreg); + stat(entry->d_name,&Infos_enreg); // et que l'élément trouvé est un répertoire if( S_ISDIR(Infos_enreg.st_mode) && // et que c'est ".." - (!strcmp(Enreg->d_name, PARENT_DIR) || + (!strcmp(entry->d_name, PARENT_DIR) || // ou qu'il n'est pas caché Config.Lire_les_repertoires_caches || - !isHidden(Enreg))) + !isHidden(entry))) { // On rajoute le répertoire à la liste - Ajouter_element_a_la_liste(Enreg->d_name, 1); + Ajouter_element_a_la_liste(entry->d_name, 1); Liste_Nb_repertoires++; } else if (S_ISREG(Infos_enreg.st_mode) && //Il s'agit d'un fichier (Config.Lire_les_fichiers_caches || //Il n'est pas caché - !isHidden(Enreg))) + !isHidden(entry))) { - if (VerifieExtension(Enreg->d_name, Filtre)) + if (VerifieExtension(entry->d_name, Filtre)) { // On rajoute le fichier à la liste - Ajouter_element_a_la_liste(Enreg->d_name, 0); + Ajouter_element_a_la_liste(entry->d_name, 0); Liste_Nb_fichiers++; } } @@ -746,7 +746,7 @@ void for_each_file(const char * Nom_repertoire, void Callback(const char *)) { // Pour scan de répertoire DIR* Repertoire_Courant; //Répertoire courant - struct dirent* Enreg; // Structure de lecture des éléments + struct dirent* entry; // Structure de lecture des éléments char Nom_fichier_complet[TAILLE_CHEMIN_FICHIER]; int Position_nom_fichier; strcpy(Nom_fichier_complet, Nom_repertoire); @@ -754,10 +754,10 @@ void for_each_file(const char * Nom_repertoire, void Callback(const char *)) if(Repertoire_Courant == NULL) return; // Répertoire invalide ... strcat(Nom_fichier_complet, SEPARATEUR_CHEMIN); Position_nom_fichier = strlen(Nom_fichier_complet); - while ((Enreg=readdir(Repertoire_Courant))) + while ((entry=readdir(Repertoire_Courant))) { struct stat Infos_enreg; - strcpy(&Nom_fichier_complet[Position_nom_fichier], Enreg->d_name); + strcpy(&Nom_fichier_complet[Position_nom_fichier], entry->d_name); stat(Nom_fichier_complet,&Infos_enreg); if (S_ISREG(Infos_enreg.st_mode)) { diff --git a/graph.c b/graph.c index 7d1fa61e..decd7ebd 100644 --- a/graph.c +++ b/graph.c @@ -185,7 +185,7 @@ int Initialiser_mode_video(int Largeur, int Hauteur, int Fullscreen) int Sensibilite_X; int Sensibilite_Y; int Indice; - int Facteur; + int factor; // Pour la première entrée dans cette fonction if (Pixel_width<1) @@ -322,20 +322,20 @@ int Initialiser_mode_video(int Largeur, int Hauteur, int Fullscreen) // Taille des menus if (Largeur_ecran/320 > Hauteur_ecran/200) - Facteur=Hauteur_ecran/200; + factor=Hauteur_ecran/200; else - Facteur=Largeur_ecran/320; + factor=Largeur_ecran/320; switch (Config.Ratio) { case 1: // adapter tout - Menu_Facteur_X=Facteur; - Menu_Facteur_Y=Facteur; + Menu_Facteur_X=factor; + Menu_Facteur_Y=factor; break; case 2: // adapter légèrement - Menu_Facteur_X=Facteur-1; + Menu_Facteur_X=factor-1; if (Menu_Facteur_X<1) Menu_Facteur_X=1; - Menu_Facteur_Y=Facteur-1; + Menu_Facteur_Y=factor-1; if (Menu_Facteur_Y<1) Menu_Facteur_Y=1; break; default: // ne pas adapter @@ -723,7 +723,7 @@ void Fill(short * Limite_atteinte_Haut , short * Limite_atteinte_Bas, *Limite_atteinte_Haut=Limite_courante_Haut; *Limite_atteinte_Bas =Limite_courante_Bas; (*Limite_atteinte_Droite)--; -} // Fin de la routine de remplissage "Fill" +} // end de la routine de remplissage "Fill" void Remplir(byte Couleur_de_remplissage) @@ -1467,7 +1467,7 @@ void Tracer_courbe_General(short X1, short Y1, short X4, short Y4, byte Couleur) { - float Delta,t,t2,t3; + float delta,t,t2,t3; short X,Y,Old_X,Old_Y; word i; int CX[4]; @@ -1487,11 +1487,11 @@ void Tracer_courbe_General(short X1, short Y1, Old_X=X1; Old_Y=Y1; Pixel_figure(Old_X,Old_Y,Couleur); - Delta=0.05; // 1.0/20 + delta=0.05; // 1.0/20 t=0; 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]); Y=Round(t3*CY[0] + t2*CY[1] + t*CY[2] + CY[3]); Tracer_ligne_General(Old_X,Old_Y,X,Y,Couleur); @@ -2279,7 +2279,7 @@ void Liste2tables(word * Liste,short Pas,byte Mode,byte * Table_inc,byte * Table { int Indice; int Premier; - int Dernier; + int last; int Couleur; int Temp; @@ -2302,7 +2302,7 @@ void Liste2tables(word * Liste,short Pas,byte Mode,byte * Table_inc,byte * Table Premier=Indice; // On recherche la position de la dernière case de la séquence - for (Dernier=Premier;Liste[Dernier+1]<256;Dernier++); + for (last=Premier;Liste[last+1]<256;last++); // Pour toutes les cases non vides (et non inhibées) qui suivent switch (Mode) @@ -2311,12 +2311,12 @@ void Liste2tables(word * Liste,short Pas,byte Mode,byte * Table_inc,byte * Table for (;(Indice<512) && (Liste[Indice]<256);Indice++) { // On met à jour les tables de conversion Couleur=Liste[Indice]; - Table_inc[Couleur]=Liste[(Indice+Pas<=Dernier)?Indice+Pas:Dernier]; + Table_inc[Couleur]=Liste[(Indice+Pas<=last)?Indice+Pas:last]; Table_dec[Couleur]=Liste[(Indice-Pas>=Premier)?Indice-Pas:Premier]; } break; case MODE_SHADE_BOUCLE : - Temp=1+Dernier-Premier; + Temp=1+last-Premier; for (;(Indice<512) && (Liste[Indice]<256);Indice++) { // On met à jour les tables de conversion Couleur=Liste[Indice]; @@ -2328,7 +2328,7 @@ void Liste2tables(word * Liste,short Pas,byte Mode,byte * Table_inc,byte * Table for (;(Indice<512) && (Liste[Indice]<256);Indice++) { // On met à jour les tables de conversion Couleur=Liste[Indice]; - if (Indice+Pas<=Dernier) + if (Indice+Pas<=last) Table_inc[Couleur]=Liste[Indice+Pas]; if (Indice-Pas>=Premier) Table_dec[Couleur]=Liste[Indice-Pas]; @@ -2383,41 +2383,41 @@ byte Effet_Quick_shade(word X,word Y,byte Couleur) { int color=Couleur=Lit_pixel_dans_ecran_feedback(X,Y); int Sens=(Fore_color<=Back_color); - byte Debut,Fin; + byte start,end; int Largeur; if (Sens) { - Debut=Fore_color; - Fin =Back_color; + start=Fore_color; + end =Back_color; } else { - Debut=Back_color; - Fin =Fore_color; + start=Back_color; + end =Fore_color; } - if ((color>=Debut) && (color<=Fin) && (Debut!=Fin)) + if ((color>=start) && (color<=end) && (start!=end)) { - Largeur=1+Fin-Debut; + Largeur=1+end-start; if ( ((Shade_Table==Shade_Table_gauche) && Sens) || ((Shade_Table==Shade_Table_droite) && (!Sens)) ) color-=Quick_shade_Step%Largeur; else color+=Quick_shade_Step%Largeur; - if (colorFin) + if (color>end) switch (Quick_shade_Loop) { - case MODE_SHADE_NORMAL : return Fin; + case MODE_SHADE_NORMAL : return end; case MODE_SHADE_BOUCLE : return (color-Largeur); default : return Couleur; } diff --git a/init.c b/init.c index 7f527a4f..0579fe83 100644 --- a/init.c +++ b/init.c @@ -746,15 +746,15 @@ void Rien_du_tout(void) // Initialiseur d'un bouton: void Initialiser_bouton(byte Numero, - word Decalage_X , word Decalage_Y, + word x_offset , word y_offset, word Largeur , word Hauteur, byte Forme, fonction_action Gauche , fonction_action Droite, fonction_action Desenclencher, byte Famille) { - Bouton[Numero].Decalage_X =Decalage_X; - Bouton[Numero].Decalage_Y =Decalage_Y; + Bouton[Numero].Decalage_X =x_offset; + Bouton[Numero].Decalage_Y =y_offset; Bouton[Numero].Largeur =Largeur-1; Bouton[Numero].Hauteur =Hauteur-1; Bouton[Numero].Enfonce =0; diff --git a/io.c b/io.c index 9edb6838..5f6147b9 100644 --- a/io.c +++ b/io.c @@ -182,26 +182,26 @@ char * Position_dernier_slash(const char * Chaine) return (char *)Position; } // Récupère la partie "nom de fichier seul" d'un chemin -void Extraire_nom_fichier(char *Destination, const char *Source) +void Extraire_nom_fichier(char *dest, const char *Source) { const char * Position = Position_dernier_slash(Source); if (Position) - strcpy(Destination,Position+1); + strcpy(dest,Position+1); else - strcpy(Destination,Source); + strcpy(dest,Source); } // Récupère la partie "répertoire+/" d'un chemin. -void Extraire_chemin(char *Destination, const char *Source) +void Extraire_chemin(char *dest, const char *Source) { char * Position; - strcpy(Destination,Source); - Position = Position_dernier_slash(Destination); + strcpy(dest,Source); + Position = Position_dernier_slash(dest); if (Position) *(Position+1) = '\0'; else - strcat(Destination, SEPARATEUR_CHEMIN); + strcat(dest, SEPARATEUR_CHEMIN); } int Fichier_existe(char * Fichier) @@ -222,7 +222,7 @@ int Repertoire_existe(char * Repertoire) // Détermine si un répertoire passé en paramètre existe ou non dans le // répertoire courant. { - DIR* Enreg; // Structure de lecture des éléments + DIR* entry; // Structure de lecture des éléments if (strcmp(Repertoire,PARENT_DIR)==0) return 1; @@ -231,12 +231,12 @@ int Repertoire_existe(char * Repertoire) // On va chercher si le répertoire existe à l'aide d'un Opendir. S'il // renvoie NULL c'est que le répertoire n'est pas accessible... - Enreg=opendir(Repertoire); - if (Enreg==NULL) + entry=opendir(Repertoire); + if (entry==NULL) return 0; else { - closedir(Enreg); + closedir(entry); return 1; } } diff --git a/io.h b/io.h index 3ad475da..ea72b5d5 100644 --- a/io.h +++ b/io.h @@ -38,8 +38,8 @@ int write_word_be(FILE *Fichier, word w); int read_dword_be(FILE *Fichier, dword *Dest); int write_dword_be(FILE *Fichier, dword dw); -void Extraire_nom_fichier(char *Destination, const char *Source); -void Extraire_chemin(char *Destination, const char *Source); +void Extraire_nom_fichier(char *dest, const char *Source); +void Extraire_chemin(char *dest, const char *Source); char * Position_dernier_slash(const char * Chaine); diff --git a/loadsave.c b/loadsave.c index 4416e4e3..255aa69d 100644 --- a/loadsave.c +++ b/loadsave.c @@ -3597,17 +3597,17 @@ void Test_PCX(void) // -- Lire un fichier au format PCX ----------------------------------------- // -- Afficher une ligne PCX codée sur 1 seul plan avec moins de 256 c. -- - void Draw_PCX_line(short Pos_Y, byte Depth) + void Draw_PCX_line(short Pos_Y, byte depth) { short Pos_X; byte Couleur; - byte Reduction=8/Depth; - byte Masque=(1<>((Reduction_moins_1-(Pos_X%Reduction))*Depth)) & Masque; + Couleur=(LBM_Buffer[Pos_X/Reduction]>>((Reduction_moins_1-(Pos_X%Reduction))*depth)) & Masque; Pixel_de_chargement(Pos_X,Pos_Y,Couleur); } } diff --git a/moteur.c b/moteur.c index cb11698c..25c5284e 100644 --- a/moteur.c +++ b/moteur.c @@ -213,7 +213,7 @@ int Numero_bouton_sous_souris(void) } -void Tracer_cadre_de_bouton_du_menu(byte Numero,byte Enfonce) +void Tracer_cadre_de_bouton_du_menu(byte Numero,byte pressed) { byte Couleur_Haut_gauche; byte Couleur_Bas_droite; @@ -230,7 +230,7 @@ void Tracer_cadre_de_bouton_du_menu(byte Numero,byte Enfonce) Fin_X =Debut_X+Bouton[Numero].Largeur; Fin_Y =Debut_Y+Bouton[Numero].Hauteur; - if (!Enfonce) + if (!pressed) { Couleur_Haut_gauche=CM_Blanc; Couleur_Bas_droite=CM_Fonce; @@ -442,7 +442,7 @@ void Deplacer_Split(void) { short Ancien_Split=Principal_Split; short Ancien_X_Zoom=Principal_X_Zoom; - short Decalage=Principal_X_Zoom-Mouse_X; + short offset=Principal_X_Zoom-Mouse_X; byte Ancienne_forme_curseur=Forme_curseur; short Ancien_Mouse_X=-1; @@ -460,7 +460,7 @@ void Deplacer_Split(void) if (Mouse_X!=Ancien_Mouse_X) { Ancien_Mouse_X=Mouse_X; - Principal_Proportion_split=(float)(Mouse_X+Decalage)/Largeur_ecran; + Principal_Proportion_split=(float)(Mouse_X+offset)/Largeur_ecran; Calculer_split(); if (Principal_X_Zoom!=Ancien_X_Zoom) @@ -1310,7 +1310,7 @@ void Fenetre_Effacer_tags(void) // ---- Tracer les TAGs sur les palettes du menu Palette ou du menu Shade ---- -void Tagger_intervalle_palette(byte Debut,byte Fin) +void Tagger_intervalle_palette(byte start,byte end) { word Origine_X; word Origine_Y; @@ -1321,33 +1321,33 @@ void Tagger_intervalle_palette(byte Debut,byte Fin) word Indice; // On efface les anciens TAGs - for (Indice=0;Indice<=Debut;Indice++) + for (Indice=0;Indice<=start;Indice++) Block(Fenetre_Pos_X+(Fenetre_Liste_boutons_palette->Pos_X+3+((Indice>>4)*10))*Menu_Facteur_X, Fenetre_Pos_Y+(Fenetre_Liste_boutons_palette->Pos_Y+3+((Indice&15)* 5))*Menu_Facteur_Y, Menu_Facteur_X*3,Menu_Facteur_Y*5,CM_Clair); - for (Indice=Fin;Indice<256;Indice++) + for (Indice=end;Indice<256;Indice++) Block(Fenetre_Pos_X+(Fenetre_Liste_boutons_palette->Pos_X+3+((Indice>>4)*10))*Menu_Facteur_X, Fenetre_Pos_Y+(Fenetre_Liste_boutons_palette->Pos_Y+3+((Indice&15)* 5))*Menu_Facteur_Y, Menu_Facteur_X*3,Menu_Facteur_Y*5,CM_Clair); // On affiche le 1er TAG - Origine_X=(Fenetre_Liste_boutons_palette->Pos_X+3)+(Debut>>4)*10; - Origine_Y=(Fenetre_Liste_boutons_palette->Pos_Y+3)+(Debut&15)* 5; + Origine_X=(Fenetre_Liste_boutons_palette->Pos_X+3)+(start>>4)*10; + Origine_Y=(Fenetre_Liste_boutons_palette->Pos_Y+3)+(start&15)* 5; for (Pos_Y=0,Pos_fenetre_Y=Origine_Y ;Pos_Y<5;Pos_Y++,Pos_fenetre_Y++) Pixel_dans_fenetre(Origine_X ,Pos_fenetre_Y,CM_Noir); for (Pos_Y=0,Pos_fenetre_Y=Origine_Y+1;Pos_Y<3;Pos_Y++,Pos_fenetre_Y++) Pixel_dans_fenetre(Origine_X+1,Pos_fenetre_Y,CM_Noir); Pixel_dans_fenetre(Origine_X+2,Origine_Y+2,CM_Noir); - if (Debut!=Fin) + if (start!=end) { // On complète le 1er TAG Pixel_dans_fenetre(Origine_X+1,Origine_Y+4,CM_Noir); // On affiche le 2ème TAG - Origine_X=(Fenetre_Liste_boutons_palette->Pos_X+3)+(Fin>>4)*10; - Origine_Y=(Fenetre_Liste_boutons_palette->Pos_Y+3)+(Fin&15)* 5; + Origine_X=(Fenetre_Liste_boutons_palette->Pos_X+3)+(end>>4)*10; + Origine_Y=(Fenetre_Liste_boutons_palette->Pos_Y+3)+(end&15)* 5; for (Pos_Y=0,Pos_fenetre_Y=Origine_Y; Pos_Y<5; Pos_Y++,Pos_fenetre_Y++) Pixel_dans_fenetre(Origine_X ,Pos_fenetre_Y,CM_Noir); for (Pos_Y=0,Pos_fenetre_Y=Origine_Y; Pos_Y<4; Pos_Y++,Pos_fenetre_Y++) @@ -1355,7 +1355,7 @@ void Tagger_intervalle_palette(byte Debut,byte Fin) Pixel_dans_fenetre(Origine_X+2,Origine_Y+2,CM_Noir); // On TAG toutes les couleurs intermédiaires - for (Indice=Debut+1;IndicePos_X+3+((Indice>>4)*10))*Menu_Facteur_X, Fenetre_Pos_Y+(Fenetre_Liste_boutons_palette->Pos_Y+3+((Indice&15)* 5))*Menu_Facteur_Y, @@ -1376,51 +1376,51 @@ void Tagger_intervalle_palette(byte Debut,byte Fin) //------------------ Dessiner un scroller dans une fenêtre ------------------- -void Calculer_hauteur_curseur_jauge(T_Bouton_scroller * Enreg) +void Calculer_hauteur_curseur_jauge(T_Bouton_scroller * button) { - if (Enreg->Nb_elements>Enreg->Nb_visibles) + if (button->Nb_elements>button->Nb_visibles) { - Enreg->Hauteur_curseur=(Enreg->Nb_visibles*(Enreg->Hauteur-24))/Enreg->Nb_elements; - if (!(Enreg->Hauteur_curseur)) - Enreg->Hauteur_curseur=1; + button->Hauteur_curseur=(button->Nb_visibles*(button->Hauteur-24))/button->Nb_elements; + if (!(button->Hauteur_curseur)) + button->Hauteur_curseur=1; } else { - Enreg->Hauteur_curseur=Enreg->Hauteur-24; + button->Hauteur_curseur=button->Hauteur-24; } } -void Fenetre_Dessiner_jauge(T_Bouton_scroller * Enreg) +void Fenetre_Dessiner_jauge(T_Bouton_scroller * button) { word Position_curseur_jauge; - Position_curseur_jauge=Enreg->Pos_Y+12; + Position_curseur_jauge=button->Pos_Y+12; - Block(Fenetre_Pos_X+(Enreg->Pos_X*Menu_Facteur_X), + Block(Fenetre_Pos_X+(button->Pos_X*Menu_Facteur_X), Fenetre_Pos_Y+(Position_curseur_jauge*Menu_Facteur_Y), - 11*Menu_Facteur_X,(Enreg->Hauteur-24)*Menu_Facteur_Y,CM_Noir/*CM_Fonce*/); + 11*Menu_Facteur_X,(button->Hauteur-24)*Menu_Facteur_Y,CM_Noir/*CM_Fonce*/); - if (Enreg->Nb_elements>Enreg->Nb_visibles) - Position_curseur_jauge+=Round_div(Enreg->Position*(Enreg->Hauteur-24-Enreg->Hauteur_curseur),Enreg->Nb_elements-Enreg->Nb_visibles); + if (button->Nb_elements>button->Nb_visibles) + Position_curseur_jauge+=Round_div(button->Position*(button->Hauteur-24-button->Hauteur_curseur),button->Nb_elements-button->Nb_visibles); - Block(Fenetre_Pos_X+(Enreg->Pos_X*Menu_Facteur_X), + Block(Fenetre_Pos_X+(button->Pos_X*Menu_Facteur_X), Fenetre_Pos_Y+(Position_curseur_jauge*Menu_Facteur_Y), - 11*Menu_Facteur_X,Enreg->Hauteur_curseur*Menu_Facteur_Y,CM_Clair/*CM_Blanc*/); + 11*Menu_Facteur_X,button->Hauteur_curseur*Menu_Facteur_Y,CM_Clair/*CM_Blanc*/); - UpdateRect(Fenetre_Pos_X+(Enreg->Pos_X*Menu_Facteur_X), - Fenetre_Pos_Y+Enreg->Pos_Y*Menu_Facteur_Y, - 11*Menu_Facteur_X,(Enreg->Hauteur)*Menu_Facteur_Y); + UpdateRect(Fenetre_Pos_X+(button->Pos_X*Menu_Facteur_X), + Fenetre_Pos_Y+button->Pos_Y*Menu_Facteur_Y, + 11*Menu_Facteur_X,(button->Hauteur)*Menu_Facteur_Y); } -void Fenetre_Dessiner_bouton_scroller(T_Bouton_scroller * Enreg) +void Fenetre_Dessiner_bouton_scroller(T_Bouton_scroller * button) { - Fenetre_Afficher_cadre_general(Enreg->Pos_X-1,Enreg->Pos_Y-1,13,Enreg->Hauteur+2,CM_Noir,CM_Noir,CM_Fonce,CM_Fonce,CM_Fonce); - Fenetre_Afficher_cadre_mono(Enreg->Pos_X-1,Enreg->Pos_Y+11,13,Enreg->Hauteur-22,CM_Noir); - Fenetre_Afficher_cadre_bombe(Enreg->Pos_X,Enreg->Pos_Y,11,11); - Fenetre_Afficher_cadre_bombe(Enreg->Pos_X,Enreg->Pos_Y+Enreg->Hauteur-11,11,11); - Print_dans_fenetre(Enreg->Pos_X+2,Enreg->Pos_Y+2,"\030",CM_Noir,CM_Clair); - Print_dans_fenetre(Enreg->Pos_X+2,Enreg->Pos_Y+Enreg->Hauteur-9,"\031",CM_Noir,CM_Clair); - Fenetre_Dessiner_jauge(Enreg); + Fenetre_Afficher_cadre_general(button->Pos_X-1,button->Pos_Y-1,13,button->Hauteur+2,CM_Noir,CM_Noir,CM_Fonce,CM_Fonce,CM_Fonce); + Fenetre_Afficher_cadre_mono(button->Pos_X-1,button->Pos_Y+11,13,button->Hauteur-22,CM_Noir); + Fenetre_Afficher_cadre_bombe(button->Pos_X,button->Pos_Y,11,11); + Fenetre_Afficher_cadre_bombe(button->Pos_X,button->Pos_Y+button->Hauteur-11,11,11); + Print_dans_fenetre(button->Pos_X+2,button->Pos_Y+2,"\030",CM_Noir,CM_Clair); + Print_dans_fenetre(button->Pos_X+2,button->Pos_Y+button->Hauteur-9,"\031",CM_Noir,CM_Clair); + Fenetre_Dessiner_jauge(button); } @@ -1434,17 +1434,17 @@ void Fenetre_Dessiner_bouton_saisie(word Pos_X,word Pos_Y,word Largeur_en_caract //------------ Modifier le contenu (caption) d'une zone de saisie ------------ -void Fenetre_Contenu_bouton_saisie(T_Bouton_special * Enreg, char * content) +void Fenetre_Contenu_bouton_saisie(T_Bouton_special * button, char * content) { - Print_dans_fenetre_limite(Enreg->Pos_X+2,Enreg->Pos_Y+2,content,Enreg->Largeur/8,CM_Noir,CM_Clair); + Print_dans_fenetre_limite(button->Pos_X+2,button->Pos_Y+2,content,button->Largeur/8,CM_Noir,CM_Clair); } //------------ Effacer le contenu (caption) d'une zone de saisie ------------ -void Fenetre_Effacer_bouton_saisie(T_Bouton_special * Enreg) +void Fenetre_Effacer_bouton_saisie(T_Bouton_special * button) { - Block((Enreg->Pos_X+2)*Menu_Facteur_X+Fenetre_Pos_X,(Enreg->Pos_Y+2)*Menu_Facteur_Y+Fenetre_Pos_Y,(Enreg->Largeur/8)*8*Menu_Facteur_X,8*Menu_Facteur_Y,CM_Clair); - UpdateRect((Enreg->Pos_X+2)*Menu_Facteur_X+Fenetre_Pos_X,(Enreg->Pos_Y+2)*Menu_Facteur_Y+Fenetre_Pos_Y,Enreg->Largeur/8*8*Menu_Facteur_X,8*Menu_Facteur_Y); + Block((button->Pos_X+2)*Menu_Facteur_X+Fenetre_Pos_X,(button->Pos_Y+2)*Menu_Facteur_Y+Fenetre_Pos_Y,(button->Largeur/8)*8*Menu_Facteur_X,8*Menu_Facteur_Y,CM_Clair); + UpdateRect((button->Pos_X+2)*Menu_Facteur_X+Fenetre_Pos_X,(button->Pos_Y+2)*Menu_Facteur_Y+Fenetre_Pos_Y,button->Largeur/8*8*Menu_Facteur_X,8*Menu_Facteur_Y); } @@ -1606,39 +1606,39 @@ T_Bouton_dropdown * Fenetre_Definir_bouton_dropdown(word Pos_X,word Pos_Y,word L // Ajoute un choix à une dropdown. Le libellé est seulement référencé, // il doit pointer sur une zone qui doit être encore valide à la fermeture // de la fenêtre (comprise). -void Fenetre_Dropdown_choix(T_Bouton_dropdown * Dropdown, word Numero, const char *Libelle) +void Fenetre_Dropdown_choix(T_Bouton_dropdown * dropdown, word Numero, const char *Libelle) { T_Dropdown_choix *Temp; - T_Dropdown_choix *Dernier; + T_Dropdown_choix *last; Temp=(T_Dropdown_choix *)malloc(sizeof(T_Dropdown_choix)); Temp->Numero =Numero; Temp->Libelle=Libelle; Temp->Next=NULL; - Dernier=Dropdown->Premier_choix; - if (Dernier) + last=dropdown->Premier_choix; + if (last) { // On cherche le dernier élément - for (;Dernier->Next;Dernier=Dernier->Next) + for (;last->Next;last=last->Next) ; - Dernier->Next=Temp; + last->Next=Temp; } else { - Dropdown->Premier_choix=Temp; + dropdown->Premier_choix=Temp; } } // ------------- Suppression de tous les choix d'une dropdown --------- -void Fenetre_Dropdown_vider_choix(T_Bouton_dropdown * Dropdown) +void Fenetre_Dropdown_vider_choix(T_Bouton_dropdown * dropdown) { T_Dropdown_choix * Choix_suivant; - while (Dropdown->Premier_choix) + while (dropdown->Premier_choix) { - Choix_suivant=Dropdown->Premier_choix->Next; - free(Dropdown->Premier_choix); - Dropdown->Premier_choix=Choix_suivant; + Choix_suivant=dropdown->Premier_choix->Next; + free(dropdown->Premier_choix); + dropdown->Premier_choix=Choix_suivant; } } @@ -1798,12 +1798,12 @@ byte Fenetre_click_dans_zone(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y // --- Attend que l'on clique dans la palette pour renvoyer la couleur choisie // ou bien renvoie -1 si on a annulé l'action pas click-droit ou Escape ------ -short Attendre_click_dans_palette(T_Bouton_palette * Enreg) +short Attendre_click_dans_palette(T_Bouton_palette * button) { - short Debut_X=Enreg->Pos_X+5; - short Debut_Y=Enreg->Pos_Y+3; - short Fin_X =Enreg->Pos_X+160; - short Fin_Y =Enreg->Pos_Y+82; + short Debut_X=button->Pos_X+5; + short Debut_Y=button->Pos_Y+3; + short Fin_X =button->Pos_X+160; + short Fin_Y =button->Pos_Y+82; byte Couleur_choisie; byte Ancien_Cacher_curseur; byte Ancien_Loupe_Mode; @@ -1825,8 +1825,8 @@ short Attendre_click_dans_palette(T_Bouton_palette * Enreg) if (Fenetre_click_dans_zone(Debut_X,Debut_Y,Fin_X,Fin_Y)) { Effacer_curseur(); - Couleur_choisie=(((Mouse_X-Fenetre_Pos_X)/Menu_Facteur_X)-(Enreg->Pos_X+2)) / 10 * 16 + - (((Mouse_Y-Fenetre_Pos_Y)/Menu_Facteur_Y)-(Enreg->Pos_Y+3)) / 5; + Couleur_choisie=(((Mouse_X-Fenetre_Pos_X)/Menu_Facteur_X)-(button->Pos_X+2)) / 10 * 16 + + (((Mouse_Y-Fenetre_Pos_Y)/Menu_Facteur_Y)-(button->Pos_Y+3)) / 5; Forme_curseur=FORME_CURSEUR_FLECHE; Cacher_curseur=Ancien_Cacher_curseur; Loupe_Mode=Ancien_Loupe_Mode; diff --git a/moteur.h b/moteur.h index fd455d6f..f7a374c3 100644 --- a/moteur.h +++ b/moteur.h @@ -37,12 +37,12 @@ void Fenetre_Enfoncer_bouton_normal(word Pos_X,word Pos_Y,word Largeur,word Haut void Fenetre_Desenfoncer_bouton_normal(word Pos_X,word Pos_Y,word Largeur,word Hauteur); void Fenetre_Dessiner_bouton_palette(word Pos_X,word Pos_Y); -void Calculer_hauteur_curseur_jauge(T_Bouton_scroller * Enreg); -void Fenetre_Dessiner_jauge(T_Bouton_scroller * Enreg); -void Fenetre_Dessiner_bouton_scroller(T_Bouton_scroller * Enreg); +void Calculer_hauteur_curseur_jauge(T_Bouton_scroller * button); +void Fenetre_Dessiner_jauge(T_Bouton_scroller * button); +void Fenetre_Dessiner_bouton_scroller(T_Bouton_scroller * button); -void Fenetre_Contenu_bouton_saisie(T_Bouton_special * Enreg, char * content); -void Fenetre_Effacer_bouton_saisie(T_Bouton_special * Enreg); +void Fenetre_Contenu_bouton_saisie(T_Bouton_special * button, char * content); +void Fenetre_Effacer_bouton_saisie(T_Bouton_special * button); void Fenetre_Dessiner_bouton_saisie(word Pos_X,word Pos_Y,word Largeur_en_caracteres); T_Bouton_normal * Fenetre_Definir_bouton_normal(word Pos_X, word Pos_Y, @@ -56,7 +56,7 @@ T_Bouton_normal * Fenetre_Definir_bouton_repetable(word Pos_X, word Pos_Y, T_Bouton_palette * Fenetre_Definir_bouton_palette(word Pos_X, word Pos_Y); void Fenetre_Effacer_tags(void); -void Tagger_intervalle_palette(byte Debut,byte Fin); +void Tagger_intervalle_palette(byte start,byte end); T_Bouton_scroller * Fenetre_Definir_bouton_scroller(word Pos_X, word Pos_Y, word Hauteur, @@ -66,10 +66,10 @@ T_Bouton_scroller * Fenetre_Definir_bouton_scroller(word Pos_X, word Pos_Y, T_Bouton_special * Fenetre_Definir_bouton_special(word Pos_X,word Pos_Y,word Largeur,word Hauteur); T_Bouton_special * Fenetre_Definir_bouton_saisie(word Pos_X,word Pos_Y,word Largeur_en_caracteres); T_Bouton_dropdown * Fenetre_Definir_bouton_dropdown(word Pos_X,word Pos_Y,word Largeur,word Hauteur,word Largeur_choix,char *Libelle,byte display_choice,byte display_centered,byte display_arrow,byte active_button); -void Fenetre_Dropdown_choix(T_Bouton_dropdown * Dropdown, word Numero, const char *Libelle); -void Fenetre_Dropdown_vider_choix(T_Bouton_dropdown * Dropdown); +void Fenetre_Dropdown_choix(T_Bouton_dropdown * dropdown, word Numero, const char *Libelle); +void Fenetre_Dropdown_vider_choix(T_Bouton_dropdown * dropdown); byte Fenetre_click_dans_zone(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y); -short Attendre_click_dans_palette(T_Bouton_palette * Enreg); +short Attendre_click_dans_palette(T_Bouton_palette * button); void Recuperer_couleur_derriere_fenetre(byte * Couleur, byte * click); short Fenetre_Bouton_clicke(void); diff --git a/op_c.c b/op_c.c index 8c094399..69744d09 100644 --- a/op_c.c +++ b/op_c.c @@ -959,7 +959,7 @@ void DS_Generer(DegradeSet * ds,ClusterSet * cs) int ic,id; // Les indexs de parcours des ensembles int mdegr; // Meilleur d‚grad‚ int mdiff; // Meilleure diff‚rence de chrominance - int diff; // Diff‚rence de chrominance courante + int diff; // Difference de chrominance courante // Pour chacun des clusters … traiter for (ic=1;icnb;ic++) diff --git a/operatio.c b/operatio.c index 130b0b45..3217ce2a 100644 --- a/operatio.c +++ b/operatio.c @@ -626,14 +626,14 @@ void K_Ligne_0_6(void) short Fin_X; short Fin_Y; short Couleur; - short Direction; + short direction; Operation_POP(&Fin_Y); Operation_POP(&Fin_X); Operation_POP(&Debut_Y); Operation_POP(&Debut_X); Operation_POP(&Couleur); - Operation_POP(&Direction); + Operation_POP(&direction); if ((Config.Coords_rel) && (Menu_visible)) Print_dans_menu("X:± 0 Y:± 0",0); @@ -645,16 +645,16 @@ void K_Ligne_0_6(void) Tracer_ligne_Preview_xor (Debut_X,Debut_Y,Fin_X,Fin_Y,0); */ Pinceau_Forme=Pinceau_Forme_avant_operation; - if (Direction & 0x80) + if (direction & 0x80) { Afficher_pinceau(Debut_X,Debut_Y,Couleur,0); - Direction=(Direction & 0x7F); + direction=(direction & 0x7F); } Tracer_ligne_Definitif(Debut_X,Debut_Y,Pinceau_X,Pinceau_Y,Couleur); Pinceau_Forme=FORME_PINCEAU_POINT; - Operation_PUSH(Direction); - Operation_PUSH(Direction); // Valeur bidon servant de nouvel état de pile + Operation_PUSH(direction); + Operation_PUSH(direction); // Valeur bidon servant de nouvel état de pile Operation_PUSH(Couleur); Operation_PUSH(Pinceau_X); Operation_PUSH(Pinceau_Y); @@ -676,19 +676,19 @@ void K_Ligne_12_7(void) short Fin_X; short Fin_Y; short Couleur; - short Direction; + short direction; Operation_POP(&Fin_Y); Operation_POP(&Fin_X); Operation_POP(&Debut_Y); Operation_POP(&Debut_X); Operation_POP(&Couleur); - Operation_POP(&Direction); - Operation_POP(&Direction); + Operation_POP(&direction); + Operation_POP(&direction); - if (Direction==Mouse_K) + if (direction==Mouse_K) { - Operation_PUSH(Direction); + Operation_PUSH(direction); Operation_PUSH(Couleur); Operation_PUSH(Debut_X); Operation_PUSH(Debut_Y); @@ -2165,19 +2165,19 @@ void Polygone_12_9(void) short Fin_X; short Fin_Y; short Couleur; - short Direction; + short direction; Operation_POP(&Fin_Y); Operation_POP(&Fin_X); Operation_POP(&Debut_Y); Operation_POP(&Debut_X); Operation_POP(&Couleur); - Operation_POP(&Direction); - Operation_POP(&Direction); + Operation_POP(&direction); + Operation_POP(&direction); - if (Direction==Mouse_K) + if (direction==Mouse_K) { - Operation_PUSH(Direction); + Operation_PUSH(direction); Operation_PUSH(Couleur); Operation_PUSH(Debut_X); Operation_PUSH(Debut_Y); @@ -2271,25 +2271,25 @@ void Polyfill_0_8(void) short Fin_X; short Fin_Y; short Couleur; - short Direction; + short direction; Operation_POP(&Fin_Y); Operation_POP(&Fin_X); Operation_POP(&Debut_Y); Operation_POP(&Debut_X); Operation_POP(&Couleur); - Operation_POP(&Direction); + Operation_POP(&direction); if ((Config.Coords_rel) && (Menu_visible)) Print_dans_menu("X:± 0 Y:± 0",0); Tracer_ligne_Preview_xor(Debut_X,Debut_Y,Fin_X,Fin_Y,0); - if (Direction & 0x80) - Direction=(Direction & 0x7F); + if (direction & 0x80) + direction=(direction & 0x7F); - Operation_PUSH(Direction); // Valeur bidon servant de nouvel état de pile - Operation_PUSH(Direction); + Operation_PUSH(direction); // Valeur bidon servant de nouvel état de pile + Operation_PUSH(direction); Operation_PUSH(Couleur); Tracer_ligne_Preview_xor(Debut_X,Debut_Y,Pinceau_X,Pinceau_Y,0); @@ -2364,19 +2364,19 @@ void Polyfill_12_9(void) short Fin_X; short Fin_Y; short Couleur; - short Direction; + short direction; Operation_POP(&Fin_Y); Operation_POP(&Fin_X); Operation_POP(&Debut_Y); Operation_POP(&Debut_X); Operation_POP(&Couleur); - Operation_POP(&Direction); - Operation_POP(&Direction); + Operation_POP(&direction); + Operation_POP(&direction); - if (Direction==Mouse_K) + if (direction==Mouse_K) { - Operation_PUSH(Direction); + Operation_PUSH(direction); Operation_PUSH(Couleur); Operation_PUSH(Debut_X); Operation_PUSH(Debut_Y); @@ -2909,7 +2909,7 @@ void Brosse_0_5(void) short Debut_Y; short Ancien_Pinceau_X; short Ancien_Pinceau_Y; - short Effacement; + short clear; // Comme on a demandé l'effacement du curseur, il n'y a plus de croix en // (Pinceau_X,Pinceau_Y). C'est une bonne chose. @@ -2917,7 +2917,7 @@ void Brosse_0_5(void) Operation_Taille_pile-=2; Operation_POP(&Debut_Y); Operation_POP(&Debut_X); - Operation_POP(&Effacement); + Operation_POP(&clear); // On efface l'ancienne croix: Ancien_Pinceau_X=Pinceau_X; @@ -2947,7 +2947,7 @@ void Brosse_0_5(void) if (Ancien_Pinceau_Y!=Debut_Y) Ancien_Pinceau_Y--; } - Capturer_brosse(Debut_X,Debut_Y,Ancien_Pinceau_X,Ancien_Pinceau_Y,Effacement); + Capturer_brosse(Debut_X,Debut_Y,Ancien_Pinceau_X,Ancien_Pinceau_Y,clear); if ((Snap_Mode) && (Config.Adjust_brush_pick)) { Brosse_Decalage_X=(Brosse_Decalage_X/Snap_Largeur)*Snap_Largeur; @@ -3717,8 +3717,8 @@ void Scroll_12_4(void) short Centre_Y; short Pos_X; short Pos_Y; - short Decalage_X; - short Decalage_Y; + short x_offset; + short y_offset; //char Chaine[5]; Operation_POP(&Pos_Y); @@ -3731,18 +3731,18 @@ void Scroll_12_4(void) // L'utilisateur a bougé, il faut scroller l'image if (Pinceau_X>=Centre_X) - Decalage_X=(Pinceau_X-Centre_X)%Principal_Largeur_image; + x_offset=(Pinceau_X-Centre_X)%Principal_Largeur_image; else - Decalage_X=Principal_Largeur_image-((Centre_X-Pinceau_X)%Principal_Largeur_image); + x_offset=Principal_Largeur_image-((Centre_X-Pinceau_X)%Principal_Largeur_image); if (Pinceau_Y>=Centre_Y) - Decalage_Y=(Pinceau_Y-Centre_Y)%Principal_Hauteur_image; + y_offset=(Pinceau_Y-Centre_Y)%Principal_Hauteur_image; else - Decalage_Y=Principal_Hauteur_image-((Centre_Y-Pinceau_Y)%Principal_Hauteur_image); + y_offset=Principal_Hauteur_image-((Centre_Y-Pinceau_Y)%Principal_Hauteur_image); Aff_coords_rel_ou_abs(Centre_X,Centre_Y); - Scroll_picture(Decalage_X,Decalage_Y); + Scroll_picture(x_offset,y_offset); Afficher_ecran(); } diff --git a/pages.c b/pages.c index 6e4df68a..c56c6964 100644 --- a/pages.c +++ b/pages.c @@ -266,9 +266,9 @@ void Liberer_une_page(S_Page * Page) // On ne se préoccupe pas de ce que deviens le reste des infos de l'image. } -void Copier_S_page(S_Page * Destination,S_Page * Source) +void Copier_S_page(S_Page * dest,S_Page * Source) { - *Destination=*Source; + *dest=*Source; } int Taille_d_une_page(S_Page * Page) diff --git a/pages.h b/pages.h index 7aa42c9e..7db56339 100644 --- a/pages.h +++ b/pages.h @@ -39,7 +39,7 @@ void Upload_infos_page_brouillon(S_Page * Page); void Download_infos_backup(S_Liste_de_pages * Liste); int Allouer_une_page(S_Page * Page,int Largeur,int Hauteur); void Liberer_une_page(S_Page * Page); -void Copier_S_page(S_Page * Destination,S_Page * Source); +void Copier_S_page(S_Page * dest,S_Page * Source); int Taille_d_une_page(S_Page * Page); diff --git a/palette.c b/palette.c index 790243cd..a711b946 100644 --- a/palette.c +++ b/palette.c @@ -147,7 +147,7 @@ void Formate_composante(byte Valeur, char *Chaine) Chaine[4]='\0'; } -void Degrader_palette(short Debut,short Fin,T_Palette Palette) +void Degrader_palette(short start,short end,T_Palette Palette) // Modifie la palette pour obtenir un dégradé de couleur entre les deux bornes // passées en paramètre { @@ -161,21 +161,21 @@ void Degrader_palette(short Debut,short Fin,T_Palette Palette) // On vérifie qu'il y ait assez de couleurs entre le début et la fin pour // pouvoir faire un dégradé: - if ( (Debut!=Fin) && (Debut+1!=Fin) ) + if ( (start!=end) && (start+1!=end) ) { - Debut_Rouge=Palette[Debut].R; - Debut_Vert =Palette[Debut].V; - Debut_Bleu =Palette[Debut].B; + Debut_Rouge=Palette[start].R; + Debut_Vert =Palette[start].V; + Debut_Bleu =Palette[start].B; - Fin_Rouge =Palette[Fin ].R; - Fin_Vert =Palette[Fin ].V; - Fin_Bleu =Palette[Fin ].B; + Fin_Rouge =Palette[end ].R; + Fin_Vert =Palette[end ].V; + Fin_Bleu =Palette[end ].B; - for (Indice=Debut+1;IndicePosition =Color_Max; @@ -716,9 +716,9 @@ void Palette_Reafficher_jauges(T_Bouton_scroller * Jauge_rouge, { // Dans le cas d'une seule couleur, composantes. byte j1, j2, j3; - j1= Palette[Debut].R; - j2= Palette[Debut].V; - j3= Palette[Debut].B; + j1= Palette[start].R; + j2= Palette[start].V; + j3= Palette[start].B; if (!Palette_mode_RGB) { RGBtoHSL(j1,j2,j3,&j1,&j2,&j3); diff --git a/pxdouble.c b/pxdouble.c index 6689e9ca..cde56b0a 100644 --- a/pxdouble.c +++ b/pxdouble.c @@ -145,12 +145,12 @@ void Ligne_verticale_XOR_Double(word Pos_X,word Pos_Y,word Hauteur) } } -void Display_brush_Color_Double(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) +void Display_brush_Color_Double(word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) { // Dest = Position à l'écran byte* Dest = Ecran + Pos_Y * 4 * Largeur_ecran + Pos_X * 2; // Src = Position dans la brosse - byte* Src = Brosse + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = Brosse + y_offset * Largeur_brosse + x_offset; word x,y; @@ -179,13 +179,13 @@ void Display_brush_Color_Double(word Pos_X,word Pos_Y,word Decalage_X,word Decal } void Display_brush_Mono_Double(word Pos_X, word Pos_Y, - word Decalage_X, word Decalage_Y, word Largeur, word Hauteur, + word x_offset, word y_offset, word Largeur, word Hauteur, byte Couleur_de_transparence, byte Couleur, word Largeur_brosse) /* On affiche la brosse en monochrome */ { byte* Dest=Pos_Y*4*Largeur_ecran+Pos_X*2+Ecran; // Dest = adr destination à // l'écran - byte* Src=Largeur_brosse*Decalage_Y+Decalage_X+Brosse; // Src = adr ds + byte* Src=Largeur_brosse*y_offset+x_offset+Brosse; // Src = adr ds // la brosse int x,y; @@ -210,7 +210,7 @@ void Display_brush_Mono_Double(word Pos_X, word Pos_Y, UpdateRect(Pos_X,Pos_Y,Largeur,Hauteur); } -void Clear_brush_Double(word Pos_X,word Pos_Y,__attribute__((unused)) word Decalage_X,__attribute__((unused)) word Decalage_Y,word Largeur,word Hauteur,__attribute__((unused))byte Couleur_de_transparence,word Largeur_image) +void Clear_brush_Double(word Pos_X,word Pos_Y,__attribute__((unused)) word x_offset,__attribute__((unused)) word y_offset,word Largeur,word Hauteur,__attribute__((unused))byte Couleur_de_transparence,word Largeur_image) { byte* Dest=Ecran+Pos_X*2+Pos_Y*4*Largeur_ecran; //On va se mettre en 0,0 dans l'écran (Dest) byte* Src = ( Pos_Y + Principal_Decalage_Y ) * Largeur_image + Pos_X + Principal_Decalage_X + Principal_Ecran; //Coords de départ ds la source (Src) @@ -238,12 +238,12 @@ void Clear_brush_Double(word Pos_X,word Pos_Y,__attribute__((unused)) word Decal } // Affiche une brosse (arbitraire) à l'écran -void Affiche_brosse_Double(byte * brush, word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) +void Affiche_brosse_Double(byte * brush, word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) { // Dest = Position à l'écran byte* Dest = Ecran + Pos_Y * 4 * Largeur_ecran + Pos_X * 2; // Src = Position dans la brosse - byte* Src = brush + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = brush + y_offset * Largeur_brosse + x_offset; word x,y; @@ -345,7 +345,7 @@ void Afficher_partie_de_l_ecran_zoomee_Double( { byte* Src = Principal_Ecran + Loupe_Decalage_Y * Largeur_image + Loupe_Decalage_X; - int EDX = 0; // Ligne en cours de traitement + int y = 0; // Ligne en cours de traitement // Pour chaque ligne à zoomer while(1) @@ -360,12 +360,12 @@ void Afficher_partie_de_l_ecran_zoomee_Double( do{ // On affiche la ligne zoomée Afficher_une_ligne_ecran_fast_Double( - Principal_X_Zoom, EDX, Largeur*Loupe_Facteur, + Principal_X_Zoom, y, Largeur*Loupe_Facteur, Buffer ); // On passe à la suivante - EDX++; - if(EDX==Hauteur/**ZOOMY*/) + y++; + if(y==Hauteur/**ZOOMY*/) { UpdateRect(Principal_X_Zoom,0, Largeur*Loupe_Facteur,Hauteur); @@ -380,13 +380,13 @@ void Afficher_partie_de_l_ecran_zoomee_Double( // Affiche une partie de la brosse couleur zoomée void Display_brush_Color_zoom_Double(word Pos_X,word Pos_Y, - word Decalage_X,word Decalage_Y, + word x_offset,word y_offset, word Largeur, // Largeur non zoomée word Pos_Y_Fin,byte Couleur_de_transparence, word Largeur_brosse, // Largeur réelle de la brosse byte * Buffer) { - byte* Src = Brosse+Decalage_Y*Largeur_brosse + Decalage_X; + byte* Src = Brosse+y_offset*Largeur_brosse + x_offset; word y = Pos_Y; byte bx; @@ -412,7 +412,7 @@ void Display_brush_Color_zoom_Double(word Pos_X,word Pos_Y, } void Display_brush_Mono_zoom_Double(word Pos_X, word Pos_Y, - word Decalage_X, word Decalage_Y, + word x_offset, word y_offset, word Largeur, // Largeur non zoomée word Pos_Y_Fin, byte Couleur_de_transparence, byte Couleur, @@ -421,7 +421,7 @@ void Display_brush_Mono_zoom_Double(word Pos_X, word Pos_Y, ) { - byte* Src = Brosse + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = Brosse + y_offset * Largeur_brosse + x_offset; int y=Pos_Y*ZOOMY; //Pour chaque ligne à zoomer : @@ -462,11 +462,11 @@ void Display_brush_Mono_zoom_Double(word Pos_X, word Pos_Y, } } -void Clear_brush_zoom_Double(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,__attribute__((unused)) byte Couleur_de_transparence,word Largeur_image,byte * Buffer) +void Clear_brush_zoom_Double(word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,__attribute__((unused)) byte Couleur_de_transparence,word Largeur_image,byte * Buffer) { // En fait on va recopier l'image non zoomée dans la partie zoomée ! - byte* Src = Principal_Ecran + Decalage_Y * Largeur_image + Decalage_X; + byte* Src = Principal_Ecran + y_offset * Largeur_image + x_offset; int y = Pos_Y; int bx; diff --git a/pxdouble.h b/pxdouble.h index be58fea3..09472444 100644 --- a/pxdouble.h +++ b/pxdouble.h @@ -28,17 +28,17 @@ void Pixel_Preview_Loupe_Double (word X,word Y,byte Couleur); void Ligne_horizontale_XOR_Double (word Pos_X,word Pos_Y,word Largeur); void Ligne_verticale_XOR_Double (word Pos_X,word Pos_Y,word Hauteur); - void Display_brush_Color_Double (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); - void Display_brush_Mono_Double (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse); - void Clear_brush_Double (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image); + void Display_brush_Color_Double (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); + void Display_brush_Mono_Double (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse); + void Clear_brush_Double (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image); void Remap_screen_Double (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion); void Afficher_partie_de_l_ecran_Double (word Largeur,word Hauteur,word Largeur_image); void Afficher_une_ligne_ecran_Double (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); void Lire_une_ligne_ecran_Double (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); void Afficher_partie_de_l_ecran_zoomee_Double(word Largeur,word Hauteur,word Largeur_image,byte * Buffer); - void Display_brush_Color_zoom_Double (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer); - void Display_brush_Mono_zoom_Double (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer); - void Clear_brush_zoom_Double (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer); - void Affiche_brosse_Double (byte * brush, word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); + void Display_brush_Color_zoom_Double (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer); + void Display_brush_Mono_zoom_Double (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer); + void Clear_brush_zoom_Double (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer); + void Affiche_brosse_Double (byte * brush, word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); void Afficher_une_ligne_ecran_fast_Double (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); diff --git a/pxsimple.c b/pxsimple.c index 279f2632..eaa32f1d 100644 --- a/pxsimple.c +++ b/pxsimple.c @@ -130,12 +130,12 @@ void Ligne_verticale_XOR_Simple(word Pos_X,word Pos_Y,word Hauteur) } } -void Display_brush_Color_Simple(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) +void Display_brush_Color_Simple(word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) { // Dest = Position à l'écran byte* Dest = Ecran + Pos_Y * Largeur_ecran + Pos_X; // Src = Position dans la brosse - byte* Src = Brosse + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = Brosse + y_offset * Largeur_brosse + x_offset; word x,y; @@ -163,13 +163,13 @@ void Display_brush_Color_Simple(word Pos_X,word Pos_Y,word Decalage_X,word Decal } void Display_brush_Mono_Simple(word Pos_X, word Pos_Y, - word Decalage_X, word Decalage_Y, word Largeur, word Hauteur, + word x_offset, word y_offset, word Largeur, word Hauteur, byte Couleur_de_transparence, byte Couleur, word Largeur_brosse) /* On affiche la brosse en monochrome */ { byte* Dest=Pos_Y*Largeur_ecran+Pos_X+Ecran; // Dest = adr Destination à // l'écran - byte* Src=Largeur_brosse*Decalage_Y+Decalage_X+Brosse; // Src = adr ds + byte* Src=Largeur_brosse*y_offset+x_offset+Brosse; // Src = adr ds // la brosse int x,y; @@ -194,7 +194,7 @@ void Display_brush_Mono_Simple(word Pos_X, word Pos_Y, UpdateRect(Pos_X,Pos_Y,Largeur,Hauteur); } -void Clear_brush_Simple(word Pos_X,word Pos_Y,__attribute__((unused)) word Decalage_X,__attribute__((unused)) word Decalage_Y,word Largeur,word Hauteur,__attribute__((unused))byte Couleur_de_transparence,word Largeur_image) +void Clear_brush_Simple(word Pos_X,word Pos_Y,__attribute__((unused)) word x_offset,__attribute__((unused)) word y_offset,word Largeur,word Hauteur,__attribute__((unused))byte Couleur_de_transparence,word Largeur_image) { byte* Dest=Ecran+Pos_X+Pos_Y*Largeur_ecran; //On va se mettre en 0,0 dans l'écran (Dest) byte* Src = ( Pos_Y + Principal_Decalage_Y ) * Largeur_image + Pos_X + Principal_Decalage_X + Principal_Ecran; //Coords de départ ds la source (Src) @@ -214,12 +214,12 @@ void Clear_brush_Simple(word Pos_X,word Pos_Y,__attribute__((unused)) word Decal } // Affiche une brosse (arbitraire) à l'écran -void Affiche_brosse_Simple(byte * brush, word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) +void Affiche_brosse_Simple(byte * brush, word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) { // Dest = Position à l'écran byte* Dest = Ecran + Pos_Y * Largeur_ecran + Pos_X; // Src = Position dans la brosse - byte* Src = brush + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = brush + y_offset * Largeur_brosse + x_offset; word x,y; @@ -303,7 +303,7 @@ void Afficher_partie_de_l_ecran_zoomee_Simple( { byte* Src = Principal_Ecran + Loupe_Decalage_Y * Largeur_image + Loupe_Decalage_X; - int EDX = 0; // Ligne en cours de traitement + int y = 0; // Ligne en cours de traitement // Pour chaque ligne à zoomer while(1) @@ -318,12 +318,12 @@ void Afficher_partie_de_l_ecran_zoomee_Simple( do{ // On affiche la ligne zoomée Afficher_une_ligne_ecran_Simple( - Principal_X_Zoom, EDX, Largeur*Loupe_Facteur, + Principal_X_Zoom, y, Largeur*Loupe_Facteur, Buffer ); // On passe à la suivante - EDX++; - if(EDX==Hauteur) + y++; + if(y==Hauteur) { UpdateRect(Principal_X_Zoom,0, Largeur*Loupe_Facteur,Hauteur); @@ -355,13 +355,13 @@ void Afficher_une_ligne_transparente_a_l_ecran_Simple(word Pos_X,word Pos_Y,word // Affiche une partie de la brosse couleur zoomée void Display_brush_Color_zoom_Simple(word Pos_X,word Pos_Y, - word Decalage_X,word Decalage_Y, + word x_offset,word y_offset, word Largeur, // Largeur non zoomée word Pos_Y_Fin,byte Couleur_de_transparence, word Largeur_brosse, // Largeur réelle de la brosse byte * Buffer) { - byte* Src = Brosse+Decalage_Y*Largeur_brosse + Decalage_X; + byte* Src = Brosse+y_offset*Largeur_brosse + x_offset; word y = Pos_Y; byte bx; @@ -385,7 +385,7 @@ void Display_brush_Color_zoom_Simple(word Pos_X,word Pos_Y, } void Display_brush_Mono_zoom_Simple(word Pos_X, word Pos_Y, - word Decalage_X, word Decalage_Y, + word x_offset, word y_offset, word Largeur, // Largeur non zoomée word Pos_Y_Fin, byte Couleur_de_transparence, byte Couleur, @@ -394,7 +394,7 @@ void Display_brush_Mono_zoom_Simple(word Pos_X, word Pos_Y, ) { - byte* Src = Brosse + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = Brosse + y_offset * Largeur_brosse + x_offset; int y=Pos_Y; //Pour chaque ligne à zoomer : @@ -435,10 +435,10 @@ void Display_brush_Mono_zoom_Simple(word Pos_X, word Pos_Y, } } -void Clear_brush_zoom_Simple(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,__attribute__((unused)) byte Couleur_de_transparence,word Largeur_image,byte * Buffer) +void Clear_brush_zoom_Simple(word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,__attribute__((unused)) byte Couleur_de_transparence,word Largeur_image,byte * Buffer) { // En fait on va recopier l'image non zoomée dans la partie zoomée ! - byte* Src = Principal_Ecran + Decalage_Y * Largeur_image + Decalage_X; + byte* Src = Principal_Ecran + y_offset * Largeur_image + x_offset; int y = Pos_Y; int bx; diff --git a/pxsimple.h b/pxsimple.h index 7a6195f3..553767da 100644 --- a/pxsimple.h +++ b/pxsimple.h @@ -28,18 +28,18 @@ void Pixel_Preview_Loupe_Simple (word X,word Y,byte Couleur); void Ligne_horizontale_XOR_Simple (word Pos_X,word Pos_Y,word Largeur); void Ligne_verticale_XOR_Simple (word Pos_X,word Pos_Y,word Hauteur); - void Display_brush_Color_Simple (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); - void Display_brush_Mono_Simple (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse); - void Clear_brush_Simple (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image); + void Display_brush_Color_Simple (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); + void Display_brush_Mono_Simple (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse); + void Clear_brush_Simple (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image); void Remap_screen_Simple (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion); void Afficher_partie_de_l_ecran_Simple (word Largeur,word Hauteur,word Largeur_image); void Afficher_une_ligne_ecran_Simple (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); void Lire_une_ligne_ecran_Simple (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); void Afficher_partie_de_l_ecran_zoomee_Simple(word Largeur,word Hauteur,word Largeur_image,byte * Buffer); - void Display_brush_Color_zoom_Simple (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer); - void Display_brush_Mono_zoom_Simple (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer); - void Clear_brush_zoom_Simple (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer); - void Affiche_brosse_Simple (byte * brush, word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); + void Display_brush_Color_zoom_Simple (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer); + void Display_brush_Mono_zoom_Simple (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer); + void Clear_brush_zoom_Simple (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer); + void Affiche_brosse_Simple (byte * brush, word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); void Afficher_une_ligne_transparente_mono_a_l_ecran_Simple( word Pos_X, word Pos_Y, word Largeur, byte* Ligne, diff --git a/pxtall.c b/pxtall.c index eeb02659..b8c477bb 100644 --- a/pxtall.c +++ b/pxtall.c @@ -138,12 +138,12 @@ void Ligne_verticale_XOR_Tall(word Pos_X,word Pos_Y,word Hauteur) } } -void Display_brush_Color_Tall(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) +void Display_brush_Color_Tall(word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) { // Dest = Position à l'écran byte* Dest = Ecran + Pos_Y * 2 * Largeur_ecran + Pos_X; // Src = Position dans la brosse - byte* Src = Brosse + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = Brosse + y_offset * Largeur_brosse + x_offset; word x,y; @@ -172,13 +172,13 @@ void Display_brush_Color_Tall(word Pos_X,word Pos_Y,word Decalage_X,word Decalag } void Display_brush_Mono_Tall(word Pos_X, word Pos_Y, - word Decalage_X, word Decalage_Y, word Largeur, word Hauteur, + word x_offset, word y_offset, word Largeur, word Hauteur, byte Couleur_de_transparence, byte Couleur, word Largeur_brosse) /* On affiche la brosse en monochrome */ { byte* Dest=Pos_Y*2*Largeur_ecran+Pos_X+Ecran; // Dest = adr Destination à // l'écran - byte* Src=Largeur_brosse*Decalage_Y+Decalage_X+Brosse; // Src = adr ds + byte* Src=Largeur_brosse*y_offset+x_offset+Brosse; // Src = adr ds // la brosse int x,y; @@ -206,7 +206,7 @@ void Display_brush_Mono_Tall(word Pos_X, word Pos_Y, UpdateRect(Pos_X,Pos_Y,Largeur,Hauteur); } -void Clear_brush_Tall(word Pos_X,word Pos_Y,__attribute__((unused)) word Decalage_X,__attribute__((unused)) word Decalage_Y,word Largeur,word Hauteur,__attribute__((unused))byte Couleur_de_transparence,word Largeur_image) +void Clear_brush_Tall(word Pos_X,word Pos_Y,__attribute__((unused)) word x_offset,__attribute__((unused)) word y_offset,word Largeur,word Hauteur,__attribute__((unused))byte Couleur_de_transparence,word Largeur_image) { byte* Dest=Ecran+Pos_X+Pos_Y*2*Largeur_ecran; //On va se mettre en 0,0 dans l'écran (Dest) byte* Src = ( Pos_Y + Principal_Decalage_Y ) * Largeur_image + Pos_X + Principal_Decalage_X + Principal_Ecran; //Coords de départ ds la source (Src) @@ -228,12 +228,12 @@ void Clear_brush_Tall(word Pos_X,word Pos_Y,__attribute__((unused)) word Decalag } // Affiche une brosse (arbitraire) à l'écran -void Affiche_brosse_Tall(byte * brush, word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) +void Affiche_brosse_Tall(byte * brush, word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) { // Dest = Position à l'écran byte* Dest = Ecran + Pos_Y * 2 * Largeur_ecran + Pos_X; // Src = Position dans la brosse - byte* Src = brush + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = brush + y_offset * Largeur_brosse + x_offset; word x,y; @@ -301,7 +301,7 @@ void Afficher_partie_de_l_ecran_zoomee_Tall( { byte* Src = Principal_Ecran + Loupe_Decalage_Y * Largeur_image + Loupe_Decalage_X; - int EDX = 0; // Ligne en cours de traitement + int y = 0; // Ligne en cours de traitement // Pour chaque ligne à zoomer while(1) @@ -316,12 +316,12 @@ void Afficher_partie_de_l_ecran_zoomee_Tall( do{ // On affiche la ligne zoomée Afficher_une_ligne_ecran_Simple( - Principal_X_Zoom, EDX, Largeur*Loupe_Facteur, + Principal_X_Zoom, y, Largeur*Loupe_Facteur, Buffer ); // On passe à la suivante - EDX++; - if(EDX==Hauteur*2) + y++; + if(y==Hauteur*2) { UpdateRect(Principal_X_Zoom,0, Largeur*Loupe_Facteur,Hauteur); @@ -336,13 +336,13 @@ void Afficher_partie_de_l_ecran_zoomee_Tall( // Affiche une partie de la brosse couleur zoomée void Display_brush_Color_zoom_Tall(word Pos_X,word Pos_Y, - word Decalage_X,word Decalage_Y, + word x_offset,word y_offset, word Largeur, // Largeur non zoomée word Pos_Y_Fin,byte Couleur_de_transparence, word Largeur_brosse, // Largeur réelle de la brosse byte * Buffer) { - byte* Src = Brosse+Decalage_Y*Largeur_brosse + Decalage_X; + byte* Src = Brosse+y_offset*Largeur_brosse + x_offset; word y = Pos_Y; byte bx; @@ -367,7 +367,7 @@ void Display_brush_Color_zoom_Tall(word Pos_X,word Pos_Y, } void Display_brush_Mono_zoom_Tall(word Pos_X, word Pos_Y, - word Decalage_X, word Decalage_Y, + word x_offset, word y_offset, word Largeur, // Largeur non zoomée word Pos_Y_Fin, byte Couleur_de_transparence, byte Couleur, @@ -376,7 +376,7 @@ void Display_brush_Mono_zoom_Tall(word Pos_X, word Pos_Y, ) { - byte* Src = Brosse + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = Brosse + y_offset * Largeur_brosse + x_offset; int y=Pos_Y*2; //Pour chaque ligne à zoomer : @@ -417,10 +417,10 @@ void Display_brush_Mono_zoom_Tall(word Pos_X, word Pos_Y, } } -void Clear_brush_zoom_Tall(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,__attribute__((unused)) byte Couleur_de_transparence,word Largeur_image,byte * Buffer) +void Clear_brush_zoom_Tall(word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,__attribute__((unused)) byte Couleur_de_transparence,word Largeur_image,byte * Buffer) { // En fait on va recopier l'image non zoomée dans la partie zoomée ! - byte* Src = Principal_Ecran + Decalage_Y * Largeur_image + Decalage_X; + byte* Src = Principal_Ecran + y_offset * Largeur_image + x_offset; int y = Pos_Y; int bx; diff --git a/pxtall.h b/pxtall.h index d9d64e1c..4b0165b1 100644 --- a/pxtall.h +++ b/pxtall.h @@ -28,15 +28,15 @@ void Pixel_Preview_Loupe_Tall (word X,word Y,byte Couleur); void Ligne_horizontale_XOR_Tall (word Pos_X,word Pos_Y,word Largeur); void Ligne_verticale_XOR_Tall (word Pos_X,word Pos_Y,word Hauteur); - void Display_brush_Color_Tall (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); - void Display_brush_Mono_Tall (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse); - void Clear_brush_Tall (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image); + void Display_brush_Color_Tall (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); + void Display_brush_Mono_Tall (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse); + void Clear_brush_Tall (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image); void Remap_screen_Tall (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion); void Afficher_partie_de_l_ecran_Tall (word Largeur,word Hauteur,word Largeur_image); void Afficher_une_ligne_ecran_Tall (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); void Lire_une_ligne_ecran_Tall (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); void Afficher_partie_de_l_ecran_zoomee_Tall(word Largeur,word Hauteur,word Largeur_image,byte * Buffer); - void Display_brush_Color_zoom_Tall (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer); - void Display_brush_Mono_zoom_Tall (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer); - void Clear_brush_zoom_Tall (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer); - void Affiche_brosse_Tall (byte * brush, word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); + void Display_brush_Color_zoom_Tall (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer); + void Display_brush_Mono_zoom_Tall (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer); + void Clear_brush_zoom_Tall (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer); + void Affiche_brosse_Tall (byte * brush, word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); diff --git a/pxwide.c b/pxwide.c index 3a51f182..77324e3a 100644 --- a/pxwide.c +++ b/pxwide.c @@ -140,12 +140,12 @@ void Ligne_verticale_XOR_Wide(word Pos_X,word Pos_Y,word Hauteur) } } -void Display_brush_Color_Wide(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) +void Display_brush_Color_Wide(word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) { // Dest = Position à l'écran byte* Dest = Ecran + Pos_Y * 2 * Largeur_ecran + Pos_X * 2; // Src = Position dans la brosse - byte* Src = Brosse + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = Brosse + y_offset * Largeur_brosse + x_offset; word x,y; @@ -174,13 +174,13 @@ void Display_brush_Color_Wide(word Pos_X,word Pos_Y,word Decalage_X,word Decalag } void Display_brush_Mono_Wide(word Pos_X, word Pos_Y, - word Decalage_X, word Decalage_Y, word Largeur, word Hauteur, + word x_offset, word y_offset, word Largeur, word Hauteur, byte Couleur_de_transparence, byte Couleur, word Largeur_brosse) /* On affiche la brosse en monochrome */ { byte* Dest=Pos_Y*2*Largeur_ecran+Pos_X*2+Ecran; // Dest = adr Destination à // l'écran - byte* Src=Largeur_brosse*Decalage_Y+Decalage_X+Brosse; // Src = adr ds + byte* Src=Largeur_brosse*y_offset+x_offset+Brosse; // Src = adr ds // la brosse int x,y; @@ -205,7 +205,7 @@ void Display_brush_Mono_Wide(word Pos_X, word Pos_Y, UpdateRect(Pos_X,Pos_Y,Largeur,Hauteur); } -void Clear_brush_Wide(word Pos_X,word Pos_Y,__attribute__((unused)) word Decalage_X,__attribute__((unused)) word Decalage_Y,word Largeur,word Hauteur,__attribute__((unused))byte Couleur_de_transparence,word Largeur_image) +void Clear_brush_Wide(word Pos_X,word Pos_Y,__attribute__((unused)) word x_offset,__attribute__((unused)) word y_offset,word Largeur,word Hauteur,__attribute__((unused))byte Couleur_de_transparence,word Largeur_image) { byte* Dest=Ecran+Pos_X*2+Pos_Y*2*Largeur_ecran; //On va se mettre en 0,0 dans l'écran (Dest) byte* Src = ( Pos_Y + Principal_Decalage_Y ) * Largeur_image + Pos_X + Principal_Decalage_X + Principal_Ecran; //Coords de départ ds la source (Src) @@ -233,12 +233,12 @@ void Clear_brush_Wide(word Pos_X,word Pos_Y,__attribute__((unused)) word Decalag } // Affiche une brosse (arbitraire) à l'écran -void Affiche_brosse_Wide(byte * brush, word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) +void Affiche_brosse_Wide(byte * brush, word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse) { // Dest = Position à l'écran byte* Dest = Ecran + Pos_Y * 2 * Largeur_ecran + Pos_X * 2; // Src = Position dans la brosse - byte* Src = brush + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = brush + y_offset * Largeur_brosse + x_offset; word x,y; @@ -341,7 +341,7 @@ void Afficher_partie_de_l_ecran_zoomee_Wide( { byte* Src = Principal_Ecran + Loupe_Decalage_Y * Largeur_image + Loupe_Decalage_X; - int EDX = 0; // Ligne en cours de traitement + int y = 0; // Ligne en cours de traitement // Pour chaque ligne à zoomer while(1) @@ -356,12 +356,12 @@ void Afficher_partie_de_l_ecran_zoomee_Wide( do{ // On affiche la ligne zoomée Afficher_une_ligne_ecran_fast_Wide( - Principal_X_Zoom, EDX, Largeur*Loupe_Facteur, + Principal_X_Zoom, y, Largeur*Loupe_Facteur, Buffer ); // On passe à la suivante - EDX++; - if(EDX==Hauteur) + y++; + if(y==Hauteur) { UpdateRect(Principal_X_Zoom,0, Largeur*Loupe_Facteur,Hauteur); @@ -396,13 +396,13 @@ void Afficher_une_ligne_transparente_a_l_ecran_Wide(word Pos_X,word Pos_Y,word L // Affiche une partie de la brosse couleur zoomée void Display_brush_Color_zoom_Wide(word Pos_X,word Pos_Y, - word Decalage_X,word Decalage_Y, + word x_offset,word y_offset, word Largeur, // Largeur non zoomée word Pos_Y_Fin,byte Couleur_de_transparence, word Largeur_brosse, // Largeur réelle de la brosse byte * Buffer) { - byte* Src = Brosse+Decalage_Y*Largeur_brosse + Decalage_X; + byte* Src = Brosse+y_offset*Largeur_brosse + x_offset; word y = Pos_Y; byte bx; @@ -426,7 +426,7 @@ void Display_brush_Color_zoom_Wide(word Pos_X,word Pos_Y, } void Display_brush_Mono_zoom_Wide(word Pos_X, word Pos_Y, - word Decalage_X, word Decalage_Y, + word x_offset, word y_offset, word Largeur, // Largeur non zoomée word Pos_Y_Fin, byte Couleur_de_transparence, byte Couleur, @@ -435,7 +435,7 @@ void Display_brush_Mono_zoom_Wide(word Pos_X, word Pos_Y, ) { - byte* Src = Brosse + Decalage_Y * Largeur_brosse + Decalage_X; + byte* Src = Brosse + y_offset * Largeur_brosse + x_offset; int y=Pos_Y; //Pour chaque ligne à zoomer : @@ -476,10 +476,10 @@ void Display_brush_Mono_zoom_Wide(word Pos_X, word Pos_Y, } } -void Clear_brush_zoom_Wide(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,__attribute__((unused)) byte Couleur_de_transparence,word Largeur_image,byte * Buffer) +void Clear_brush_zoom_Wide(word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,__attribute__((unused)) byte Couleur_de_transparence,word Largeur_image,byte * Buffer) { // En fait on va recopier l'image non zoomée dans la partie zoomée ! - byte* Src = Principal_Ecran + Decalage_Y * Largeur_image + Decalage_X; + byte* Src = Principal_Ecran + y_offset * Largeur_image + x_offset; int y = Pos_Y; int bx; diff --git a/pxwide.h b/pxwide.h index c1981559..a9283b8a 100644 --- a/pxwide.h +++ b/pxwide.h @@ -28,18 +28,18 @@ void Pixel_Preview_Loupe_Wide (word X,word Y,byte Couleur); void Ligne_horizontale_XOR_Wide (word Pos_X,word Pos_Y,word Largeur); void Ligne_verticale_XOR_Wide (word Pos_X,word Pos_Y,word Hauteur); - void Display_brush_Color_Wide (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); - void Display_brush_Mono_Wide (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse); - void Clear_brush_Wide (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image); + void Display_brush_Color_Wide (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); + void Display_brush_Mono_Wide (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse); + void Clear_brush_Wide (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image); void Remap_screen_Wide (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion); void Afficher_partie_de_l_ecran_Wide (word Largeur,word Hauteur,word Largeur_image); void Afficher_une_ligne_ecran_Wide (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); void Lire_une_ligne_ecran_Wide (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); void Afficher_partie_de_l_ecran_zoomee_Wide(word Largeur,word Hauteur,word Largeur_image,byte * Buffer); - void Display_brush_Color_zoom_Wide (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer); - void Display_brush_Mono_zoom_Wide (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer); - void Clear_brush_zoom_Wide (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer); - void Affiche_brosse_Wide (byte * brush, word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); + void Display_brush_Color_zoom_Wide (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer); + void Display_brush_Mono_zoom_Wide (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer); + void Clear_brush_zoom_Wide (word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer); + void Affiche_brosse_Wide (byte * brush, word Pos_X,word Pos_Y,word x_offset,word y_offset,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse); void Afficher_une_ligne_ecran_fast_Wide (word Pos_X,word Pos_Y,word Largeur,byte * Ligne); void Afficher_une_ligne_transparente_a_l_ecran_Wide(word Pos_X,word Pos_Y,word Largeur,byte* Ligne,byte Couleur_transparence); diff --git a/saveini.c b/saveini.c index 39abb535..c65456a1 100644 --- a/saveini.c +++ b/saveini.c @@ -102,7 +102,7 @@ int Sauver_INI_char_in_value_alphabet(char Char) -void Sauver_INI_Set_value(char * Destination,char * Source,int Nb_values_to_set,int * Values,int Litteral) +void Sauver_INI_Set_value(char * dest,char * Source,int Nb_values_to_set,int * Values,int Litteral) { int Indice_destination; int Indice_source; @@ -110,15 +110,15 @@ void Sauver_INI_Set_value(char * Destination,char * Source,int Nb_values_to_set, // On commence par recopier tout jusqu'au symbole '=': for (Indice_source=0;Source[Indice_source]!='=';Indice_source++) - Destination[Indice_source]=Source[Indice_source]; + dest[Indice_source]=Source[Indice_source]; // Puis on recopie le symbole '=': - Destination[Indice_source]=Source[Indice_source]; + dest[Indice_source]=Source[Indice_source]; Indice_source++; // Puis on recopie tous les espaces qui suivent: for (;Source[Indice_source]==' ';Indice_source++) - Destination[Indice_source]=Source[Indice_source]; + dest[Indice_source]=Source[Indice_source]; // Pour l'instant, la source et la destination en sont au même point: Indice_destination=Indice_source; @@ -135,14 +135,14 @@ void Sauver_INI_Set_value(char * Destination,char * Source,int Nb_values_to_set, { // La valeur <=> Yes - memcpy(Destination+Indice_destination,"yes",3); + memcpy(dest+Indice_destination,"yes",3); Indice_destination+=3; } else { // La valeur <=> No - memcpy(Destination+Indice_destination,"no",2); + memcpy(dest+Indice_destination,"no",2); Indice_destination+=2; } } @@ -155,18 +155,18 @@ void Sauver_INI_Set_value(char * Destination,char * Source,int Nb_values_to_set, // On va écrire la valeur sous forme hexadécimale: // On commence par inscrire le symbole '$': - Destination[Indice_destination]='$'; + dest[Indice_destination]='$'; // Puis on y concatène la valeur: - sprintf(Destination+Indice_destination+1,"%x",Values[Indice_valeur]); - Indice_destination+=strlen(Destination+Indice_destination); + sprintf(dest+Indice_destination+1,"%x",Values[Indice_valeur]); + Indice_destination+=strlen(dest+Indice_destination); } else { // On va écrire la valeur sous forme décimale: - sprintf(Destination+Indice_destination,"%d",Values[Indice_valeur]); - Indice_destination+=strlen(Destination+Indice_destination); + sprintf(dest+Indice_destination,"%d",Values[Indice_valeur]); + Indice_destination+=strlen(dest+Indice_destination); } } @@ -180,7 +180,7 @@ void Sauver_INI_Set_value(char * Destination,char * Source,int Nb_values_to_set, // On recopie tous les caractères de la source jusqu'au suivant qui // désigne une valeur: for (;(!Sauver_INI_char_in_value_alphabet(Source[Indice_source])) && (Source[Indice_source]!='\0');Indice_source++,Indice_destination++) - Destination[Indice_destination]=Source[Indice_source]; + dest[Indice_destination]=Source[Indice_source]; } else { @@ -188,36 +188,36 @@ void Sauver_INI_Set_value(char * Destination,char * Source,int Nb_values_to_set, // On recopie toute la fin de la ligne: for (;Source[Indice_source]!='\0';Indice_source++,Indice_destination++) - Destination[Indice_destination]=Source[Indice_source]; + dest[Indice_destination]=Source[Indice_source]; // Et on n'oublie pas d'y mettre l''\0': - Destination[Indice_destination]='\0'; + dest[Indice_destination]='\0'; } } } -void Sauver_INI_Set_string(char * Destination,char * Source,char * Value) +void Sauver_INI_Set_string(char * dest,char * Source,char * Value) { int Indice_destination; int Indice_source; // On commence par recopier tout jusqu'au symbole '=': for (Indice_source=0;Source[Indice_source]!='=';Indice_source++) - Destination[Indice_source]=Source[Indice_source]; + dest[Indice_source]=Source[Indice_source]; // Puis on recopie le symbole '=': - Destination[Indice_source]=Source[Indice_source]; + dest[Indice_source]=Source[Indice_source]; Indice_source++; // Puis on recopie tous les espaces qui suivent: for (;Source[Indice_source]==' ';Indice_source++) - Destination[Indice_source]=Source[Indice_source]; + dest[Indice_source]=Source[Indice_source]; // Pour l'instant, la source et la destination en sont au même point: Indice_destination=Indice_source; // Dans la destination, on écrit la valeur: - strcpy(Destination+Indice_destination,Value); + strcpy(dest+Indice_destination,Value); Indice_destination+=strlen(Value); // Dans la source, on saute la valeur: @@ -225,10 +225,10 @@ void Sauver_INI_Set_string(char * Destination,char * Source,char * Value) // On recopie toute la fin de la ligne: for (;Source[Indice_source]!='\0';Indice_source++,Indice_destination++) - Destination[Indice_destination]=Source[Indice_source]; + dest[Indice_destination]=Source[Indice_source]; // Et on n'oublie pas d'y mettre l''\0': - Destination[Indice_destination]='\0'; + dest[Indice_destination]='\0'; } int Sauver_INI_Set_strings(FILE * Old_file,FILE * New_file,char * Buffer,char * Option,char * Value) diff --git a/sdlscreen.c b/sdlscreen.c index 954a7bba..1fd512dc 100644 --- a/sdlscreen.c +++ b/sdlscreen.c @@ -140,7 +140,7 @@ void UpdateRect(short X, short Y, unsigned short Largeur, unsigned short Hauteur // Convertit une SDL_Surface (couleurs indexées ou RGB) en tableau de bytes (couleurs indexées) // Si on passe NULL comme destination, elle est allouée par malloc(). Sinon, // attention aux dimensions! -byte * Surface_en_bytefield(SDL_Surface *Source, byte * Destination) +byte * Surface_en_bytefield(SDL_Surface *Source, byte * dest) { byte *Src; byte *Dst; @@ -156,10 +156,10 @@ byte * Surface_en_bytefield(SDL_Surface *Source, byte * Destination) else Reste=0; - if (Destination==NULL) - Destination=(byte *)malloc(Source->w*Source->h); + if (dest==NULL) + dest=(byte *)malloc(Source->w*Source->h); - Dst=Destination; + Dst=dest; Src=(byte *)(Source->pixels); for(Y=0; Y < Source->h; Y++) { @@ -167,7 +167,7 @@ byte * Surface_en_bytefield(SDL_Surface *Source, byte * Destination) Dst += Source->w; Src += Source->w + Reste; } - return Destination; + return dest; } diff --git a/sdlscreen.h b/sdlscreen.h index 0ed1081f..376f3ec5 100644 --- a/sdlscreen.h +++ b/sdlscreen.h @@ -32,7 +32,7 @@ void UpdateRect(short X, short Y, unsigned short Largeur, unsigned short Hauteur); void Flush_update(void); - byte * Surface_en_bytefield(SDL_Surface *Source, byte * Destination); + byte * Surface_en_bytefield(SDL_Surface *Source, byte * dest); SDL_Color Conversion_couleur_SDL(byte); byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int X, int Y); diff --git a/translat/translations.xls b/translat/translations.xls index 50ba58cb9ec8c195fcdcfd9fef02357a7101e250..c6307c608b41ef00050bdac638fbe9d5fe074d01 100644 GIT binary patch literal 269312 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 literal 268288 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%0A>SDRNumsYq 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 diff --git a/windows.c b/windows.c index 1f021965..d8a19870 100644 --- a/windows.c +++ b/windows.c @@ -1082,14 +1082,14 @@ void Afficher_palette_du_menu_en_evitant_la_fenetre(byte * Table) // Cela permet au bloc de couleur d'apparaitre si on déplace la fenetre. short Pos_X; short Pos_Y; - short Deb_X; // besoin d'une variable signée - short Deb_Y; // besoin d'une variable signée + short relative_x; // besoin d'une variable signée + short relative_y; // besoin d'une variable signée // Attention aux unités - Deb_X = ((short)Debut_X - (short)Fenetre_Pos_X); - Deb_Y = ((short)Debut_Y - (short)Fenetre_Pos_Y); + relative_x = ((short)Debut_X - (short)Fenetre_Pos_X); + relative_y = ((short)Debut_Y - (short)Fenetre_Pos_Y); - for (Pos_Y=Deb_Y;Pos_Y<(Deb_Y+Hauteur)&&Pos_Y=0&&Pos_Y>=0) Pixel_fond(Pos_X,Pos_Y,Vraie_couleur); } @@ -1185,9 +1185,9 @@ void Calculer_coordonnees_pinceau(void) // -- Affichage de la limite de l'image ------------------------------------- void Afficher_limites_de_l_image(void) { - short Debut; + short start; short Pos; - short Fin; + short end; byte Droite_visible; byte Bas_visible; short Ancienne_Limite_Zoom; @@ -1199,22 +1199,22 @@ void Afficher_limites_de_l_image(void) // On vérifie que la limite à droite est visible: if (Droite_visible) { - Debut=Limite_Haut; - Fin=(Limite_Bas