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)
{
short X; // Indices d'affichage d'un caractère
short Y;
short x; // Indices d'affichage d'un caractère
short y;
short Position_X; // Parcours de remplissage du buffer de ligne
short Indice_de_ligne; // 0-15 (16 lignes de textes)
short Indice_de_caractere; // Parcours des caractères d'une ligne
@ -298,7 +298,7 @@ void Afficher_aide(void)
width = width*2;
// Pour chaque ligne dans la fenêtre:
for (Y=0;Y<8;Y++)
for (y=0;y<8;y++)
{
Position_X=0;
// On crée une nouvelle ligne à splotcher
@ -332,10 +332,10 @@ void Afficher_aide(void)
else
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++)
{
byte Couleur = *(char_pixel+X+Y*6);
byte Couleur = *(char_pixel+x+y*6);
byte Repetition = Pixel_width-1;
// Surlignement pour liens
if (TypeLigne=='K' && Indice_de_caractere>=Position_lien
@ -345,7 +345,7 @@ void Afficher_aide(void)
Couleur=CM_Blanc;
else if (Couleur == CM_Fonce)
Couleur=CM_Clair;
else if (Y<7)
else if (y<7)
Couleur=CM_Fonce;
}
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();
Scroller->Position=Position_d_aide_en_cours;
Calculer_hauteur_curseur_jauge(Scroller);
Fenetre_Dessiner_jauge(Scroller);
scroller->Position=Position_d_aide_en_cours;
Calculer_hauteur_curseur_jauge(scroller);
Fenetre_Dessiner_jauge(scroller);
Afficher_aide();
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,)
// 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 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;
}
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;
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);
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
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;
Position_d_aide_en_cours=0;
Nb_lignes=Table_d_aide[Section_d_aide_en_cours].Nombre_de_lignes;
Scroller->Position=0;
Scroller->Nb_elements=Nb_lignes;
Calculer_hauteur_curseur_jauge(Scroller);
Fenetre_Dessiner_jauge(Scroller);
scroller->Position=0;
scroller->Nb_elements=Nb_lignes;
Calculer_hauteur_curseur_jauge(scroller);
Fenetre_Dessiner_jauge(scroller);
}
else
Position_d_aide_en_cours=Fenetre_Attribut2;
@ -511,13 +511,13 @@ void Fenetre_aide(int Section, const char *Sous_section)
case SDLK_UP : // Haut
if (Position_d_aide_en_cours>0)
Position_d_aide_en_cours--;
Scroller_aide(Scroller);
Scroller_aide(scroller);
Touche=0;
break;
case SDLK_DOWN : // Bas
if (Position_d_aide_en_cours<Nb_lignes-16)
Position_d_aide_en_cours++;
Scroller_aide(Scroller);
Scroller_aide(scroller);
Touche=0;
break;
case SDLK_PAGEUP : // PageUp
@ -525,7 +525,7 @@ void Fenetre_aide(int Section, const char *Sous_section)
Position_d_aide_en_cours-=15;
else
Position_d_aide_en_cours=0;
Scroller_aide(Scroller);
Scroller_aide(scroller);
Touche=0;
break;
case (TOUCHE_MOUSEWHEELUP) : // WheelUp
@ -533,7 +533,7 @@ void Fenetre_aide(int Section, const char *Sous_section)
Position_d_aide_en_cours-=3;
else
Position_d_aide_en_cours=0;
Scroller_aide(Scroller);
Scroller_aide(scroller);
Touche=0;
break;
case SDLK_PAGEDOWN : // PageDown
@ -543,7 +543,7 @@ void Fenetre_aide(int Section, const char *Sous_section)
Position_d_aide_en_cours+=15;
else
Position_d_aide_en_cours=Nb_lignes-16;
Scroller_aide(Scroller);
Scroller_aide(scroller);
Touche=0;
}
break;
@ -554,20 +554,20 @@ void Fenetre_aide(int Section, const char *Sous_section)
Position_d_aide_en_cours+=3;
else
Position_d_aide_en_cours=Nb_lignes-16;
Scroller_aide(Scroller);
Scroller_aide(scroller);
Touche=0;
}
break;
case SDLK_HOME : // Home
Position_d_aide_en_cours=0;
Scroller_aide(Scroller);
Scroller_aide(scroller);
Touche=0;
break;
case SDLK_END : // End
if (Nb_lignes>16)
{
Position_d_aide_en_cours=Nb_lignes-16;
Scroller_aide(Scroller);
Scroller_aide(scroller);
Touche=0;
}
break;
@ -591,7 +591,7 @@ void Bouton_Stats(void)
char Buffer[37];
dword Utilisation_couleur[256];
unsigned long long freeRam;
qword Taille = 0;
qword mem_size = 0;
Ouvrir_fenetre(310,174,"Statistics");
@ -636,29 +636,29 @@ void Bouton_Stats(void)
{
ULARGE_INTEGER tailleU;
GetDiskFreeSpaceEx(Principal_Repertoire_courant,&tailleU,NULL,NULL);
Taille = tailleU.QuadPart;
mem_size = tailleU.QuadPart;
}
#elif defined(__linux__) || defined(__macosx__) || defined(__FreeBSD__)
// Note: under MacOSX, both macros are defined anyway.
{
struct statfs 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
// Free disk space is only for shows. Other platforms can display 0.
#warning "Missing code for your platform !!! Check and correct please :)"
Taille=0;
mem_size=0;
#endif
if(Taille > (100ULL*1024*1024*1024))
sprintf(Buffer,"%u Gigabytes",(unsigned int)(Taille/(1024*1024*1024)));
else if(Taille > (100*1024*1024))
sprintf(Buffer,"%u Megabytes",(unsigned int)(Taille/(1024*1024)));
else if(Taille > (100*1024))
sprintf(Buffer,"%u Kilobytes",(unsigned int)(Taille/1024));
if(mem_size > (100ULL*1024*1024*1024))
sprintf(Buffer,"%u Gigabytes",(unsigned int)(mem_size/(1024*1024*1024)));
else if(mem_size > (100*1024*1024))
sprintf(Buffer,"%u Megabytes",(unsigned int)(mem_size/(1024*1024)));
else if(mem_size > (100*1024))
sprintf(Buffer,"%u Kilobytes",(unsigned int)(mem_size/1024));
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);
// 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
@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).
*/
void Fenetre_aide(int Section, const char * Sous_section);
void Fenetre_aide(int section, const char * Sous_section);
#endif

100
boutons.c
View File

