diff --git a/const.h b/const.h index 37f99027..1e811ea6 100644 --- a/const.h +++ b/const.h @@ -100,7 +100,6 @@ enum CODES_D_ERREURS ERREUR_LIGNE_COMMANDE, // Erreur sur la ligne de commande ERREUR_DRIVER_SOURIS, // Pas de driver souris installé ERREUR_MODE_INTERDIT, // Mode demandé sur la ligne de commande interdit (coché en noir) - ERREUR_NUMERO_MODE, // Erreur de choix de mode sur la ligne de commande ERREUR_SAUVEGARDE_CFG, // Erreur en écriture pour GFX2.CFG ERREUR_REPERTOIRE_DISPARU, // Le répertoire de lancement n'existe plus ERREUR_INI_CORROMPU, // Le fichier GFX2.INI est corrompu diff --git a/gfx2.dat b/gfx2.dat index 2c380b40..3c7d9466 100644 Binary files a/gfx2.dat and b/gfx2.dat differ diff --git a/gfx2.ini b/gfx2.ini deleted file mode 100644 index 6d386988..00000000 --- a/gfx2.ini +++ /dev/null @@ -1,289 +0,0 @@ -###### GrafX2 initialization file ###### Fichier d'initialisation de GrafX2 ## -# # # # -# You may modify this file with any # Vous pouvez modifier ce fichier avec # -# standard ASCII text editor. # n'importe quel éditeur de texte # -# # ASCII standard. # -# # # -# Comments are preceded by ';' or # Les commentaires sont précédés par # -# '#'. # ';' ou '#'. # -# # # -# Options are not case sensitive and # Les options ne sont pas sensibles à # -# spaces are ignored. # la casse et les espaces sont ignorés.# -# # # -# You must not change the order of # Vous ne devez pas changer l'ordre # -# the sections and their options. # des sections et de leurs options. # -# You must not delete or put into # Vous ne devez pas effacer ou mettre # -# comment any section nor option. # en commentaire une section ou option.# -# # # -# Each option is preceded by a # Chaque option est précédée par un # -# comment which explains its meaning. # commentaire qui explique sa fonction.# -# # # -############################################################################## - - - -[MOUSE] # [SOURIS] - - ; The sensitivity of the mouse can | La sensibilité de la souris peut - ; take values from 1 to 64. The | prendre des valeurs de 1 à 64. Plus - ; smaller values, the faster. | les valeurs sont petites, plus c'est - ; | rapide. - X_sensitivity = 1 ; (default 3) - Y_sensitivity = 1 ; (default 3) - - ; Due to the fact that those stupid | A cause du fait que ces imbéciles de - ; mouse drivers' makers don't care | programmeurs de gestionnaires de - ; if the mouse moves by steps of 2, | souris se fichent que votre souris se - ; 4 or even 8 pixels, we have to | deplace par pas de 2, 4 ou même 8 - ; stretch the virtual area of the | pixels, nous devons élargir la zone - ; mouse and divide coordinates to | virtuelle de la souris et diviser les - ; get a one-pixel step motion. | coordonnées pour obtenir un pas de 1. - ; (Warning: the mouse movement can | (Attention: le déplacement de la - ; be correct in some video modes | souris peut être correct dans certains - ; but not in others... But all the | modes vidéos mais pas dans d'autres... - ; "Modes X" should behave the same | Mais tout les Modes X devraient se - ; way, so you won't have to test | comporter de la même manière, donc - ; them all). | vous n'aurez pas à tous les tester. - ; A correction factor of 0 means | Un facteur de correction de 0 signifie - ; that you are very lucky because | que vous avez de la chace car votre - ; your driver doesn't need any | driver n'a pas besoin de correction. - ; correction. If you set the | Si vous définissez le facteur de - ; correction factor to 1, it means | correction à 1, cela signifie que - ; that your mouse moves by steps of | votre souris se déplace par pas de 2 - ; 2 pixels; 2 for 4; 3 for 8, etc...| pixels; 2 pour 4; 3 pour 8, etc... - ; If you want to use GrafX2 in a | Si vous désirez lancer GrafX2 dans une - ; Win95 window, you should turn | fenêtre Windows95, vous devriez passer - ; these values to 0 (and increase X | ces valeurs à 0 (et augmenter les sen- - ; and Y sensitivities above). | sibilités X et Y définies plus haut). - X_correction_factor = 0 ; (default 3) - Y_correction_factor = 0 ; (default 3) - - ; Aspect of the main cursor (cross) | Aspect du curseur principal (croix) - ; 1: Solid | 1: Solide - ; 2: Transparent | 2: Transparent - ; 3: Thin (solid) | 3: Fin (solide) - Cursor_aspect = 3 ; (default 1) - - - -[MENU] # [MENU] - - ; Colors of the menus (the black | Couleurs des menus (la couleur noire - ; and the white colors cannot be | et la couleur blanche ne peuvent pas - ; modified). | être modifiées). - ; Values are in {Red,Green,Blue} | Les valeurs sont dans l'ordre {Rouge, - ; order and are between 0 and 63. | Vert,Bleu} et vont de 0 à 63. - Light_color = 42,42,42 ; (default 42,42,42) - Dark_color = 27,27,27 ; (default 27,27,27) - ; - ; Light_color = 24,25,30 ; \_ Nightmare - ; Dark_color = 13,14,19 ; / - ; - ; Light_color = 10,45,28 ; \_ Forest - ; Dark_color = 5,27,12 ; / - ; - ; Light_color = 48,41,26 ; \_ Gold - ; Dark_color = 26,22,15 ; / - ; - ; Light_color = 10,40,55 ; \_ Oceanic - ; Dark_color = 10,20,32 ; / - - ; Aspect ratio and size of the | Proportion des menus et de la barre - ; menus and the tool-bar. | d'outils. - ; Possible values: | Valeurs possibles: - ; 0: Do not adapt (pixels are not | 0: Ne pas adapter (les pixels ne sont - ; stretched) | pas étirés) - ; 1: Adapt the menus and the tool- | 1: Adapter les menus et la barre - ; bar according to the resolution| d'outils suivant la résolution - ; 2: Slightly adapt the ratio of | 2: Adapter légèrement les proportions - ; the menus and tool-bar | des menus et de la barre d'outils - Menu_ratio = 1 ; (default 1) - - ; Font: | Police de caractères (fonte): - ; 1: Classic | 1: Classique - ; 2: Fun | 2: Fun - Font = 2 ; (default 1) - - - -[FILE_SELECTOR] # [SELECTEUR_DE_FICHIERS] - - ; Show special files and | Afficher les fichiers et répertoires - ; directories (values are 'yes' or | spéciaux (les valeurs sont 'yes' ou - ; 'no'). | 'no'). - Show_hidden_files = no ; (default 'no') - Show_hidden_directories = no ; (default 'no') - Show_system_directories = no ; (default 'no') - - ; Delay before displaying a preview | Délai avant d'afficher une preview - ; in file-selectors (in 18.2th of | dans les sélecteurs de fichiers (en - ; second). Possible values range | 18.2èmes de seconde) Les valeurs - ; from 1 to 256. | possibles vont de 1 à 256. - Preview_delay = 8 ; (default 8) - - ; Maximize the preview of the | Maximiser la preview des images pour - ; pictures so that it is as big as | qu'elle soit aussi grande que - ; possible. If you're not in the | possible. - ; same resolution as the picture's | Si vous n'êtes pas dans la même réso- - ; one, it can try to correct the | lution que celle de l'image, cela peut - ; aspect ratio, but if the picture | essayer de corriger les proportions, - ; does not fill the whole screen, | mais si l'image ne prend pas tout - ; it can be worse. | l'écran, cela peut être pire. - Maximize_preview = yes ; (default 'no') - - ; This option is used to place the | Cette option est utilisée pour placer - ; selection bar on a filename by | la barre de sélection sur un nom de - ; typing its first letters. | fichier en tapant ses 1ères lettres. - ; For example, if you want to find | Par exemple, si vous voulez trouver le - ; the "PICTURE.PKM" in a directory | fichier "PICTURE.PKM" dans un réper- - ; that also contains "PALETTE.PAL", | toire contenant également le fichier - ; you'll just have to type P and I. | "PALETTE.PAL", vous n'aurez qu'à taper - ; The different values of "FFF" | P puis I. - ; indicate if you want to find the | Les different valeurs de "FFF" - ; name in both files and directories| indiquent si vous voulez trouvez le nom - ; or just in only one of these: | dans les fichiers ET les répertoires ou - ; 0: files and directories | simplement dans l'un OU l'autre. - ; 1: files only | 0: fichiers et répertoires - ; 2: directories only | 1: fichiers seulement - ; | 2: répertoires seulement - Find_file_fast = 0 ; (default 0) - - -[LOADING] # [CHARGEMENT] - - ; Automatically set the resolution | Passer automatiquement dans la bonne - ; when loading a picture. | résolution lors du chargement d'une - ; You should set this value to | image. - ; 'yes' after disabling the video | Vous devriez définir cette option à - ; modes that are not supported by | 'yes' après avoir inhibé les modes - ; your video card or monitor. | vidéo qui ne sont pas supportés par - ; | votre matériel. - Auto_set_resolution = yes ; (default 'no') - - ; If the variable above is set to | Si la variable ci-dessus est à 'yes', - ; 'yes', this one tells if you want | celle-ci indique si vous voulez - ; to set the resolution according | définir la résolution suivant: - ; to: | 1: les dimensions de "l'écran - ; 1: the internal "original screen" | d'origine" internes à l'image - ; dimensions of the picture | 2: les véritables dimensions de - ; 2: the actual dimensions of the | l'image - ; picture | - Set_resolution_according_to = 1 ; (default 1) - - ; If you load a picture with a | Si vous chargez une image ayant une - ; palette of less than 256 colors, | palette de moins de 256 couleurs, - ; this option defines if you want | cette option indique si vous souhaitez - ; to clear the palette or to keep | effacer la palette ou bien conserver - ; the colors of the previous | les couleurs de l'image précédente qui - ; picture that are over the number | se situent au-delà du nombre de la - ; of colors of the new picture. | nouvelle image. - ; For example, if you load a | Par exemple, si vous chargez une image - ; 32-color picture, the colors 32 | de 32 couleurs, les couleurs 32 à 255 - ; to 255 will be set to black if | seront passées en noir si cette option - ; this option is set to 'yes', or | est à 'yes', ou bien elles resteront - ; they will be kept unchanged if | inchangées si elle est à 'no'. - ; this option is set to 'no'. | - Clear_palette = yes ; (default 'yes') - - -[MISCELLANEOUS] # [DIVERS] - - ; Draw the limits of the picture. | Afficher les limites de l'image - Draw_limits = yes ; (default 'yes') - - ; Adjust the brush grabbing in | Ajuster la capture de brosse en mode - ; "grid" mode. | "grille". - Adjust_brush_pick = yes ; (default 'yes') - - ; Coordinates: | Coordonnées: - ; 1: Relative | 1: Relatives - ; 2: Absolute | 2: Absolues - Coordinates = 2 ; (default 1) - - ; Create a backup file when saving. | Créer un fichier backup lors des - ; | sauvegardes. - Backup = no ; (default 'no') - - ; Number of pages stored in memory | Nombre de pages stockées en mémoire - ; for "undoing". | destinées à annuler les dernières - ; Values are between 1 and 99. | modifications. Valeurs entre 1 et 99. - Undo_pages = 1 ; (default 1) - - ; Speed of the scroll-bars (in VBLs | Vitesse des barre de défilement (en - ; waited) while clicking with the | VBLs attendus) lorsque l'un des - ; left or right button of the mouse.| boutons de la souris est enfoncé. - ; Values can be between 1 and 255. | Les valeurs sont comprises entre 1 et - ; The bigger values, the slower. | 255. Plus elles sont grandes, plus - ; | c'est lent. - Gauges_scrolling_speed_Left = 10 ; (default 10) - Gauges_scrolling_speed_Right = 3 ; (default 3) - - ; Automatically save the configu- | Enregistre automatiquement la configu- - ; ration when exiting the program. | ration lorsqu'on quitte le programme. - Auto_save = yes ; (default 'yes') - - ; Maximum number of vertices used | Nombre maximum de vertex utilisés dans - ; in filled polygons and polyforms, | les polygônes et polyformes pleins, et - ; and lasso. Possible values range | le lasso. Les valeurs possibles vont - ; from 2 to 16384. | de 2 à 16384. - ; Each vertex takes 4 bytes. | Chaque vertex prend 4 octets. - Vertices_per_polygon = 1024 ; (default 1024) - - ; Automatically zoom into the | Zoomer automatiquement la zone pointée - ; pointed area when you press the | par la souris lorsque vous appuyez sur - ; short-key of the Magnifier button | la touche de raccourci de la loupe. - ; while being above the picture. | - Fast_zoom = yes ; (default 'yes') - - ; Separate the colors in the tool- | Séparer les couleurs dans la barre - ; bar by a black squaring. | d'outils par un quadrillage noir. - Separate_colors = no ; (default 'yes') - - ; Initial value of the feedback for | Valeur initiale du "feedback" pour les - ; the drawing modes (cf. docs). | modes de dessin (cf. docs). - FX_feedback = yes ; (default 'yes') - - ; When you reduce the palette or | Si vous réduisez la palette ou "zappez" - ; "zap" some colors out of it, it is| quelques couleurs, il est possible - ; possible that there are not enough| qu'il ne reste pas assez de couleurs - ; colors left to draw the menus. | pour afficher les menus. Mettre cette - ; Switching the following variable | variable à 'yes' ramènera automatiquent - ; on will bring back the colors of | les couleurs du menu s'il reste moins - ; the menu if there are less than 4 | de 4 couleurs après une "réduction" ou - ; colors left after "reducing" or | un "zapping". - ; "zapping". | - Safety_colors = no ; (default 'yes') - - ; Display a message at startup | Afficher un message au démarrage - ; telling the version number of the | indiquant le numéro de version du - ; program. | programme. - Opening_message = yes ; (default 'yes') - - ; Take the Stencil into account when| Prendre le Stencil en compte lorsqu'on - ; clearing the image. | efface l'image. - Clear_with_stencil = yes ; (default 'yes') - - ; Directly set the discontinuous | Passer automatiquement en mode de - ; freehand drawing mode after brush | dessin discontinu après la prise d'une - ; grabbing. | brosse. - Auto_discontinuous = no ; (default 'no') - - ; Save the screen dimensions in GIF | Sauver les dimensions de l'écran dans - ; files. If you want to read these | les fichiers GIF. Si vous voulez lire - ; files with Photoshop or Alchemy, | ces fichiers avec Photoshop ou Alchemy, - ; and maybe some other programs, you| et peut-être d'autres programmes, vous - ; must set this option to 'no'. | devez mettre cette option à 'no'. - Save_screen_size_in_GIF = no ; (default 'no') - - ; Automaticaly count the number of | Compter automatiquement le nombre de - ; different colors used when opening| couleurs différentes utilisées lors de - ; the palette editor window. (Set it| d'ouverture de la fenêtre d'édition de - ; to 'no' if you have a slow PC or | la palette. (Mettez-le à 'no' si vous - ; if you edit huge pictures) | avez un PC lent ou bien si vous éditez - ; | d'énormes images). - Auto_nb_colors_used = yes ; (default 'yes') - - ; Number of the default video mode | Numéro du mode vidéo par défaut au - ; at startup (see the list by typing| démarrage (voir la liste en tapant - ; "gfx2 /?" at the DOS prompt). | "gfx2 /?" sur la ligne de commande). - Default_video_mode = 0 ; (default 0) diff --git a/graph.c b/graph.c index 0b738b71..4ba0cada 100644 --- a/graph.c +++ b/graph.c @@ -893,14 +893,27 @@ void Afficher_limites_de_l_image(void) // Fonction retournant le libellé d'une mode (ex: " 320x200") char * Libelle_mode(int Mode) { - static char Chaine[9]; + static char Chaine[24]; + if (! Mode_video[Mode].Fullscreen) + return "window"; + sprintf(Chaine, "%dx%d", Mode_video[Mode].Largeur, Mode_video[Mode].Hauteur); - Num2str(Mode_video[Mode].Largeur,Chaine,4); - Chaine[4]='x'; - Num2str(Mode_video[Mode].Hauteur,Chaine+5,3); return Chaine; } +// Trouve un mode video à partir d'une chaine: soit "window", +// soit de la forme "320x200" +// Renvoie -1 si la chaine n'est pas convertible +int Conversion_argument_mode(const char *Argument) +{ + // Je suis paresseux alors je vais juste tester les libellés + int Indice_mode; + for (Indice_mode=0; Indice_mode> 3; Menu_Ordonnee = Hauteur_ecran; diff --git a/graph.h b/graph.h index 1e141b01..af551126 100644 --- a/graph.h +++ b/graph.h @@ -27,6 +27,7 @@ void Calculer_limites(void); void Calculer_coordonnees_pinceau(void); char* Libelle_mode(int Mode); +int Conversion_argument_mode(const char *Argument); void Initialiser_mode_video(int Largeur, int Hauteur, int Fullscreen); void Pixel_dans_barre_d_outil(word X,word Y,byte Couleur); diff --git a/main.c b/main.c index 53e69e32..f909938c 100644 --- a/main.c +++ b/main.c @@ -39,69 +39,14 @@ byte Ancien_nb_lignes; // Ancien nombre de lignes de l' //--- Affichage de la syntaxe, et de la liste des modes vidéos disponibles --- void Afficher_syntaxe(void) { - printf("Syntax: GFX2 [] [