Big cleanup, proper makefile

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@12 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues
2007-08-13 18:41:50 +00:00
parent 47b59aa70d
commit 57fa46de8c
19 changed files with 6588 additions and 6576 deletions

116
main.c
View File

@@ -22,10 +22,10 @@
#include "loadsave.h"
#include "sdlscreen.h"
byte Ancien_nb_lignes; // Ancien nombre de lignes de l'cran
byte Ancien_nb_lignes; // Ancien nombre de lignes de l'écran
//--- Affichage de la syntaxe, et de la liste des modes vidos disponibles ---
//--- Affichage de la syntaxe, et de la liste des modes vidéos disponibles ---
void Afficher_syntaxe(void)
{
printf("Syntax: GFX2 [<picture>] [<Video mode number>|<Help>]\n\n");
@@ -188,7 +188,7 @@ void Analyse_de_la_ligne_de_commande(int argc,char * argv[])
switch (argc)
{
case 1 : // Mode par dfaut
case 1 : // Mode par défaut
Resolution_actuelle=Config.Resolution_par_defaut;
break;
@@ -199,9 +199,9 @@ void Analyse_de_la_ligne_de_commande(int argc,char * argv[])
Un_fichier_a_ete_passe_en_parametre=1;
Option2=2;
// On rcupŠre le chemin complet du paramŠtre
// On récupŠre le chemin complet du paramŠtre
Buffer=realpath(argv[1],NULL);
// Et on dcoupe ce chemin en rpertoire(path) + fichier(.ext)
// Et on découpe ce chemin en répertoire(path) + fichier(.ext)
_splitpath(Buffer,Principal_Repertoire_fichier,Principal_Nom_fichier);
// chdir(Principal_Repertoire_fichier);
}
@@ -223,7 +223,7 @@ void Analyse_de_la_ligne_de_commande(int argc,char * argv[])
exit(0);
}
Resolution_actuelle=Str2num(argv[Option2]); // Mode dsir par l'utilisateur
Resolution_actuelle=Str2num(argv[Option2]); // Mode désiré par l'utilisateur
if ( (Resolution_actuelle<MODE_320_200) || (Resolution_actuelle>MODE_1024_768) )
Erreur(ERREUR_NUMERO_MODE);
Une_resolution_a_ete_passee_en_parametre=Un_fichier_a_ete_passe_en_parametre;
@@ -248,40 +248,40 @@ void Initialisation_du_programme(int argc,char * argv[])
int Temp;
int Mode_dans_lequel_on_demarre;
// On commence galement par interdire d'appuyer sur Ctrl+Pause et Ctrl+C
// On commence également par interdire d'appuyer sur Ctrl+Pause et Ctrl+C
signal(SIGINT ,SIG_IGN);
printf("°±²Û GrafX 2.00 %s%s þ Copyright (c)1996-1999 Sunset Design Û²±°\n",ALPHA_BETA,POURCENTAGE_VERSION);
// On cre dŠs maintenant les descripteurs des listes de pages pour la page
// On crée dŠs maintenant les descripteurs des listes de pages pour la page
// principale et la page de brouillon afin que leurs champs ne soient pas
// invalide lors des appels aux multiples fonctions manipules …
// invalide lors des appels aux multiples fonctions manipulées …
// l'initialisation du programme.
Principal_Backups=(S_Liste_de_pages *)malloc(sizeof(S_Liste_de_pages));
Brouillon_Backups=(S_Liste_de_pages *)malloc(sizeof(S_Liste_de_pages));
Initialiser_S_Liste_de_pages(Principal_Backups);
Initialiser_S_Liste_de_pages(Brouillon_Backups);
// On calcule tout de suite la table prcalcule utilise pour la recherche
// On calcule tout de suite la table précalculée utilisée pour la recherche
// des meilleures couleurs afin de ne pas avoir de valeurs catastrophiques
// dsignes au dmarrage (couleurs du menu, ...)
// désignées au démarrage (couleurs du menu, ...)
Initialiser_la_table_precalculee_des_distances_de_couleur();
// On dtermine dŠs le dpart o— se trouve le fichier:
// On détermine dŠs le départ o— se trouve le fichier:
Chercher_repertoire_du_programme(argv[0]);
// On dtecte les lecteurs qui sont accessibles:
// On détecte les lecteurs qui sont accessibles:
Rechercher_drives();
// On dtermine le rpertoire courant:
// On détermine le répertoire courant:
Determiner_repertoire_courant();
// On en profite pour le mmoriser dans le rpertoire principal:
// On en profite pour le mémoriser dans le répertoire principal:
strcpy(Repertoire_initial,Principal_Repertoire_courant);
// On initialise les donnes sur le nom de fichier de l'image principale:
// On initialise les données sur le nom de fichier de l'image principale:
strcpy(Principal_Repertoire_fichier,Principal_Repertoire_courant);
strcpy(Principal_Nom_fichier,"NO_NAME.PKM");
Principal_Format_fichier=FORMAT_PAR_DEFAUT;
// On initialise les donnes sur le nom de fichier de l'image de brouillon:
// On initialise les données sur le nom de fichier de l'image de brouillon:
strcpy(Brouillon_Repertoire_courant,Principal_Repertoire_courant);
strcpy(Brouillon_Repertoire_fichier,Principal_Repertoire_fichier);
strcpy(Brouillon_Nom_fichier ,Principal_Nom_fichier);
@@ -292,9 +292,9 @@ void Initialisation_du_programme(int argc,char * argv[])
Brosse_Format_fichier =Principal_Format_fichier;
// On initialise ce qu'il faut pour que les fileselects ne plantent pas:
Liste_du_fileselect=NULL; // Au dbut, il n'y a pas de fichiers dans la liste
Principal_File_list_Position=0; // Au dbut, le fileselect est en haut de la liste des fichiers
Principal_File_list_Decalage=0; // Au dbut, le fileselect est en haut de la liste des fichiers
Liste_du_fileselect=NULL; // Au début, il n'y a pas de fichiers dans la liste
Principal_File_list_Position=0; // Au début, le fileselect est en haut de la liste des fichiers
Principal_File_list_Decalage=0; // Au début, le fileselect est en haut de la liste des fichiers
Principal_Format=0;
Brouillon_File_list_Position=0;
Brouillon_File_list_Decalage=0;
@@ -336,23 +336,23 @@ void Initialisation_du_programme(int argc,char * argv[])
Brouillon_Loupe_Decalage_X=0;
Brouillon_Loupe_Decalage_Y=0;
// On initialise tous les modes vido
// On initialise tous les modes vidéo
Definition_des_modes_video();
// On initialise les donnes sur l'tat du programme:
// Donne sur la sortie du programme:
// On initialise les données sur l'état du programme:
// Donnée sur la sortie du programme:
Sortir_du_programme=0;
// Donnes sur l'tat du menu:
// Données sur l'état du menu:
Pixel_dans_menu=Pixel_dans_barre_d_outil;
Menu_visible=1;
// Donnes sur les couleurs et la palette:
// Données sur les couleurs et la palette:
Fore_color=15;
Back_color=0;
Couleur_debut_palette=0;
// Donnes sur le curseur:
// Données sur le curseur:
Forme_curseur=FORME_CURSEUR_CIBLE;
Cacher_curseur=0;
// Donnes sur le pinceau:
// Données sur le pinceau:
Pinceau_X=0;
Pinceau_Y=0;
Pinceau_Forme=FORME_PINCEAU_ROND;
@@ -362,10 +362,10 @@ void Initialisation_du_programme(int argc,char * argv[])
Forcer_affichage_curseur=0;
// On initialise la table des carrs:
// On initialise la table des carrés:
Initialiser_la_table_des_carres();
// On initialise tout ce qui concerne les oprations et les effets
// On initialise tout ce qui concerne les opérations et les effets
Operation_Taille_pile=0;
Mode_de_dessin_en_cours=OPERATION_DESSIN_CONTINU;
Ligne_en_cours =OPERATION_LIGNE;
@@ -385,10 +385,10 @@ void Initialisation_du_programme(int argc,char * argv[])
// On initialise les infos du mode smooth:
Smooth_Mode=0;
// On initialise les infos du mode shade:
Shade_Mode=0; // Les autres infos du Shade sont charges avec la config
Shade_Mode=0; // Les autres infos du Shade sont chargées avec la config
Quick_shade_Mode=0; // idem
// On initialise les infos sur les dgrads:
Traiter_pixel_de_degrade =Afficher_pixel; // Les autres infos sont charges avec la config
// On initialise les infos sur les dégradés:
Traiter_pixel_de_degrade =Afficher_pixel; // Les autres infos sont chargées avec la config
// On initialise les infos de la grille:
Snap_Mode=0;
Snap_Largeur=8;
@@ -396,12 +396,12 @@ void Initialisation_du_programme(int argc,char * argv[])
Snap_Decalage_X=0;
Snap_Decalage_Y=0;
// On initialise les infos du mode Colorize:
Colorize_Mode=0; // Mode colorize inactif par dfaut
Colorize_Opacite=50; // Une interpolation de 50% par dfaut
Colorize_Mode_en_cours=0; // Par dfaut, la mthode par interpolation
Colorize_Mode=0; // Mode colorize inactif par défaut
Colorize_Opacite=50; // Une interpolation de 50% par défaut
Colorize_Mode_en_cours=0; // Par défaut, la méthode par interpolation
Calculer_les_tables_de_Colorize();
// On initialise les infos du mode Tiling:
Tiling_Mode=0; // Pas besoin d'initialiser les dcalages car ‡a se fait
Tiling_Mode=0; // Pas besoin d'initialiser les décalages car ‡a se fait
// en prenant une brosse (toujours mis … 0).
// On initialise les infos du mode Mask:
Mask_Mode=0;
@@ -414,17 +414,17 @@ void Initialisation_du_programme(int argc,char * argv[])
memset(Spray_Multi_flow,0,256);
srand(time(NULL)); // On randomize un peu tout ‡a...
// Rcupration du nombre de lignes de l'ancien mode
// Récupération du nombre de lignes de l'ancien mode
Ancien_nb_lignes=Recuperer_nb_lignes();
// Passer en clavier amricain
// Passer en clavier américain
Clavier_americain();
// Tester la prsence de la souris
// Tester la présence de la souris
if (!Detection_souris()) Erreur(ERREUR_DRIVER_SOURIS);
// Initialisation des boutons
Initialisation_des_boutons();
// Initialisation des oprations
// Initialisation des opérations
Initialisation_des_operations();
Une_fenetre_est_ouverte=0;
@@ -459,7 +459,7 @@ void Initialisation_du_programme(int argc,char * argv[])
Trame_Mode=0;
Copier_trame_predefinie(0);
// On slectionne toutes les couleurs pour le masque de copie de couleurs vers le brouillon
// On sélectionne toutes les couleurs pour le masque de copie de couleurs vers le brouillon
memset(Masque_copie_couleurs,1,256);
// Prise en compte de la fonte
@@ -468,7 +468,7 @@ void Initialisation_du_programme(int argc,char * argv[])
else
Fonte=Fonte_systeme;
// Allocation de mmoire pour la brosse
// Allocation de mémoire pour la brosse
if (!(Brosse =(byte *)malloc( 1* 1))) Erreur(ERREUR_MEMOIRE);
if (!(Smear_Brosse =(byte *)malloc(TAILLE_MAXI_PINCEAU*TAILLE_MAXI_PINCEAU))) Erreur(ERREUR_MEMOIRE);
@@ -478,7 +478,7 @@ void Initialisation_du_programme(int argc,char * argv[])
Pinceau_Largeur=1;
Pinceau_Hauteur=1;
// Dtection des modes SDL en tat de fonctionner:
// Détection des modes SDL en état de fonctionner:
Liste_Modes_Videos_SDL= SDL_ListModes(NULL, 0);
//Ici, trier les modes dispos ou pas dans le tableau global ...
@@ -506,7 +506,7 @@ void Initialisation_du_programme(int argc,char * argv[])
Mode_dans_lequel_on_demarre=Resolution_actuelle;
Buffer_de_ligne_horizontale=NULL;
Resolution_actuelle=-1; // On n'tait pas dans un mode graphique
Resolution_actuelle=-1; // On n'était pas dans un mode graphique
Initialiser_mode_video(Mode_dans_lequel_on_demarre);
Principal_Largeur_image=Largeur_ecran;
@@ -514,12 +514,12 @@ void Initialisation_du_programme(int argc,char * argv[])
Brouillon_Largeur_image=Largeur_ecran;
Brouillon_Hauteur_image=Hauteur_ecran;
// Allocation de mmoire pour les diffrents crans virtuels (et brosse)
// Allocation de mémoire pour les différents écrans virtuels (et brosse)
if (Initialiser_les_listes_de_backups_en_debut_de_programme(Config.Nb_pages_Undo+1,Largeur_ecran,Hauteur_ecran)==0)
Erreur(ERREUR_MEMOIRE);
// On remet le nom par dfaut pour la page de brouillon car il t modifi
// par le passage d'un fichier en paramŠtre lors du traitement prcdent.
// On remet le nom par défaut pour la page de brouillon car il été modifié
// par le passage d'un fichier en paramŠtre lors du traitement précédent.
// Note: le fait que l'on ne modifie que les variables globales Brouillon_*
// et pas les infos contenues dans la page de brouillon elle-mˆme ne m'ins-
// -pire pas confiance mais ‡a a l'air de marcher sans poser de problŠmes,
@@ -531,7 +531,7 @@ void Initialisation_du_programme(int argc,char * argv[])
Brouillon_Format_fichier=FORMAT_PAR_DEFAUT;
}
// Nettoyage de l'cran virtuel (les autres recevront celui-ci par copie)
// Nettoyage de l'écran virtuel (les autres recevront celui-ci par copie)
memset(Principal_Ecran,0,Principal_Largeur_image*Principal_Hauteur_image);
// Initialisation de diverses variables par calcul:
@@ -543,13 +543,13 @@ void Initialisation_du_programme(int argc,char * argv[])
Afficher_menu();
Afficher_pinceau_dans_menu();
// On affiche le curseur pour dbutter correctement l'tat du programme:
// On affiche le curseur pour débutter correctement l'état du programme:
Afficher_curseur();
Brouillon_Image_modifiee=0;
Principal_Image_modifiee=0;
// Le programme dbute en mode de dessin … la main
// Le programme débute en mode de dessin … la main
Enclencher_bouton(BOUTON_DESSIN,A_GAUCHE);
// On initialise la brosse initiale … 1 pixel blanc:
@@ -568,32 +568,32 @@ void Fermeture_du_programme(void)
// On libŠre le buffer de gestion de lignes
free(Buffer_de_ligne_horizontale);
// On libŠre le pinceau spcial
// On libŠre le pinceau spécial
free(Pinceau_Sprite);
// On libŠre la table prcalcule des distances de teintes
// On libŠre la table précalculée des distances de teintes
free(MC_Table_differences);
// On libŠre les diffrents crans virtuels et brosse:
// On libŠre les différents écrans virtuels et brosse:
free(Brosse);
Nouveau_nombre_de_backups(0);
free(Brouillon_Ecran);
free(Principal_Ecran);
// On libŠre galement les donnes de l'aide:
// On libŠre également les données de l'aide:
for (Bidon=0;Bidon<NB_SECTIONS_AIDE;Bidon++)
free(Table_d_aide[Bidon].Debut_de_la_liste);
Passer_en_mode_texte(Ancien_nb_lignes);
Clavier_de_depart();
// On prend bien soin de passer dans le rpertoire initial:
// On prend bien soin de passer dans le répertoire initial:
if (chdir(Repertoire_initial)!=-1)
{
/* A revoir ...
_dos_setdrive(Repertoire_initial[0]-64,&Bidon);
*/
// On sauvegarde les donnes dans le .CFG et dans le .INI
// On sauvegarde les données dans le .CFG et dans le .INI
if (Config.Auto_save)
{
Retour=Sauver_CFG();
@@ -609,7 +609,7 @@ void Fermeture_du_programme(void)
}
// -------------------------- Procdure principale ---------------------------
// -------------------------- Procédure principale ---------------------------
int main(int argc,char * argv[])
{
Initialisation_du_programme(argc,argv);
@@ -620,7 +620,7 @@ int main(int argc,char * argv[])
if (Un_fichier_a_ete_passe_en_parametre)
{
Bouton_reload();
Bouton_Reload();
Une_resolution_a_ete_passee_en_parametre=0;
}