@ -54,7 +54,7 @@
#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_MY;
@ -148,7 +148,7 @@ void Message_Memoire_insuffisante(void)
void Bouton_Message_initial(void)
{
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);
Ouvrir_fenetre(260,172,Chaine);
@ -157,9 +157,9 @@ void Bouton_Message_initial(void)
Block(Fenetre_Pos_X+(Menu_Facteur_X*11),
Fenetre_Pos_Y+(Menu_Facteur_Y*21),
Menu_Facteur_X*237,Menu_Facteur_Y*60,CM_Noir);
for (Y=23,Offs_Y=0; Y<79; Offs_Y+=231,Y++)
for (X=14,x_pos=0; x_pos<231; x_pos++,X++)
Pixel_dans_fenetre(X,Y,Logo_GrafX2[Offs_Y+x_pos]);
for (y=23,Offs_Y=0; y<79; Offs_Y+=231,y++)
for (x=14,x_pos=0; x_pos<231; x_pos++,x++)
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*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 ------------------------
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 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) ----------
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;
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( 7,129,78,14,"Cancel",0,1,TOUCHE_ESC); // 5
// On enregistre la table dans un backup au cas où on ferait Cancel
memcpy(Backup_table,Table,256);
memcpy(Backup_table,table,256);
}
else
Fenetre_Definir_bouton_normal(49,129,78,14,"OK" ,0,1,SDLK_RETURN); // 4
// On affiche l'état actuel de la table
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);
Afficher_curseur();
@ -582,14 +582,14 @@ void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * mode, byte can_cance
{
Effacer_curseur();
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);
Afficher_curseur();
Stencil_Actualiser_couleur(Couleur_taggee);
}
break;
case 2 : // Clear
memset(Table,0,256);
memset(table,0,256);
Effacer_curseur();
for (Indice=0; Indice<=255; Indice++)
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
Effacer_curseur();
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();
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();
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_Actualiser_couleur(Couleur_taggee);
Afficher_curseur();
@ -636,7 +636,7 @@ void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * mode, byte can_cance
Fermer_fenetre();
if (Bouton_clicke==5) // Cancel
memcpy(Table,Backup_table,256);
memcpy(table,Backup_table,256);
else // OK
*mode=1;
@ -1278,7 +1278,7 @@ void Afficher_liste_modes(short Debut_liste, short Position_curseur)
short y_pos;
byte Couleur_texte,Couleur_fond;
char Chaine[29];
char *Ratio;
char *ratio;
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);
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)
Ratio=" 16:9";
ratio=" 16:9";
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)
Ratio="192:145";
ratio="192:145";
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)
Ratio=" 5:3";
ratio=" 5:3";
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)
Ratio=" 25:16";
ratio=" 25:16";
else
Ratio=" ";
ratio=" ";
if (Mode_courant == 0)
Ratio=" ";
ratio=" ";
strcat(Chaine,Ratio);
strcat(Chaine,ratio);
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 ------------------------------------------
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;
@ -1784,7 +1784,7 @@ void Degrade_Dessiner_bouton_de_technique(short x_pos,short y_pos,int Technique)
Menu_Facteur_X*5,
Menu_Facteur_Y*10,CM_Blanc);
switch(Technique)
switch(technique)
{
case 1 : // Dégradé de trames simples
// 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)
{
short Bouton_clicke;
short X,Y,i,j;
short x,y,i,j;
byte Matrice_choisie[3][3];
T_Bouton_special * Matrice_Zone_saisie[3][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_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 (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);
@ -4412,12 +4412,12 @@ void Bouton_Smooth_Menu(void)
}
else
{
i=Bouton_clicke-7; X=i%3; Y=i/3;
Num2str(Matrice_choisie[X][Y],Chaine,2);
Readline(Matrice_Zone_saisie[X][Y]->Pos_X+2,
Matrice_Zone_saisie[X][Y]->Pos_Y+2,
i=Bouton_clicke-7; x=i%3; y=i/3;
Num2str(Matrice_choisie[x][y],Chaine,2);
Readline(Matrice_Zone_saisie[x][y]->Pos_X+2,
Matrice_Zone_saisie[x][y]->Pos_Y+2,
Chaine,2,1);
Matrice_choisie[X][Y]=atoi(Chaine);
Matrice_choisie[x][y]=atoi(Chaine);
Afficher_curseur();
}
}
@ -5184,9 +5184,9 @@ void Inverser_trame(void)
}
// 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)
{
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 (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]);
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++)
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);
}
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);
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)
Print_dans_fenetre(X+56,Y,":ON ",CM_Blanc,CM_Clair);
Print_dans_fenetre(x+56,y,":ON ",CM_Blanc,CM_Clair);
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)
@ -5920,12 +5920,12 @@ void Bouton_Effets(void)
}
// 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;
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.
*/
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
// 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));
(*X)=Limite_Gauche;
(*width)-=(Limite_Gauche-(*x));
(*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));
(*Y)=Limite_Haut;
(*height)-=(Limite_Haut-(*y));
(*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
// 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));
(*X)=Limite_Gauche_Zoom;
(*width)-=(Limite_Gauche_Zoom-(*x));
(*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));
(*Y)=Limite_Haut_Zoom;
(*height)-=(Limite_Haut_Zoom-(*y));
(*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) --
void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
// X,Y: position du centre du pinceau
void Afficher_pinceau(short x,short y,byte Couleur,byte is_preview)
// x,y: position du centre du pinceau
// Couleur: couleur à appliquer au pinceau
// 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) )
{
Pixel_Preview(Pinceau_X,Pinceau_Y,Couleur);
Mettre_Ecran_A_Jour(X,Y,1,1);
Mettre_Ecran_A_Jour(x,y,1,1);
}
break;
case FORME_PINCEAU_BROSSE_COULEUR : // Brosse en couleur
Debut_X=X-Brosse_Decalage_X;
Debut_Y=Y-Brosse_Decalage_Y;
Debut_X=x-Brosse_Decalage_X;
Debut_Y=y-Brosse_Decalage_Y;
width=Brosse_Largeur;
height=Brosse_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
if (width<=0 || height<=0)
break;
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y);
Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height;
@ -172,8 +172,8 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
&height
);
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y);
Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
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
@ -267,13 +267,13 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
}
break;
case FORME_PINCEAU_BROSSE_MONOCHROME : // Brosse monochrome
Debut_X=X-Brosse_Decalage_X;
Debut_Y=Y-Brosse_Decalage_Y;
Debut_X=x-Brosse_Decalage_X;
Debut_Y=y-Brosse_Decalage_Y;
width=Brosse_Largeur;
height=Brosse_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y);
Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height;
if (is_preview)
@ -289,8 +289,8 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
if (Loupe_Mode)
{
Calculer_dimensions_clipees_zoom(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y);
Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
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
{
@ -369,13 +369,13 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
}
break;
default : // Pinceau
Debut_X=X-Pinceau_Decalage_X;
Debut_Y=Y-Pinceau_Decalage_Y;
Debut_X=x-Pinceau_Decalage_X;
Debut_Y=y-Pinceau_Decalage_Y;
width=Pinceau_Largeur;
height=Pinceau_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Pinceau_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Pinceau_Decalage_Y);
Debut_Compteur_X=Debut_X-(x-Pinceau_Decalage_X);
Debut_Compteur_Y=Debut_Y-(y-Pinceau_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height;
if (is_preview)
@ -394,8 +394,8 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
if (Loupe_Mode)
{
Calculer_dimensions_clipees_zoom(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Pinceau_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Pinceau_Decalage_Y);
Debut_Compteur_X=Debut_X-(x-Pinceau_Decalage_X);
Debut_Compteur_Y=Debut_Y-(y-Pinceau_Decalage_Y);
if ( (width>0) && (height>0) )
{
@ -476,8 +476,8 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
// -- Effacer le pinceau -- //
//
void Effacer_pinceau(short X,short Y)
// X,Y: position du centre du pinceau
void Effacer_pinceau(short x,short y)
// x,y: position du centre du pinceau
{
short Debut_X; // Position X (dans l'image) à partir de laquelle on
// affiche la brosse/pinceau
@ -515,13 +515,13 @@ void Effacer_pinceau(short X,short Y)
break;
case FORME_PINCEAU_BROSSE_COULEUR : // Brosse en couleur
case FORME_PINCEAU_BROSSE_MONOCHROME : // Brosse monochrome
Debut_X=X-Brosse_Decalage_X;
Debut_Y=Y-Brosse_Decalage_Y;
Debut_X=x-Brosse_Decalage_X;
Debut_Y=y-Brosse_Decalage_Y;
width=Brosse_Largeur;
height=Brosse_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y);
Debut_Compteur_X=Debut_X-(x-Brosse_Decalage_X);
Debut_Compteur_Y=Debut_Y-(y-Brosse_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height;
@ -556,13 +556,13 @@ void Effacer_pinceau(short X,short Y)
}
break;
default: // Pinceau
Debut_X=X-Pinceau_Decalage_X;
Debut_Y=Y-Pinceau_Decalage_Y;
Debut_X=x-Pinceau_Decalage_X;
Debut_Y=y-Pinceau_Decalage_Y;
width=Pinceau_Largeur;
height=Pinceau_Hauteur;
Calculer_dimensions_clipees(&Debut_X,&Debut_Y,&width,&height);
Debut_Compteur_X=Debut_X-(X-Pinceau_Decalage_X);
Debut_Compteur_Y=Debut_Y-(Y-Pinceau_Decalage_Y);
Debut_Compteur_X=Debut_X-(x-Pinceau_Decalage_X);
Debut_Compteur_Y=Debut_Y-(y-Pinceau_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width;
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)
{
int Xmin,/*Xmax,*/Ymin/*,Ymax*/;
int X,Y,Xt,Yt;
int x,y,Xt,Yt;
int Debut_X,Fin_X,Largeur_ligne;
float Temp;
//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));
// 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[1][Y]=INDEFINI;
ScanY_X[0][y]=INDEFINI;
ScanY_X[1][y]=INDEFINI;
}
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(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]);
Fin_X =Round(ScanY_X[1][Y]);
Debut_X=Round(ScanY_X[0][y]);
Fin_X =Round(ScanY_X[1][y]);
Largeur_ligne=1+Fin_X-Debut_X;
for (X=0; X<Debut_X; X++)
Buffer[X+(Y*width)]=Back_color;
for (; X<=Fin_X; X++)
for (x=0; x<Debut_X; x++)
Buffer[x+(y*width)]=Back_color;
for (; x<=Fin_X; x++)
{
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])));
Yt=Round((float)(ScanY_Yt[0][Y])+(Temp*(ScanY_Yt[1][Y]-ScanY_Yt[0][Y])));
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])));
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++)
Buffer[X+(Y*width)]=Back_color;
for (; x<width; x++)
Buffer[x+(y*width)]=Back_color;
}
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 Xmin,Xmax,Ymin,Ymax;
int X,Y,Xt,Yt;
int x,y,Xt,Yt;
int Y_,Ymin_;
int Debut_X,Fin_X,width,height;
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));
// 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[1][Y]=INDEFINI;
ScanY_X[0][y]=INDEFINI;
ScanY_X[1][y]=INDEFINI;
}
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_++)
{
Y=Y_-Ymin_;
Debut_X=Round(ScanY_X[0][Y]);
Fin_X =Round(ScanY_X[1][Y]);
y=Y_-Ymin_;
Debut_X=Round(ScanY_X[0][y]);
Fin_X =Round(ScanY_X[1][y]);
width=1+Fin_X-Debut_X;
if (Debut_X<Limite_Gauche) Debut_X=Limite_Gauche;
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;
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])));
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])));
Yt=Round((float)(ScanY_Yt[0][y])+(Temp*(ScanY_Yt[1][y]-ScanY_Yt[0][y])));
Couleur=Lit_pixel_dans_brosse(Xt,Yt);
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 Retour = 0;
word key_code = 0;
word Mod;
// 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)
// seront codées sur 11 bits, le 12e bit est mis à 1 (0x0800)
if (Sym.sym != 0)
Retour = Sym.sym;
key_code = Sym.sym;
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
@ -348,8 +348,8 @@ word Conversion_Touche(SDL_keysym Sym)
// still name the original modifiers.
Mod=Modificateurs_Touche(SDL_GetModState());
// SDL_GetModState() seems to get the right up-to-date info.
Retour |= Mod;
return Retour;
key_code |= Mod;
return key_code;
}
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;
}
@ -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)
@ -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)
@ -327,9 +327,9 @@ dword Round_div(dword Numerateur,dword 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)
@ -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)
@ -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_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
// 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 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 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;
// 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 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 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 Rouge_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].R;
byte Bleu=Principal_Palette[Couleur].B;
byte Vert=Principal_Palette[Couleur].G;
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);
}
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 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 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 Rouge_dessous=Principal_Palette[*(FX_Feedback_Ecran + y * Principal_Largeur_image + x)].R;
byte Bleu=Principal_Palette[Couleur].B;
byte Vert=Principal_Palette[Couleur].G;
byte Rouge=Principal_Palette[Couleur].R;
@ -600,10 +600,10 @@ void Zoomer_une_ligne(byte* Ligne_originale, byte* Ligne_zoomee,
)
{
byte color;
word X;
word x;
// Pour chaque pixel
for(X=0;X<width;X++){
for(x=0;x<width;x++){
color = *Ligne_originale;
memset(Ligne_zoomee,color,factor);
@ -673,11 +673,11 @@ unsigned long Memoire_libre(void)
// 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;
for (Indice=Taille-1;Indice>=0;Indice--)
for (Indice=nb_char-1;Indice>=0;Indice--)
{
Chaine[Indice]=(number%10)+'0';
number/=10;
@ -685,34 +685,34 @@ void Num2str(dword number,char * Chaine,byte Taille)
for (Indice--;Indice>=0;Indice--)
Chaine[Indice]=' ';
}
Chaine[Taille]='\0';
Chaine[nb_char]='\0';
}
// Transformer une chaîne en un entier naturel (renvoie -1 si ch. invalide)
int Str2num(char * Chaine)
{
int Valeur=0;
int value=0;
for (;*Chaine;Chaine++)
{
if ( (*Chaine>='0') && (*Chaine<='9') )
Valeur=(Valeur*10)+(*Chaine-'0');
value=(value*10)+(*Chaine-'0');
else
return -1;
}
return Valeur;
return value;
}
// 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 ((Valeur-Temp)>= 0.5) Temp++; }
if (value>=0)
{ if ((value-Temp)>= 0.5) Temp++; }
else
{ if ((Valeur-Temp)<=-0.5) Temp--; }
{ if ((value-Temp)<=-0.5) 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_position(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_palette(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);
word Palette_Compter_nb_couleurs_utilisees(dword * Tableau);
void Pixel_dans_ecran_courant (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_brouillon(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_brosse (word X,word Y);
void Pixel_dans_ecran_courant (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_brouillon(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_brosse (word x,word y);
void Ellipse_Calculer_limites(short Rayon_horizontal,short Rayon_vertical);
// 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_toutes_les_couleurs_dans_limites(byte * Table_de_remplacement);
byte Effet_Colorize_interpole (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_Trame(word X,word Y);
byte Effet_Colorize_interpole (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_Trame(word x,word y);
void Flip_Y_LOWLEVEL(void);
void Flip_X_LOWLEVEL(void);
@ -100,11 +100,10 @@ byte Nouvelle_preview; // Bool
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);
short Round(float Valeur);
short Round_max(short Numerateur,short Diviseur);
short Round(float value);
short Round_div_max(short Numerateur,short Diviseur);
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 ------------------
char * Nom_formate(char * fname, int Type)
char * Nom_formate(char * fname, int type)
{
static char Resultat[13];
int c;
@ -110,7 +110,7 @@ char * Nom_formate(char * fname, int Type)
{
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.
strcpy(Resultat," ");
@ -149,7 +149,7 @@ char * Nom_formate(char * fname, int Type)
// -- 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.
{
// 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));
// 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);
Element_temporaire->Type = Type;
Element_temporaire->Type = type;
Element_temporaire->Suivant =Liste_du_fileselect;
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 -------------------------
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
// 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
//
// 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é.
{
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
strcpy(label, Element_courant->NomComplet);
if (Type != NULL)
*Type=Element_courant->Type;
if (type != NULL)
*type=Element_courant->Type;
} // 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])
{
int Taille;
int label_size;
// Libellé
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]);
if (Taille<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);
label_size=strlen(Config.Bookmark_label[Numero_bookmark]);
if (label_size<8)
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
Bouton->Bouton_actif=A_DROITE;
// 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 ------------
void Afficher_la_liste_des_fichiers(short Decalage_premier,short Decalage_select);
// -- 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);
@ -48,7 +48,7 @@ void Select_Home (short * Decalage_premier,short * Decalage_select);
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,
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.
// 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 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
if (width < 0)
{
X += width;
x += width;
width = - width;
}
if (height < 0)
{
Y += height;
y += height;
height = - height;
}
// D'abord on met à jour dans la zone écran normale
Diff = X-Principal_Decalage_X;
Diff = x-Principal_Decalage_X;
if (Diff<0)
{
L_effectif = width + Diff;
@ -78,7 +78,7 @@ void Mettre_Ecran_A_Jour(short X, short Y, short width, short height)
L_effectif = width;
X_effectif = Diff;
}
Diff = Y-Principal_Decalage_Y;
Diff = y-Principal_Decalage_Y;
if (Diff<0)
{
H_effectif = height + Diff;
@ -115,8 +115,8 @@ void Mettre_Ecran_A_Jour(short X, short Y, short width, short height)
if(Loupe_Mode)
{
// Clipping en X
X_effectif = (X-Loupe_Decalage_X)*Loupe_Facteur;
Y_effectif = (Y-Loupe_Decalage_Y)*Loupe_Facteur;
X_effectif = (x-Loupe_Decalage_X)*Loupe_Facteur;
Y_effectif = (y-Loupe_Decalage_Y)*Loupe_Facteur;
L_effectif = width * 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)
{
*Xr=Round(((float)X*cosA)+((float)Y*sinA));
*Yr=Round(((float)Y*cosA)-((float)X*sinA));
*Xr=Round(((float)x*cosA)+((float)y*sinA));
*Yr=Round(((float)y*cosA)-((float)x*sinA));
}
@ -1468,7 +1468,7 @@ void Tracer_courbe_General(short X1, short Y1,
byte Couleur)
{
float delta,t,t2,t3;
short X,Y,Old_X,Old_Y;
short x,y,Old_X,Old_Y;
word i;
int CX[4];
int CY[4];
@ -1492,18 +1492,18 @@ void Tracer_courbe_General(short X1, short Y1,
for (i=1; i<=20; i++)
{
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);
Old_X=X;
Old_Y=Y;
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);
Old_X=x;
Old_Y=y;
}
X = Min(Min(X1,X2),Min(X3,X4));
Y = Min(Min(Y1,Y2),Min(Y3,Y4));
Old_X = Max(Max(X1,X2),Max(X3,X4)) - X;
Old_Y = Max(Max(Y1,Y2),Max(Y3,Y4)) - Y;
Mettre_Ecran_A_Jour(X,Y,Old_X+1,Old_Y+1);
x = Min(Min(X1,X2),Min(X3,X4));
y = Min(Min(Y1,Y2),Min(Y3,Y4));
Old_X = Max(Max(X1,X2),Max(X3,X4)) - x;
Old_Y = Max(Max(Y1,Y2),Max(Y3,Y4)) - y;
Mettre_Ecran_A_Jour(x,y,Old_X+1,Old_Y+1);
}
// -- Tracer une courbe de Bézier définitivement --
@ -1554,7 +1554,7 @@ void Aerographe(short Bouton_clicke)
long Rayon_au_carre=(long)Rayon*Rayon;
short Indice,Count;
byte Indice_couleur;
byte Sens;
byte direction;
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
// 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.
Sens=rand()&1;
direction=rand()&1;
for (Indice=0,Indice_couleur=rand()/*%256*/; Indice<256; Indice++)
{
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);
}
}
if (Sens)
if (direction)
Indice_couleur++;
else
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
// Ne doit à aucune condition être appelée en dehors de la partie visible
// de l'image dans l'écran (ça pourrait être grave)
void Afficher_pixel(word X,word Y,byte Couleur)
// X & Y sont la position d'un point dans l'IMAGE
void Afficher_pixel(word x,word y,byte Couleur)
// x & y sont la position d'un point dans l'IMAGE
// Couleur est la couleur du point
// Le Stencil est géré.
// Les effets sont gérés par appel à Fonction_effet().
// La Loupe est gérée par appel à Pixel_Preview().
{
if ( ( (!Trame_Mode) || (Effet_Trame(X,Y)) )
&& (!((Stencil_Mode) && (Stencil[Lit_pixel_dans_ecran_courant(X,Y)])))
&& (!((Mask_Mode) && (Mask_table[Lit_pixel_dans_ecran_brouillon(X,Y)]))) )
if ( ( (!Trame_Mode) || (Effet_Trame(x,y)) )
&& (!((Stencil_Mode) && (Stencil[Lit_pixel_dans_ecran_courant(x,y)])))
&& (!((Mask_Mode) && (Mask_table[Lit_pixel_dans_ecran_brouillon(x,y)]))) )
{
Couleur=Fonction_effet(X,Y,Couleur);
Pixel_dans_ecran_courant(X,Y,Couleur);
Pixel_Preview(X,Y,Couleur);
Couleur=Fonction_effet(x,y,Couleur);
Pixel_dans_ecran_courant(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 --
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;
}
// -- 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 Sens=(Fore_color<=Back_color);
int c=Couleur=Lit_pixel_dans_ecran_feedback(x,y);
int direction=(Fore_color<=Back_color);
byte start,end;
int width;
if (Sens)
if (direction)
{
start=Fore_color;
end =Back_color;
@ -2401,7 +2401,7 @@ byte Effet_Quick_shade(word X,word Y,byte Couleur)
{
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;
else
c+=Quick_shade_Step%width;
@ -2428,40 +2428,40 @@ byte Effet_Quick_shade(word X,word Y,byte Couleur)
// -- 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,
(Y+Brosse_Hauteur-Tiling_Decalage_Y)%Brosse_Hauteur);
return Lit_pixel_dans_brosse((x+Brosse_Largeur-Tiling_Decalage_X)%Brosse_Largeur,
(y+Brosse_Hauteur-Tiling_Decalage_Y)%Brosse_Hauteur);
}
// -- 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;
byte c;
int Poids,Poids_total;
byte X2=((X+1)<Principal_Largeur_image);
byte Y2=((Y+1)<Principal_Hauteur_image);
byte X2=((x+1)<Principal_Largeur_image);
byte Y2=((y+1)<Principal_Hauteur_image);
// 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];
r=Poids_total*Principal_Palette[c].R;
g=Poids_total*Principal_Palette[c].G;
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]);
r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G;
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]);
r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G;
@ -2469,7 +2469,7 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
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]);
r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G;
@ -2480,15 +2480,15 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
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]);
r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G;
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]);
r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G;
@ -2496,7 +2496,7 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
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]);
r+=Poids*Principal_Palette[c].R;
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]);
r+=Poids*Principal_Palette[c].R;
g+=Poids*Principal_Palette[c].G;
@ -2516,7 +2516,7 @@ byte Effet_Smooth(word X,word Y,__attribute__((unused)) byte Couleur)
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]);
r+=Poids*Principal_Palette[c].R;
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),
Round_div(g,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
} // 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
);
void Transformer_point(short X, short Y,
void Transformer_point(short x, short y,
float cosA, float sinA, short * Xr, short * Yr);
int Initialiser_mode_video(int width, int height, int fullscreen);
byte Aucun_effet(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_Tiling(word X,word Y,byte Couleur);
byte Effet_Smooth(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_Quick_shade(word x,word y,byte Couleur);
byte Effet_Tiling(word x,word y,byte Couleur);
byte Effet_Smooth(word x,word y,byte Couleur);
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 Effacer_pinceau(short X,short Y);
void Afficher_pinceau(short x,short y,byte Couleur,byte is_preview);
void Effacer_pinceau(short x,short y);
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:
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
// 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;
int Y;
Y=*Debut_Y;
int y;
y=*Debut_Y;
*Debut_X=0;
do
{
Couleur=Sdl_Get_pixel_8(gui,*Debut_X,Y);
Couleur=Sdl_Get_pixel_8(gui,*Debut_X,y);
if (Couleur!=Couleur_neutre)
{
*Debut_Y=Y;
*Debut_Y=y;
return;
}
Y++;
} while (Y<gui->h);
y++;
} 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",
*Debut_X, *Debut_Y, Section);
*Debut_X, *Debut_Y, section);
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;
int X;
X=*Debut_X;
int x;
x=*Debut_X;
do
{
Couleur=Sdl_Get_pixel_8(gui,X,Debut_Y);
Couleur=Sdl_Get_pixel_8(gui,x,Debut_Y);
if (Couleur!=Couleur_neutre)
{
*Debut_X=X;
*Debut_X=x;
return;
}
X++;
} while (X<gui->w);
x++;
} 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",
*Debut_X, Debut_Y, Section);
*Debut_X, Debut_Y, section);
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: 1 = mouse cursor, 4 colors allowed + transparent
// Type: 2 = brush icon or sieve pattern (only CM_Blanc and CM_Trans)
// Type: 3 = raw bitmap (splash screen)
// type: 0 = normal GUI element, only 4 colors allowed
// type: 1 = mouse cursor, 4 colors allowed + transparent
// type: 2 = brush icon or sieve pattern (only CM_Blanc and CM_Trans)
// type: 3 = raw bitmap (splash screen)
byte * Ptr=Dest;
int X,Y;
int x,y;
byte Couleur;
// Verification taille
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",
Debut_X, Debut_Y, height, width, Section);
Debut_X, Debut_Y, height, width, section);
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);
if (Type==0 && (Couleur != CM_Noir && Couleur != CM_Fonce && Couleur != CM_Clair && Couleur != CM_Blanc))
Couleur=Sdl_Get_pixel_8(gui,x,y);
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",
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);
}
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",
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);
}
if (Type==2)
if (type==2)
{
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",
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);
}
// 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];
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;
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++;
}
@ -1120,14 +1120,14 @@ void Initialisation_des_operations(void)
{
byte number; // Numéro de l'option 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)
for (number=0;number<NB_OPERATIONS;number++)
for (Bouton=0;Bouton<3;Bouton++)
for (Taille=0;Taille<TAILLE_PILE_OPERATIONS;Taille++)
Initialiser_operation(number,Bouton,Taille,Print_coordonnees,0);
for (stack_index=0;stack_index<TAILLE_PILE_OPERATIONS;stack_index++)
Initialiser_operation(number,Bouton,stack_index,Print_coordonnees,0);
// 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];
long Taille_fichier;
int Indice,Indice2;
Config_Header CFG_Header;
Config_Header cfg_header;
Config_Chunk Chunk;
Config_Infos_touche CFG_Infos_touche;
Config_Mode_video CFG_Mode_video;
@ -1677,48 +1677,48 @@ int Charger_CFG(int Tout_charger)
if ((Handle=fopen(Nom_du_fichier,"rb"))==NULL)
return ERREUR_CFG_ABSENT;
if ( (Taille_fichier<(long)sizeof(CFG_Header))
|| (!read_bytes(Handle, &CFG_Header.Signature, 3))
|| memcmp(CFG_Header.Signature,"CFG",3)
|| (!read_byte(Handle, &CFG_Header.Version1))
|| (!read_byte(Handle, &CFG_Header.Version2))
|| (!read_byte(Handle, &CFG_Header.Beta1))
|| (!read_byte(Handle, &CFG_Header.Beta2)) )
if ( (Taille_fichier<(long)sizeof(cfg_header))
|| (!read_bytes(Handle, &cfg_header.Signature, 3))
|| memcmp(cfg_header.Signature,"CFG",3)
|| (!read_byte(Handle, &cfg_header.Version1))
|| (!read_byte(Handle, &cfg_header.Version2))
|| (!read_byte(Handle, &cfg_header.Beta1))
|| (!read_byte(Handle, &cfg_header.Beta2)) )
goto Erreur_lecture_config;
// Version DOS de Robinson et X-Man
if ( (CFG_Header.Version1== 2)
&& (CFG_Header.Version2== 0)
&& (CFG_Header.Beta1== 96))
if ( (cfg_header.Version1== 2)
&& (cfg_header.Version2== 0)
&& (cfg_header.Beta1== 96))
{
// Les touches (scancodes) sont à convertir)
Conversion_touches = 1;
}
// Version SDL jusqu'a 98%
else if ( (CFG_Header.Version1== 2)
&& (CFG_Header.Version2== 0)
&& (CFG_Header.Beta1== 97))
else if ( (cfg_header.Version1== 2)
&& (cfg_header.Version2== 0)
&& (cfg_header.Beta1== 97))
{
// Les touches 00FF (pas de touche) sont a comprendre comme 0x0000
Conversion_touches = 2;
}
// Version SDL
else if ( (CFG_Header.Version1!=VERSION1)
|| (CFG_Header.Version2!=VERSION2)
|| (CFG_Header.Beta1!=BETA1)
|| (CFG_Header.Beta2!=BETA2) )
else if ( (cfg_header.Version1!=VERSION1)
|| (cfg_header.Version2!=VERSION2)
|| (cfg_header.Beta1!=BETA1)
|| (cfg_header.Beta2!=BETA2) )
goto Erreur_config_ancienne;
// - Lecture des infos contenues dans le fichier de config -
while (read_byte(Handle, &Chunk.Number))
{
read_word_le(Handle, &Chunk.Taille);
read_word_le(Handle, &Chunk.Size);
switch (Chunk.Number)
{
case CHUNK_TOUCHES: // Touches
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) ||
!read_word_le(Handle, &CFG_Infos_touche.Touche) ||
@ -1766,12 +1766,12 @@ int Charger_CFG(int Tout_charger)
}
else
{
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1)
if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config;
}
break;
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) ||
!read_word_le(Handle, &CFG_Mode_video.Width) ||
@ -1818,7 +1818,7 @@ int Charger_CFG(int Tout_charger)
}
else
{
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1)
if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config;
}
break;
@ -1830,7 +1830,7 @@ int Charger_CFG(int Tout_charger)
}
else
{
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1)
if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config;
}
break;
@ -1842,7 +1842,7 @@ int Charger_CFG(int Tout_charger)
}
else
{
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1)
if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config;
}
break;
@ -1864,7 +1864,7 @@ int Charger_CFG(int Tout_charger)
}
else
{
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1)
if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config;
}
break;
@ -1878,7 +1878,7 @@ int Charger_CFG(int Tout_charger)
}
else
{
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1)
if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config;
}
break;
@ -1890,7 +1890,7 @@ int Charger_CFG(int Tout_charger)
}
else
{
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1)
if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config;
}
break;
@ -1904,7 +1904,7 @@ int Charger_CFG(int Tout_charger)
}
else
{
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1)
if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config;
}
break;
@ -1922,7 +1922,7 @@ int Charger_CFG(int Tout_charger)
}
else
{
if (fseek(Handle,Chunk.Taille,SEEK_CUR)==-1)
if (fseek(Handle,Chunk.Size,SEEK_CUR)==-1)
goto Erreur_lecture_config;
}
break;
@ -1952,7 +1952,7 @@ int Sauver_CFG(void)
int Indice2;
int Modes_a_sauver;
char Nom_du_fichier[TAILLE_CHEMIN_FICHIER];
Config_Header CFG_Header;
Config_Header cfg_header;
Config_Chunk Chunk;
Config_Infos_touche CFG_Infos_touche;
Config_Mode_video CFG_Mode_video;
@ -1964,24 +1964,24 @@ int Sauver_CFG(void)
return ERREUR_SAUVEGARDE_CFG;
// Ecriture du header
memcpy(CFG_Header.Signature,"CFG",3);
CFG_Header.Version1=VERSION1;
CFG_Header.Version2=VERSION2;
CFG_Header.Beta1 =BETA1;
CFG_Header.Beta2 =BETA2;
if (!write_bytes(Handle, &CFG_Header.Signature,3) ||
!write_byte(Handle, CFG_Header.Version1) ||
!write_byte(Handle, CFG_Header.Version2) ||
!write_byte(Handle, CFG_Header.Beta1) ||
!write_byte(Handle, CFG_Header.Beta2) )
memcpy(cfg_header.Signature,"CFG",3);
cfg_header.Version1=VERSION1;
cfg_header.Version2=VERSION2;
cfg_header.Beta1 =BETA1;
cfg_header.Beta2 =BETA2;
if (!write_bytes(Handle, &cfg_header.Signature,3) ||
!write_byte(Handle, cfg_header.Version1) ||
!write_byte(Handle, cfg_header.Version2) ||
!write_byte(Handle, cfg_header.Beta1) ||
!write_byte(Handle, cfg_header.Beta2) )
goto Erreur_sauvegarde_config;
// Enregistrement des 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) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
for (Indice=0; Indice<NB_TOUCHES; Indice++)
{
@ -2015,10 +2015,10 @@ int Sauver_CFG(void)
// Sauvegarde de l'état de chaque mode vidéo
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) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
for (Indice=1; Indice<Nb_modes_video; Indice++)
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)
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) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
if (!write_byte(Handle, Shade_Actuel))
goto Erreur_sauvegarde_config;
@ -2055,27 +2055,27 @@ int Sauver_CFG(void)
// Sauvegarde des informations du Masque
Chunk.Number=CHUNK_MASQUE;
Chunk.Taille=sizeof(Mask_table);
Chunk.Size=sizeof(Mask_table);
if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
if (!write_bytes(Handle, Mask_table,256))
goto Erreur_sauvegarde_config;
// Sauvegarde des informations du Stencil
Chunk.Number=CHUNK_STENCIL;
Chunk.Taille=sizeof(Stencil);
Chunk.Size=sizeof(Stencil);
if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
if (!write_bytes(Handle, Stencil,256))
goto Erreur_sauvegarde_config;
// Sauvegarde des informations des dégradés
Chunk.Number=CHUNK_DEGRADES;
Chunk.Taille=sizeof(Degrade_Tableau)+1;
Chunk.Size=sizeof(Degrade_Tableau)+1;
if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
if (!write_byte(Handle, Degrade_Courant))
goto Erreur_sauvegarde_config;
@ -2091,9 +2091,9 @@ int Sauver_CFG(void)
// Sauvegarde de la matrice du Smooth
Chunk.Number=CHUNK_SMOOTH;
Chunk.Taille=sizeof(Smooth_Matrice);
Chunk.Size=sizeof(Smooth_Matrice);
if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
for (Indice=0; Indice<3; Indice++)
for (Indice2=0; Indice2<3; Indice2++)
@ -2102,18 +2102,18 @@ int Sauver_CFG(void)
// Sauvegarde des couleurs à exclure
Chunk.Number=CHUNK_EXCLUDE_COLORS;
Chunk.Taille=sizeof(Exclude_color);
Chunk.Size=sizeof(Exclude_color);
if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
if (!write_bytes(Handle, Exclude_color, 256))
goto Erreur_sauvegarde_config;
// Sauvegarde des informations du 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) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
if (!write_byte(Handle, Quick_shade_Step))
goto Erreur_sauvegarde_config;
@ -2122,9 +2122,9 @@ int Sauver_CFG(void)
// Sauvegarde des informations de la grille
Chunk.Number=CHUNK_GRILLE;
Chunk.Taille=8;
Chunk.Size=8;
if (!write_byte(Handle, Chunk.Number) ||
!write_word_le(Handle, Chunk.Taille) )
!write_word_le(Handle, Chunk.Size) )
goto Erreur_sauvegarde_config;
if (!write_word_le(Handle, Snap_Largeur))
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
int Move_cursor_with_constraints()
{
int Retour=0;
int feedback=0;
//Gestion "avancée" du curseur: interdire la descente du curseur dans le
//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))
{
if ((INPUT_Nouveau_Mouse_K != Mouse_K))
Retour=1;
feedback=1;
Effacer_curseur(); // On efface le curseur AVANT de le déplacer...
Mouse_X=INPUT_Nouveau_Mouse_X;
Mouse_Y=INPUT_Nouveau_Mouse_Y;
@ -146,10 +146,10 @@ int Move_cursor_with_constraints()
Mouse_count++;
if (Mouse_count>Config.Mouse_Merge_movement)
Retour=1;
feedback=1;
}
return Retour;
return feedback;
}
// 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)
int Cursor_displace(short Delta_X, short Delta_Y)
{
short X=INPUT_Nouveau_Mouse_X;
short Y=INPUT_Nouveau_Mouse_Y;
short x=INPUT_Nouveau_Mouse_X;
short y=INPUT_Nouveau_Mouse_Y;
if(Loupe_Mode && INPUT_Nouveau_Mouse_Y < Menu_Ordonnee && INPUT_Nouveau_Mouse_X > Principal_Split)
{
// Cursor in zoomed area
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)
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)
INPUT_Nouveau_Mouse_Y = Max(0, Y-Loupe_Facteur);
INPUT_Nouveau_Mouse_Y = Max(0, y-Loupe_Facteur);
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
{
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)
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)
INPUT_Nouveau_Mouse_Y = Max(0, Y+Delta_Y);
INPUT_Nouveau_Mouse_Y = Max(0, y+Delta_Y);
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();
}

8
io.c
View File

@ -71,15 +71,15 @@ int write_byte(FILE *file, byte b)
}
// Lit des octets
// 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
// 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)

4
io.h
View File

@ -25,8 +25,8 @@ dword endian_magic32(dword x);
int read_byte(FILE *file, byte *Dest);
int write_byte(FILE *file, byte b);
int read_bytes(FILE *file, void *Dest, size_t Taille);
int write_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 size);
int read_word_le(FILE *file, word *Dest);
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 --------------------------
void Fermeture_du_programme(void)
{
int Retour;
int return_code;
// On libère le buffer de gestion de lignes
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
if (Config.Auto_save)
{
Retour=Sauver_CFG();
if (Retour)
Erreur(Retour);
Retour=Sauver_INI(&Config);
if (Retour)
Erreur(Retour);
return_code=Sauver_CFG();
if (return_code)
Erreur(return_code);
return_code=Sauver_INI(&Config);
if (return_code)
Erreur(return_code);
}
}
else

View File

@ -1093,7 +1093,7 @@ void Gestion_principale(void)
//----------------------- 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.
// 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+(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)
{
@ -1235,7 +1235,7 @@ void Fermer_fenetre(void)
//---------------- Dessiner un bouton normal dans une fenêtre ----------------
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;
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;
}
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);
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)
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,
word width, word height,
char * Titre, byte Lettre_soulignee,
char * title, byte Lettre_soulignee,
byte clickable, word Raccourci)
{
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_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;
}
//------ 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,
word width, word height,
char * Titre, byte Lettre_soulignee,
char * title, byte Lettre_soulignee,
byte clickable, word Raccourci)
{
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_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;
}

View File

@ -25,14 +25,14 @@ void Desenclencher_bouton (int btn_number);
void Enclencher_bouton (int btn_number,byte click);
void Annuler_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 Ouvrir_popup (word x_pos, word y_pos, word width, word height);
void Fermer_popup (void);
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_Desenfoncer_bouton_normal(word x_pos,word y_pos,word width,word height);
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,
word width, word height,
char * Titre,byte Lettre_soulignee,
char * title,byte Lettre_soulignee,
byte clickable, word Raccourci);
T_Bouton_normal * Fenetre_Definir_bouton_repetable(word x_pos, word y_pos,
word width, word height,
char * Titre,byte Lettre_soulignee,
char * title,byte Lettre_soulignee,
byte clickable, word Raccourci);
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 * n;
int Taille;
int size;
n=(Table_conversion *)malloc(sizeof(Table_conversion));
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;
// On tente d'allouer la table
Taille=(n->rng_r)*(n->rng_v)*(n->rng_b);
n->table=(byte *)malloc(Taille);
size=(n->rng_r)*(n->rng_v)*(n->rng_b);
n->table=(byte *)malloc(size);
if (n->table!=NULL)
// C'est bon!
memset(n->table,0,Taille); // Inutile, mais plus propre
memset(n->table,0,size); // Inutile, mais plus propre
else
{
// 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)
{
int Taille;
int size;
Taille=(t->rng_r)*(t->rng_v)*(t->rng_b)*sizeof(int);
memset(t->table,0,Taille); // On initialise … 0
size=(t->rng_r)*(t->rng_v)*(t->rng_b)*sizeof(int);
memset(t->table,0,size); // On initialise … 0
}
Table_occurence * TO_New(int nbb_r,int nbb_g,int nbb_b)
{
Table_occurence * n;
int Taille;
int size;
n=(Table_occurence *)malloc(sizeof(Table_occurence));
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;
// On tente d'allouer la table
Taille=(n->rng_r)*(n->rng_v)*(n->rng_b)*sizeof(int);
n->table=(int *)malloc(Taille);
size=(n->rng_r)*(n->rng_v)*(n->rng_b)*sizeof(int);
n->table=(int *)malloc(size);
if (n->table!=0)
// C'est bon! On initialise … 0
TO_Init(n);
@ -328,12 +328,12 @@ void TO_Inc(Table_occurence * t,int r,int g,int b)
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;
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);
}
@ -788,7 +788,7 @@ void CS_Set(ClusterSet * cs,Cluster * c)
// 6) On s'arrête quand on a le nombre de couleurs voulu
void CS_Generer(ClusterSet * cs,Table_occurence * to)
{
Cluster Courant;
Cluster current;
Cluster Nouveau1;
Cluster Nouveau2;
@ -796,10 +796,10 @@ void CS_Generer(ClusterSet * cs,Table_occurence * to)
while (cs->nb<cs->nb_max)
{
// On récupère le plus grand cluster
CS_Get(cs,&Courant);
CS_Get(cs,&current);
// 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)
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_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
TO_Compter_occurences(to,image,Taille);
TO_Compter_occurences(to,image,size);
cs=CS_New(256,to);
if (cs!=0)
@ -1070,18 +1070,18 @@ Table_conversion * Optimiser_palette(Bitmap24B image,int Taille,Composantes * pa
return 0;
}
int Valeur_modifiee(int Valeur,int modif)
int Valeur_modifiee(int value,int modif)
{
Valeur+=modif;
if (Valeur<0)
value+=modif;
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)
@ -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
// bitmap original.
{
Bitmap24B Courant;
Bitmap24B C_plus1;
Bitmap24B S_moins1;
Bitmap24B Suivant;
Bitmap24B S_plus1;
Bitmap24B current;
Bitmap24B c_plus1;
Bitmap24B u_minus1;
Bitmap24B next;
Bitmap24B u_plus1;
Bitmap256 d;
int x_pos,y_pos;
int Rouge,Vert,Bleu;
float ERouge,EVert,EBleu;
// On initialise les variables de parcours:
Courant =Source; // Le pixel dont on s'occupe
Suivant =Courant+width; // Le pixel en dessous
C_plus1 =Courant+1; // Le pixel à droite
S_moins1=Suivant-1; // Le pixel en bas à gauche
S_plus1 =Suivant+1; // Le pixel en bas à droite
current =Source; // Le pixel dont on s'occupe
next =current+width; // Le pixel en dessous
c_plus1 =current+1; // Le pixel à droite
u_minus1=next-1; // Le pixel en bas à gauche
u_plus1 =next+1; // Le pixel en bas à droite
d =Dest;
// 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
// 24 bits de la source:
Rouge=Courant->R;
Vert =Courant->G;
Bleu =Courant->B;
Rouge=current->R;
Vert =current->G;
Bleu =current->B;
// Cherche la couleur correspondant dans la palette et la range dans l'image de destination
*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)
{
// Valeur_modifiee fait la somme des 2 params en bornant sur [0,255]
C_plus1->R=Valeur_modifiee(C_plus1->R,ERouge);
C_plus1->G=Valeur_modifiee(C_plus1->G,EVert );
C_plus1->B=Valeur_modifiee(C_plus1->B,EBleu );
c_plus1->R=Valeur_modifiee(c_plus1->R,ERouge);
c_plus1->G=Valeur_modifiee(c_plus1->G,EVert );
c_plus1->B=Valeur_modifiee(c_plus1->B,EBleu );
}
// En bas à gauche:
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;
if (x_pos>0)
{
S_moins1->R=Valeur_modifiee(S_moins1->R,ERouge);
S_moins1->G=Valeur_modifiee(S_moins1->G,EVert );
S_moins1->B=Valeur_modifiee(S_moins1->B,EBleu );
u_minus1->R=Valeur_modifiee(u_minus1->R,ERouge);
u_minus1->G=Valeur_modifiee(u_minus1->G,EVert );
u_minus1->B=Valeur_modifiee(u_minus1->B,EBleu );
}
// En bas:
ERouge=(Rouge*5/16.0);
EVert =(Vert*5 /16.0);
EBleu =(Bleu*5 /16.0);
Suivant->R=Valeur_modifiee(Suivant->R,ERouge);
Suivant->G=Valeur_modifiee(Suivant->G,EVert );
Suivant->B=Valeur_modifiee(Suivant->B,EBleu );
next->R=Valeur_modifiee(next->R,ERouge);
next->G=Valeur_modifiee(next->G,EVert );
next->B=Valeur_modifiee(next->B,EBleu );
// En bas à droite:
if (x_pos+1<width)
{
ERouge=(Rouge/16.0);
EVert =(Vert /16.0);
EBleu =(Bleu /16.0);
S_plus1->R=Valeur_modifiee(S_plus1->R,ERouge);
S_plus1->G=Valeur_modifiee(S_plus1->G,EVert );
S_plus1->B=Valeur_modifiee(S_plus1->B,EBleu );
u_plus1->R=Valeur_modifiee(u_plus1->R,ERouge);
u_plus1->G=Valeur_modifiee(u_plus1->G,EVert );
u_plus1->B=Valeur_modifiee(u_plus1->B,EBleu );
}
}
// On passe au pixel suivant :
Courant++;
C_plus1++;
S_moins1++;
Suivant++;
S_plus1++;
current++;
c_plus1++;
u_minus1++;
next++;
u_plus1++;
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);
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_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 height;
short Etat_prec;
short dx,dy,X,Y;
short dx,dy,x,y;
Operation_POP(&Etat_prec);
Operation_POP(&Ancien_Y);
@ -3217,15 +3217,15 @@ void Etirer_brosse_1_7(void)
Afficher_ecran();
X=Pinceau_X;
Y=Pinceau_Y;
x=Pinceau_X;
y=Pinceau_Y;
if (Snap_Mode && Config.Adjust_brush_pick)
{
dx=Pinceau_X-Debut_X;
dy=Pinceau_Y-Debut_Y;
if (dx<0) X++; else {if (dx>0) X--;}
if (dy<0) Y++; else {if (dy>0) Y--;}
Etirer_brosse_preview(Debut_X,Debut_Y,X,Y);
if (dx<0) x++; else {if (dx>0) x--;}
if (dy<0) y++; else {if (dy>0) y--;}
Etirer_brosse_preview(Debut_X,Debut_Y,x,y);
}
else
Etirer_brosse_preview(Debut_X,Debut_Y,Pinceau_X,Pinceau_Y);
@ -3240,8 +3240,8 @@ void Etirer_brosse_1_7(void)
Afficher_curseur();
Operation_Taille_pile-=2;
Operation_PUSH(X);
Operation_PUSH(Y);
Operation_PUSH(x);
Operation_PUSH(y);
Operation_PUSH(Debut_X);
Operation_PUSH(Debut_Y);

View File

@ -19,8 +19,8 @@
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
void Demarrer_pile_operation(word Operation_demandee);
void Operation_PUSH(short Valeur);
void Operation_POP(short * Valeur);
void Operation_PUSH(short value);
void Operation_POP(short * value);
//////////////////////////////////////////////////// OPERATION_DESSIN_CONTINU
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;
}
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
// 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); */
// 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
if (list->Pages==NULL)
@ -312,9 +312,9 @@ int Allouer_une_liste_de_pages(S_Liste_de_pages * list,int Taille)
else
{
// On initialise chacune des nouvelles pages
for (Indice=0;Indice<Taille;Indice++)
for (Indice=0;Indice<size;Indice++)
Initialiser_S_Page(list->Pages+Indice);
list->Taille_liste=Taille;
list->Taille_liste=size;
list->Nb_pages_allouees=0;
return 1; // Succès
@ -659,17 +659,17 @@ void Detruire_la_page_courante_d_une_liste(S_Liste_de_pages * list)
/// 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).
// width et height correspondent à la dimension des images de départ.
S_Page * Page;
int Retour=0;
int return_code=0;
if (Allouer_une_liste_de_pages(Principal_Backups,Taille) &&
Allouer_une_liste_de_pages(Brouillon_Backups,Taille))
if (Allouer_une_liste_de_pages(Principal_Backups,size) &&
Allouer_une_liste_de_pages(Brouillon_Backups,size))
{
// On a réussi à allouer deux listes de pages dont la taille correspond à
// 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(Brouillon_Ecran,0,Brouillon_Largeur_image*Brouillon_Hauteur_image);
Retour=1;
return_code=1;
}
else
{
// Il n'est pas possible de démarrer le programme avec la page
// principale et la page de brouillon aux dimensions demandée par
// l'utilisateur. ==> On l'envoie ballader
Retour=0;
return_code=0;
}
}
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
// le renvoie chier.
free(Page);
Retour=0;
return_code=0;
}
}
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
// peine de continuer : l'utilisateur ne pourra jamais rien faire,
// 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)
@ -765,7 +765,7 @@ int Backup_avec_nouvelles_dimensions(int Upload,int width,int height)
// 0 sinon.
S_Page * Nouvelle_page;
int Retour=0;
int return_code=0;
if (Upload)
// 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);
// On nettoie la nouvelle 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
free(Nouvelle_page);
return Retour;
return return_code;
}
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.
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
// 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);
Download_infos_page_brouillon(Nouvelle_page);
Retour=1;
return_code=1;
}
// On détruit le descripteur de la page courante
free(Nouvelle_page);
return Retour;
return return_code;
}
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_liste_courante;
@ -976,30 +976,30 @@ int Emprunt_memoire_de_page_possible(int Taille)
+Taille_liste_courante
+Taille_liste_brouillon
-Taille_page_courante
-Taille_page_brouillon)<Taille)
-Taille_page_brouillon)<size)
return 0;
return 1;
}
void * Emprunter_memoire_de_page(int Taille)
void * Emprunter_memoire_de_page(int size)
{
int Il_faut_liberer;
S_Liste_de_pages * Liste_a_raboter;
S_Page * Page_a_supprimer;
//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:
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)
{
// On a assez de place pour allouer une page. On n'a donc aucune page
// à supprimer. On peut allouer de la mémoire directement.
return malloc(Taille);
return malloc(size);
}
else
{
@ -1042,12 +1042,12 @@ void * Emprunter_memoire_de_page(int Taille)
// On regarde s'il faut continuer à libérer de la place
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
// pour la Nouvelle_page
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);
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);
int Taille_d_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
///
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 Nouveau_nombre_de_backups(int nb_backups);
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
///
int Emprunt_memoire_de_page_possible(int Taille);
void * Emprunter_memoire_de_page(int Taille);
int Emprunt_memoire_de_page_possible(int size);
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)
{
byte h, S, l;
RGBtoHSL(Palette_depart[Couleur].R,Palette_depart[Couleur].G,Palette_depart[Couleur].B,&h,&S,&l);
byte h, s, l;
RGBtoHSL(Palette_depart[Couleur].R,Palette_depart[Couleur].G,Palette_depart[Couleur].B,&h,&s,&l);
// La teinte (Hue) est cyclique
h=(Difference_H+256+h);
// Pour les autres (Saturation, Lightness), au lieu d'additionner,
// on va faire un ratio, cela utilise mieux la plage de valeurs 0-255
if (Difference_S<0)
S=(255+Difference_S)*S/255;
s=(255+Difference_S)*s/255;
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)
l=(255+Difference_L)*l/255;
else if (Difference_L>0)
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)
@ -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);
}
void Formate_composante(byte Valeur, char *Chaine)
void Formate_composante(byte value, char *Chaine)
// Formate une chaine de 4 caractères+\0 : "nnn "
{
Num2str(Valeur,Chaine,3);
Num2str(value,Chaine,3);
Chaine[3]=' ';
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,
word nb_elements, word position,
char * Valeur, short x_pos)
char * value, short x_pos)
{
slider->Nb_elements=nb_elements;
slider->Position=position;
Calculer_hauteur_curseur_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 ZOOMY 2
void Pixel_Double (word X,word Y,byte Couleur)
/* Affiche un pixel de la Couleur aux coords X;Y à l'écran */
void Pixel_Double (word x,word y,byte Couleur)
/* 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 + 1)=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 * Largeur_ecran)=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 + 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 */
{
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)
@ -86,28 +86,28 @@ void Afficher_partie_de_l_ecran_Double (word width,word height,word image_width)
//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
* dans l'écran, en mode normal (pas en mode loupe)
* Note: si on modifie cette procédure, il faudra penser à faire également
* la modif dans la procédure Pixel_Preview_Loupe_SDL. */
{
// if(X-Principal_Decalage_X >= 0 && Y - Principal_Decalage_Y >= 0)
Pixel_Double(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur);
// if(x-Principal_Decalage_X >= 0 && y - Principal_Decalage_Y >= 0)
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
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
if (Y >= Limite_Haut_Zoom && Y <= Limite_visible_Bas_Zoom
&& X >= Limite_Gauche_Zoom && X <= Limite_visible_Droite_Zoom)
if (y >= Limite_Haut_Zoom && y <= Limite_visible_Bas_Zoom
&& x >= Limite_Gauche_Zoom && x <= Limite_visible_Droite_Zoom)
{
// On est dedans
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)
// 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;
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
);
}
@ -128,10 +128,10 @@ void Ligne_horizontale_XOR_Double(word x_pos,word y_pos,word width)
//On calcule la valeur initiale de Dest:
byte* Dest=y_pos*4*Largeur_ecran+x_pos*2+Ecran;
int X;
int x;
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);
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);
}
void Ligne_verticale_XOR_Double(word x_pos,word y_pos,word height)

View File

@ -21,11 +21,11 @@
*/
#include "struct.h"
void Pixel_Double (word X,word Y,byte Couleur);
byte Lit_Pixel_Double (word X,word Y);
void Pixel_Double (word x,word y,byte Couleur);
byte Lit_Pixel_Double (word x,word y);
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_Loupe_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 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 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 "divers.h"
void Pixel_Simple (word X,word Y,byte Couleur)
/* Affiche un pixel de la Couleur aux coords X;Y à l'écran */
void Pixel_Simple (word x,word y,byte Couleur)
/* 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 */
{
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)
@ -71,28 +71,28 @@ void Afficher_partie_de_l_ecran_Simple (word width,word height,word image_width)
//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
* dans l'écran, en mode normal (pas en mode loupe)
* Note: si on modifie cette procédure, il faudra penser à faire également
* la modif dans la procédure Pixel_Preview_Loupe_SDL. */
{
// if(X-Principal_Decalage_X >= 0 && Y - Principal_Decalage_Y >= 0)
Pixel_Simple(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur);
// if(x-Principal_Decalage_X >= 0 && y - Principal_Decalage_Y >= 0)
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
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
if (Y >= Limite_Haut_Zoom && Y <= Limite_visible_Bas_Zoom
&& X >= Limite_Gauche_Zoom && X <= Limite_visible_Droite_Zoom)
if (y >= Limite_Haut_Zoom && y <= Limite_visible_Bas_Zoom
&& x >= Limite_Gauche_Zoom && x <= Limite_visible_Droite_Zoom)
{
// On est dedans
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)
// 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;
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
);
}
@ -113,10 +113,10 @@ void Ligne_horizontale_XOR_Simple(word x_pos,word y_pos,word width)
//On calcule la valeur initiale de Dest:
byte* Dest=y_pos*Largeur_ecran+x_pos+Ecran;
int X;
int x;
for (X=0;X<width;X++)
*(Dest+X)=~*(Dest+X);
for (x=0;x<width;x++)
*(Dest+x)=~*(Dest+x);
}
void Ligne_verticale_XOR_Simple(word x_pos,word y_pos,word height)

View File

@ -21,11 +21,11 @@
*/
#include "struct.h"
void Pixel_Simple (word X,word Y,byte Couleur);
byte Lit_Pixel_Simple (word X,word Y);
void Pixel_Simple (word x,word y,byte Couleur);
byte Lit_Pixel_Simple (word x,word y);
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_Loupe_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 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 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 "pxsimple.h"
void Pixel_Tall (word X,word Y,byte Couleur)
/* Affiche un pixel de la Couleur aux coords X;Y à l'écran */
void Pixel_Tall (word x,word y,byte Couleur)
/* Affiche un pixel de la Couleur aux coords x;y à l'écran */
{
*(Ecran + X + Y * 2 * Largeur_ecran)=Couleur;
*(Ecran + X + (Y * 2 + 1) * Largeur_ecran)=Couleur;
*(Ecran + x + y * 2 * 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 */
{
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)
@ -75,28 +75,28 @@ void Afficher_partie_de_l_ecran_Tall (word width,word height,word image_width)
//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
* dans l'écran, en mode normal (pas en mode loupe)
* Note: si on modifie cette procédure, il faudra penser à faire également
* la modif dans la procédure Pixel_Preview_Loupe_SDL. */
{
// if(X-Principal_Decalage_X >= 0 && Y - Principal_Decalage_Y >= 0)
Pixel_Tall(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur);
// if(x-Principal_Decalage_X >= 0 && y - Principal_Decalage_Y >= 0)
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
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
if (Y >= Limite_Haut_Zoom && Y <= Limite_visible_Bas_Zoom
&& X >= Limite_Gauche_Zoom && X <= Limite_visible_Droite_Zoom)
if (y >= Limite_Haut_Zoom && y <= Limite_visible_Bas_Zoom
&& x >= Limite_Gauche_Zoom && x <= Limite_visible_Droite_Zoom)
{
// On est dedans
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)
// 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;
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
);
}
@ -117,14 +117,14 @@ void Ligne_horizontale_XOR_Tall(word x_pos,word y_pos,word width)
//On calcule la valeur initiale de Dest:
byte* Dest=y_pos*2*Largeur_ecran+x_pos+Ecran;
int X;
int x;
for (X=0;X<width;X++)
*(Dest+X)=~*(Dest+X);
for (x=0;x<width;x++)
*(Dest+x)=~*(Dest+x);
Dest=(y_pos*2+1)*Largeur_ecran+x_pos+Ecran;
for (X=0;X<width;X++)
*(Dest+X)=~*(Dest+X);
for (x=0;x<width;x++)
*(Dest+x)=~*(Dest+x);
}
void Ligne_verticale_XOR_Tall(word x_pos,word y_pos,word height)

View File

@ -21,11 +21,11 @@
*/
#include "struct.h"
void Pixel_Tall (word X,word Y,byte Couleur);
byte Lit_Pixel_Tall (word X,word Y);
void Pixel_Tall (word x,word y,byte Couleur);
byte Lit_Pixel_Tall (word x,word y);
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_Loupe_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 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 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 "divers.h"
void Pixel_Wide (word X,word Y,byte Couleur)
/* Affiche un pixel de la Couleur aux coords X;Y à l'écran */
void Pixel_Wide (word x,word y,byte Couleur)
/* 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 + 1)=Couleur;
*(Ecran + x * 2 + y * 2 * Largeur_ecran)=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 */
{
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)
@ -78,28 +78,28 @@ void Afficher_partie_de_l_ecran_Wide (word width,word height,word image_width)
//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
* dans l'écran, en mode normal (pas en mode loupe)
* Note: si on modifie cette procédure, il faudra penser à faire également
* la modif dans la procédure Pixel_Preview_Loupe_SDL. */
{
// if(X-Principal_Decalage_X >= 0 && Y - Principal_Decalage_Y >= 0)
Pixel_Wide(X-Principal_Decalage_X,Y-Principal_Decalage_Y,Couleur);
// if(x-Principal_Decalage_X >= 0 && y - Principal_Decalage_Y >= 0)
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
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
if (Y >= Limite_Haut_Zoom && Y <= Limite_visible_Bas_Zoom
&& X >= Limite_Gauche_Zoom && X <= Limite_visible_Droite_Zoom)
if (y >= Limite_Haut_Zoom && y <= Limite_visible_Bas_Zoom
&& x >= Limite_Gauche_Zoom && x <= Limite_visible_Droite_Zoom)
{
// On est dedans
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)
// 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;
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
);
}
@ -120,10 +120,10 @@ void Ligne_horizontale_XOR_Wide(word x_pos,word y_pos,word width)
//On calcule la valeur initiale de Dest:
byte* Dest=y_pos*2*Largeur_ecran+x_pos*2+Ecran;
int X;
int x;
for (X=0;X<width*2;X+=2)
*(Dest+X+1)=*(Dest+X)=~*(Dest+X);
for (x=0;x<width*2;x+=2)
*(Dest+x+1)=*(Dest+x)=~*(Dest+x);
}
void Ligne_verticale_XOR_Wide(word x_pos,word y_pos,word height)

View File

@ -21,11 +21,11 @@
*/
#include "struct.h"
void Pixel_Wide (word X,word Y,byte Couleur);
byte Lit_Pixel_Wide (word X,word Y);
void Pixel_Wide (word x,word y,byte Couleur);
byte Lit_Pixel_Wide (word x,word y);
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_Loupe_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 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 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;
}
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;
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 "="
Indice_buffer=Charger_INI_Seek_pattern(Buffer_upper,"=");
strcpy(Retour, Buffer_upper + Indice_buffer);
strcpy(return_code, Buffer_upper + Indice_buffer);
}
}
while (!Arret);
@ -401,10 +401,10 @@ int Charger_INI(T_Config * Conf)
{
FILE * file;
char * Buffer;
int Valeurs[3];
int values[3];
int Indice;
char * Nom_du_fichier;
int Retour;
int return_code;
char Libelle_valeur[1024];
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;
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;
if ((Valeurs[0]<1) || (Valeurs[0]>255))
if ((values[0]<1) || (values[0]>255))
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;
if ((Valeurs[0]<1) || (Valeurs[0]>255))
if ((values[0]<1) || (values[0]>255))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>4))
if ((values[0]<0) || (values[0]>4))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>4))
if ((values[0]<0) || (values[0]>4))
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;
if ((Valeurs[0]<1) || (Valeurs[0]>3))
if ((values[0]<1) || (values[0]>3))
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;
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].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;
if ((Valeurs[0]<0) || (Valeurs[0]>63))
if ((values[0]<0) || (values[0]>63))
goto Erreur_ERREUR_INI_CORROMPU;
if ((Valeurs[1]<0) || (Valeurs[1]>63))
if ((values[1]<0) || (values[1]>63))
goto Erreur_ERREUR_INI_CORROMPU;
if ((Valeurs[2]<0) || (Valeurs[2]>63))
if ((values[2]<0) || (values[2]>63))
goto Erreur_ERREUR_INI_CORROMPU;
Conf->Coul_menu_pref[2].R=(Valeurs[0]<<2)|(Valeurs[0]>>4);
Conf->Coul_menu_pref[2].G=(Valeurs[1]<<2)|(Valeurs[1]>>4);
Conf->Coul_menu_pref[2].B=(Valeurs[2]<<2)|(Valeurs[2]>>4);
Conf->Coul_menu_pref[2].R=(values[0]<<2)|(values[0]>>4);
Conf->Coul_menu_pref[2].G=(values[1]<<2)|(values[1]>>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;
if ((Valeurs[0]<0) || (Valeurs[0]>63))
if ((values[0]<0) || (values[0]>63))
goto Erreur_ERREUR_INI_CORROMPU;
if ((Valeurs[1]<0) || (Valeurs[1]>63))
if ((values[1]<0) || (values[1]>63))
goto Erreur_ERREUR_INI_CORROMPU;
if ((Valeurs[2]<0) || (Valeurs[2]>63))
if ((values[2]<0) || (values[2]>63))
goto Erreur_ERREUR_INI_CORROMPU;
Conf->Coul_menu_pref[1].R=(Valeurs[0]<<2)|(Valeurs[0]>>4);
Conf->Coul_menu_pref[1].G=(Valeurs[1]<<2)|(Valeurs[1]>>4);
Conf->Coul_menu_pref[1].B=(Valeurs[2]<<2)|(Valeurs[2]>>4);
Conf->Coul_menu_pref[1].R=(values[0]<<2)|(values[0]>>4);
Conf->Coul_menu_pref[1].G=(values[1]<<2)|(values[1]>>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;
if ((Valeurs[0]<0) || (Valeurs[0]>2))
if ((values[0]<0) || (values[0]>2))
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;
if ((Valeurs[0]<1) || (Valeurs[0]>2))
if ((values[0]<1) || (values[0]>2))
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;
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<1) || (Valeurs[0]>256))
if ((values[0]<1) || (values[0]>256))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>2))
if ((values[0]<0) || (values[0]>2))
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;
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<1) || (Valeurs[0]>2))
if ((values[0]<1) || (values[0]>2))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<1) || (Valeurs[0]>2))
if ((values[0]<1) || (values[0]>2))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<1) || (Valeurs[0]>99))
if ((values[0]<1) || (values[0]>99))
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;
if ((Valeurs[0]<1) || (Valeurs[0]>255))
if ((values[0]<1) || (values[0]>255))
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;
if ((Valeurs[0]<1) || (Valeurs[0]>255))
if ((values[0]<1) || (values[0]>255))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<2) || (Valeurs[0]>16384))
if ((values[0]<2) || (values[0]>16384))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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;
if ((Valeurs[0]<0) || (Valeurs[0]>1))
if ((values[0]<0) || (values[0]>1))
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%)
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%)
Mode_video[0].Width = 640;
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))
Mode_video[0].Width = Valeurs[0];
if ((Valeurs[1]>=200))
Mode_video[0].Height = Valeurs[1];
if ((values[0]>=320))
Mode_video[0].Width = values[0];
if ((values[1]>=200))
Mode_video[0].Height = values[1];
}
Conf->Mouse_Merge_movement=100;
// 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;
Conf->Mouse_Merge_movement=Valeurs[0];
Conf->Mouse_Merge_movement=values[0];
}
Conf->Palette_Cells_X=8;
// 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;
Conf->Palette_Cells_X=Valeurs[0];
Conf->Palette_Cells_X=values[0];
}
Conf->Palette_Cells_Y=8;
// 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;
Conf->Palette_Cells_Y=Valeurs[0];
Conf->Palette_Cells_Y=values[0];
}
// Optionnel, bookmarks (>98.0%)
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))
{
int Taille=strlen(Libelle_valeur);
if (Taille!=0)
int size=strlen(Libelle_valeur);
if (size!=0)
{
if (Taille>8)
if (size>8)
{
Libelle_valeur[7]=CARACTERE_SUSPENSION;
Libelle_valeur[8]='\0';
@ -755,10 +755,10 @@ int Charger_INI(T_Config * Conf)
break;
if (!Charger_INI_Get_string (file,Buffer,"Bookmark_directory",Libelle_valeur))
{
int Taille=strlen(Libelle_valeur);
if (Taille!=0)
int size=strlen(Libelle_valeur);
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);
}
}
@ -778,7 +778,7 @@ int Charger_INI(T_Config * Conf)
fclose(file);
free(Nom_du_fichier);
free(Buffer);
return Retour;
return return_code;
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_affichee[256];
byte position;
byte Taille;
byte size;
word Touche_lue=0;
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
Taille=strlen(Chaine);
position=(Taille<Taille_maxi)? Taille:Taille-1;
size=strlen(Chaine);
position=(size<Taille_maxi)? size:size-1;
if (position-offset>Taille_affichee)
offset=position-Taille_affichee+1;
// 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';
if (offset>0)
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;
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)
{
case SDLK_DELETE : // Suppr.
if (position<Taille)
if (position<size)
{
Supprimer_caractere(Chaine,position);
Taille--;
size--;
// Effacement de la chaîne
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)
{
// 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),
Taille_affichee*(Menu_Facteur_X<<3),(Menu_Facteur_Y<<3),COULEUR_FOND);
position--;
@ -215,11 +215,11 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
}
break;
case SDLK_RIGHT : // Droite
if ((position<Taille) && (position<Taille_maxi-1))
if ((position<size) && (position<Taille_maxi-1))
{
position++;
//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)
offset++;
goto affichage;
@ -229,7 +229,7 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
if (position)
{
// 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),
Taille_affichee*(Menu_Facteur_X<<3),(Menu_Facteur_Y<<3),COULEUR_FOND);
position = 0;
@ -238,9 +238,9 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
}
break;
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)
offset=position-Taille_affichee+1;
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)))
offset--;
Supprimer_caractere(Chaine,position);
Taille--;
size--;
// Effacement de la chaîne
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);
@ -267,10 +267,10 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
case TOUCHE_ESC :
// On restaure la chaine initiale
strcpy(Chaine,Chaine_initiale);
Taille=strlen(Chaine);
size=strlen(Chaine);
break;
default :
if (Taille<Taille_maxi)
if (size<Taille_maxi)
{
// 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
@ -294,11 +294,11 @@ byte Readline_ex(word x_pos,word y_pos,char * Chaine,byte Taille_affichee,byte T
if (Touche_autorisee)
{
// ... 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
Taille++;
size++;
// et qui risque de déplacer le curseur vers la droite
if (Taille<Taille_maxi)
if (size<Taille_maxi)
{
position++;
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;
affichage:
Taille=strlen(Chaine);
size=strlen(Chaine);
// Formatage d'une partie de la chaine (si trop longue pour tenir)
strncpy(Chaine_affichee, Chaine + offset, Taille_affichee);
Chaine_affichee[Taille_affichee]='\0';
if (offset>0)
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;
Rafficher_toute_la_chaine(x_pos,y_pos,Chaine_affichee,position - offset);
@ -337,9 +337,9 @@ affichage:
if (Chaine[0]=='\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
{

192
saveini.c
View File

@ -392,10 +392,10 @@ int Sauver_INI(T_Config * Conf)
FILE * Ancien_fichier;
FILE * Nouveau_fichier;
char * Buffer;
int Valeurs[3];
int values[3];
char Nom_du_fichier[TAILLE_CHEMIN_FICHIER];
char Nom_du_fichier_temporaire[TAILLE_CHEMIN_FICHIER];
int Retour;
int return_code;
char Nom_du_fichier_DAT[TAILLE_CHEMIN_FICHIER];
int Ini_existe;
int Indice;
@ -434,197 +434,197 @@ int Sauver_INI(T_Config * Conf)
free(Buffer);
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;
Valeurs[0]=Conf->Indice_Sensibilite_souris_X;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"X_sensitivity",1,Valeurs,0)))
values[0]=Conf->Indice_Sensibilite_souris_X;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"X_sensitivity",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Indice_Sensibilite_souris_Y;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Y_sensitivity",1,Valeurs,0)))
values[0]=Conf->Indice_Sensibilite_souris_Y;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Y_sensitivity",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Mouse_Facteur_de_correction_X;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"X_correction_factor",1,Valeurs,0)))
values[0]=Conf->Mouse_Facteur_de_correction_X;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"X_correction_factor",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Mouse_Facteur_de_correction_Y;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Y_correction_factor",1,Valeurs,0)))
values[0]=Conf->Mouse_Facteur_de_correction_Y;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Y_correction_factor",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=(Conf->Curseur)+1;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Cursor_aspect",1,Valeurs,0)))
values[0]=(Conf->Curseur)+1;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Cursor_aspect",1,values,0)))
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;
Valeurs[0]=Conf->Coul_menu_pref[2].R>>2;
Valeurs[1]=Conf->Coul_menu_pref[2].G>>2;
Valeurs[2]=Conf->Coul_menu_pref[2].B>>2;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Light_color",3,Valeurs,0)))
values[0]=Conf->Coul_menu_pref[2].R>>2;
values[1]=Conf->Coul_menu_pref[2].G>>2;
values[2]=Conf->Coul_menu_pref[2].B>>2;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Light_color",3,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Coul_menu_pref[1].R>>2;
Valeurs[1]=Conf->Coul_menu_pref[1].G>>2;
Valeurs[2]=Conf->Coul_menu_pref[1].B>>2;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Dark_color",3,Valeurs,0)))
values[0]=Conf->Coul_menu_pref[1].R>>2;
values[1]=Conf->Coul_menu_pref[1].G>>2;
values[2]=Conf->Coul_menu_pref[1].B>>2;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Dark_color",3,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Ratio;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Menu_ratio",1,Valeurs,0)))
values[0]=Conf->Ratio;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Menu_ratio",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=(Conf->Fonte)+1;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Font",1,Valeurs,0)))
values[0]=(Conf->Fonte)+1;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Font",1,values,0)))
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;
Valeurs[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)))
values[0]=Conf->Lire_les_fichiers_caches?1:0;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Show_hidden_files",1,values,1)))
goto Erreur_Retour;
Valeurs[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)))
values[0]=Conf->Lire_les_repertoires_caches?1:0;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Show_hidden_directories",1,values,1)))
goto Erreur_Retour;
/* Valeurs[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)))
/* values[0]=Conf->Lire_les_repertoires_systemes?1:0;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Show_system_directories",1,values,1)))
goto Erreur_Retour;
*/
Valeurs[0]=Conf->Chrono_delay;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Preview_delay",1,Valeurs,0)))
values[0]=Conf->Chrono_delay;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Preview_delay",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Maximize_preview;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Maximize_preview",1,Valeurs,1)))
values[0]=Conf->Maximize_preview;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Maximize_preview",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Find_file_fast;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Find_file_fast",1,Valeurs,0)))
values[0]=Conf->Find_file_fast;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Find_file_fast",1,values,0)))
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;
Valeurs[0]=Conf->Auto_set_res;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_set_resolution",1,Valeurs,1)))
values[0]=Conf->Auto_set_res;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_set_resolution",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Set_resolution_according_to;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Set_resolution_according_to",1,Valeurs,0)))
values[0]=Conf->Set_resolution_according_to;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Set_resolution_according_to",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Clear_palette;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Clear_palette",1,Valeurs,1)))
values[0]=Conf->Clear_palette;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Clear_palette",1,values,1)))
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;
Valeurs[0]=Conf->Afficher_limites_image;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Draw_limits",1,Valeurs,1)))
values[0]=Conf->Afficher_limites_image;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Draw_limits",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Adjust_brush_pick;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Adjust_brush_pick",1,Valeurs,1)))
values[0]=Conf->Adjust_brush_pick;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Adjust_brush_pick",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=2-Conf->Coords_rel;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Coordinates",1,Valeurs,0)))
values[0]=2-Conf->Coords_rel;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Coordinates",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Backup;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Backup",1,Valeurs,1)))
values[0]=Conf->Backup;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Backup",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Nb_pages_Undo;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Undo_pages",1,Valeurs,0)))
values[0]=Conf->Nb_pages_Undo;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Undo_pages",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Valeur_tempo_jauge_gauche;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Gauges_scrolling_speed_Left",1,Valeurs,0)))
values[0]=Conf->Valeur_tempo_jauge_gauche;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Gauges_scrolling_speed_Left",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Valeur_tempo_jauge_droite;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Gauges_scrolling_speed_Right",1,Valeurs,0)))
values[0]=Conf->Valeur_tempo_jauge_droite;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Gauges_scrolling_speed_Right",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Auto_save;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_save",1,Valeurs,1)))
values[0]=Conf->Auto_save;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_save",1,values,1)))
goto Erreur_Retour;
Valeurs[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)))
values[0]=Conf->Nb_max_de_vertex_par_polygon;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Vertices_per_polygon",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=Conf->Fast_zoom;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Fast_zoom",1,Valeurs,1)))
values[0]=Conf->Fast_zoom;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Fast_zoom",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Couleurs_separees;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Separate_colors",1,Valeurs,1)))
values[0]=Conf->Couleurs_separees;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Separate_colors",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->FX_Feedback;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"FX_feedback",1,Valeurs,1)))
values[0]=Conf->FX_Feedback;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"FX_feedback",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Safety_colors;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Safety_colors",1,Valeurs,1)))
values[0]=Conf->Safety_colors;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Safety_colors",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Opening_message;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Opening_message",1,Valeurs,1)))
values[0]=Conf->Opening_message;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Opening_message",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Clear_with_stencil;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Clear_with_stencil",1,Valeurs,1)))
values[0]=Conf->Clear_with_stencil;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Clear_with_stencil",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Auto_discontinuous;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_discontinuous",1,Valeurs,1)))
values[0]=Conf->Auto_discontinuous;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_discontinuous",1,values,1)))
goto Erreur_Retour;
Valeurs[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)))
values[0]=Conf->Taille_ecran_dans_GIF;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Save_screen_size_in_GIF",1,values,1)))
goto Erreur_Retour;
Valeurs[0]=Conf->Auto_nb_used;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_nb_colors_used",1,Valeurs,1)))
values[0]=Conf->Auto_nb_used;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Auto_nb_colors_used",1,values,1)))
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;
Valeurs[0]=Mode_video[0].Width;
Valeurs[1]=Mode_video[0].Height;
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Default_window_size",2,Valeurs,0)))
values[0]=Mode_video[0].Width;
values[1]=Mode_video[0].Height;
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Default_window_size",2,values,0)))
goto Erreur_Retour;
Valeurs[0]=(Conf->Mouse_Merge_movement);
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Merge_movement",1,Valeurs,0)))
values[0]=(Conf->Mouse_Merge_movement);
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Merge_movement",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=(Conf->Palette_Cells_X);
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Palette_Cells_X",1,Valeurs,0)))
values[0]=(Conf->Palette_Cells_X);
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Palette_Cells_X",1,values,0)))
goto Erreur_Retour;
Valeurs[0]=(Conf->Palette_Cells_Y);
if ((Retour=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Palette_Cells_Y",1,Valeurs,0)))
values[0]=(Conf->Palette_Cells_Y);
if ((return_code=Sauver_INI_Set_values (Ancien_fichier,Nouveau_fichier,Buffer,"Palette_Cells_Y",1,values,0)))
goto Erreur_Retour;
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;
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;
}
@ -646,7 +646,7 @@ int Sauver_INI(T_Config * Conf)
fclose(Nouveau_fichier);
fclose(Ancien_fichier);
free(Buffer);
return Retour;
return return_code;
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)
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
#if (METHODE_UPDATE == METHODE_UPDATE_PAR_CUMUL)
@ -120,14 +120,14 @@ void UpdateRect(short X, short Y, unsigned short width, unsigned short height)
}
else
{
if (X < Min_X)
Min_X = X;
if (Y < Min_Y)
Min_Y = Y;
if (X+width>Max_X)
Max_X=X+width;
if (Y+height>Max_Y)
Max_Y=Y+height;
if (x < Min_X)
Min_X = x;
if (y < Min_Y)
Min_Y = y;
if (x+width>Max_X)
Max_X=x+width;
if (y+height>Max_Y)
Max_Y=y+height;
}
#endif
@ -144,28 +144,28 @@ byte * Surface_en_bytefield(SDL_Surface *Source, byte * dest)
{
byte *Src;
byte *dest_ptr;
int Y;
int Reste;
int y;
int remainder;
// Support seulement des images 256 couleurs
if (Source->format->BytesPerPixel != 1)
return NULL;
if (Source->w & 3)
Reste=4-(Source->w&3);
remainder=4-(Source->w&3);
else
Reste=0;
remainder=0;
if (dest==NULL)
dest=(byte *)malloc(Source->w*Source->h);
dest_ptr=dest;
Src=(byte *)(Source->pixels);
for(Y=0; Y < Source->h; Y++)
for(y=0; y < Source->h; y++)
{
memcpy(dest_ptr, Src,Source->w);
dest_ptr += Source->w;
Src += Source->w + Reste;
Src += Source->w + remainder;
}
return dest;
@ -184,7 +184,7 @@ SDL_Color Conversion_couleur_SDL(byte index)
// Lecture d'un pixel pour une surface SDL.
// 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;
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);
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);
byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int x, int y);
#endif // SDLSCREEN_H_INCLUDED

View File

@ -143,9 +143,9 @@ void Set_Config_Directory(const char * Program_Dir, char * Config_Dir)
#endif
if (Config_ParentDir && Config_ParentDir[0]!='\0')
{
int Taille = strlen(Config_ParentDir);
int size = strlen(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);
}

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];
@ -225,7 +225,7 @@ void Afficher_mode_du_shade(short X,short Y,byte mode)
default : // MODE_SHADE_NOSAT
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)
{
int x_pos,y_pos;
int X,Y;
int x,y;
float Rayon2;
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 (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
{
X=x_pos-Pinceau_Decalage_X;
Y=y_pos-Pinceau_Decalage_Y;
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( ((X*X)+(Y*Y)) < Rayon2 );
x=x_pos-Pinceau_Decalage_X;
y=y_pos-Pinceau_Decalage_Y;
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( ((x*x)+(y*y)) < Rayon2 );
}
break;
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 (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
{
X=x_pos-Pinceau_Decalage_X;
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));
x=x_pos-Pinceau_Decalage_X;
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));
}
break;
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);
break;
case FORME_PINCEAU_PLUS:
X=Pinceau_Largeur>>1;
x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_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;
case FORME_PINCEAU_SLASH:
X=Pinceau_Largeur>>1;
x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_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)));
break;
case FORME_PINCEAU_ANTISLASH:
X=Pinceau_Largeur>>1;
x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_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;
break;
case FORME_PINCEAU_X:
X=Pinceau_Largeur>>1;
x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_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))) );
break;
case FORME_PINCEAU_LOSANGE:
X=Pinceau_Largeur>>1;
x=Pinceau_Largeur>>1;
for (y_pos=0; y_pos<Pinceau_Hauteur; y_pos++)
for (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
{
if (x_pos<=X)
Y=X-x_pos;
if (x_pos<=x)
y=x-x_pos;
else
Y=x_pos-X;
if (y_pos<=X)
Y+=X-y_pos;
y=x_pos-x;
if (y_pos<=x)
y+=x-y_pos;
else
Y+=y_pos-X;
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=(Y<=X);
y+=y_pos-x;
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=(y<=x);
}
break;
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 (x_pos=0; x_pos<Pinceau_Largeur; x_pos++)
{
X=x_pos-Pinceau_Decalage_X;
Y=y_pos-Pinceau_Decalage_Y;
Pinceau_Sprite[(y_pos*TAILLE_MAXI_PINCEAU)+x_pos]=( (((X*X)+(Y*Y)) < Rayon2) && (!(rand()&7)) );
x=x_pos-Pinceau_Decalage_X;
y=y_pos-Pinceau_Decalage_Y;
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 [-]) -------------
void Zoom(short Sens)
void Zoom(short delta)
{
short Indice;
for (Indice=0; FACTEUR_ZOOM[Indice]!=Loupe_Facteur; Indice++);
Indice+=Sens;
Indice+=delta;
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_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
{
byte Number;
word Taille;
word Size;
} __attribute__((__packed__)) Config_Chunk;
typedef struct

34
texte.c
View File

@ -90,19 +90,19 @@ void Ajout_fonte(const char *name)
{
char * Nom_fonte;
T_FONTE * Fonte;
int Taille=strlen(name)+1;
int size=strlen(name)+1;
int Indice;
// Détermination du type:
#ifdef __macosx__
if (Taille < 6) return;
if (size < 6) return;
char strFontName[512];
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
CFStringGetCString(CFSFontName, strFontName, 512, kCFStringEncodingASCII);
@ -110,14 +110,14 @@ void Ajout_fonte(const char *name)
name = strFontName;
#else
if (Taille<5 ||
name[Taille-5]!='.')
if (size<5 ||
name[size-5]!='.')
return;
#endif
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('f','o','n'):
@ -142,7 +142,7 @@ void Ajout_fonte(const char *name)
break;
default:
#ifdef __macosx__
if(strcasecmp(&name[Taille-6], "dfont") == 0)
if(strcasecmp(&name[size-6], "dfont") == 0)
{
Fonte->EstTrueType = 1;
Fonte->EstImage = 0;
@ -158,7 +158,7 @@ void Ajout_fonte(const char *name)
#endif
}
Fonte->Name = (char *)malloc(Taille);
Fonte->Name = (char *)malloc(size);
strcpy(Fonte->Name, name);
// Label
strcpy(Fonte->Label, " ");
@ -368,31 +368,31 @@ int Support_TrueType()
#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;
SDL_Surface * TexteColore;
SDL_Surface * Texte8Bit;
byte * BrosseRetour;
int Indice;
int Style;
int style;
SDL_Color Couleur_Avant;
SDL_Color Couleur_Arriere;
// Chargement de la fonte
Fonte=TTF_OpenFont(Nom_fonte(Numero_fonte), Taille);
Fonte=TTF_OpenFont(Nom_fonte(Numero_fonte), size);
if (!Fonte)
{
return NULL;
}
// Style
Style=0;
style=0;
if (italic)
Style|=TTF_STYLE_ITALIC;
style|=TTF_STYLE_ITALIC;
if (bold)
Style|=TTF_STYLE_BOLD;
TTF_SetFontStyle(Fonte, Style);
style|=TTF_STYLE_BOLD;
TTF_SetFontStyle(Fonte, style);
// Couleurs
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.
// Si cela réussit, la fonction place les dimensions dans width et height,
// 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;
int Indice=Numero_fonte;
@ -515,7 +515,7 @@ byte *Rendu_Texte(const char *Chaine, int Numero_fonte, int Taille, int antialia
if (Fonte->EstTrueType)
{
#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
return NULL;
#endif

View File

@ -27,7 +27,7 @@ int Support_TrueType(void);
// Ajout d'une fonte à la liste.
void Ajout_fonte(char *name);
// 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
char * Libelle_fonte(int Indice);
// Trouve le nom d'une fonte par son numéro

View File

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