Basic keyboard handling, default resolution set to 800x600 instead of 320x200

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@50 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues 2008-04-04 07:00:00 +00:00
parent 0c258716e4
commit 5c2811df34
3 changed files with 201 additions and 232 deletions

211
divers.c
View File

@ -136,6 +136,9 @@ void Get_input(void)
//On met le scancode dans Touche"
Touche = event.key.keysym.scancode;
//...et le code ASCII dans Touche_ASCII
Touche_ASCII=event.key.keysym.sym;
//On ajoute aussi l'état des modifiers
#define ekkm event.key.keysym.mod
if (ekkm & (KMOD_LSHIFT | KMOD_RSHIFT))
@ -150,139 +153,96 @@ void Get_input(void)
{
Touche |= 0x0400;
}
#undef ekkm
//TODO revoir les scancodes qui sont dans le tableau
//Config_Touche, ça correspond à rien !
//Cas particulier: déplacement du curseur avec haut bas gauche droite
//On doit interpréter ça comme un mvt de la souris
byte ok=0;
if(Touche == Config_Touche[0])
{
//[Touche] = Emulation de MOUSE UP
//si on est déjà en haut on peut plus bouger
if(INPUT_Nouveau_Mouse_Y!=0)
{
INPUT_Nouveau_Mouse_Y--;
ok=1;
}
}
else if(Touche == Config_Touche[1])
{
//[Touche] = Emulation de MOUSE DOWN
if(INPUT_Nouveau_Mouse_Y<Hauteur_ecran-1)
{
INPUT_Nouveau_Mouse_Y++;
ok=1;
}
}
else if(Touche == Config_Touche[2])
{
//[Touche] = Emulation de MOUSE LEFT
if(INPUT_Nouveau_Mouse_X!=0)
{
INPUT_Nouveau_Mouse_X--;
ok=1;
}
}
else if(Touche == Config_Touche[3])
{
//[Touche] = Emulation de MOUSE RIGHT
if(INPUT_Nouveau_Mouse_X<Largeur_ecran-1)
{
INPUT_Nouveau_Mouse_X++;
ok=1;
}
}
else if(Touche == Config_Touche[4])
{
//[Touche] = Emulation de MOUSE CLICK LEFT
INPUT_Nouveau_Mouse_K=1;
ok=1;
}
else if(Touche == Config_Touche[5])
{
//[Touche] = Emulation de MOUSE CLICK RIGHT
INPUT_Nouveau_Mouse_K=2;
ok=1;
}
if(ok)
{
/*
mov ax,Touche
; Test [Touche] = Emulation de MOUSE UP
cmp ax,word ptr[Config_Touche]
jne Get_input_Pas_emulation_Haut
cmp INPUT_Nouveau_Mouse_Y,0
je Get_input_Pas_de_touche
dec INPUT_Nouveau_Mouse_Y
jmp Get_input_Fin_emulation
Get_input_Pas_emulation_Haut:
; Test [Touche] = Emulation de MOUSE DOWN
cmp ax,word ptr[Config_Touche+2]
jne Get_input_Pas_emulation_Bas
mov ax,INPUT_Nouveau_Mouse_Y
mov bx,Hauteur_ecran
dec bx
cmp ax,bx
jae Get_input_Pas_de_touche
inc ax
mov INPUT_Nouveau_Mouse_Y,ax
jmp Get_input_Fin_emulation
Get_input_Pas_emulation_Bas:
; Test [Touche] = Emulation de MOUSE LEFT
cmp ax,word ptr[Config_Touche+4]
jne Get_input_Pas_emulation_Gauche
cmp INPUT_Nouveau_Mouse_X,0
je Get_input_Pas_de_touche
dec INPUT_Nouveau_Mouse_X
jmp Get_input_Fin_emulation
Get_input_Pas_emulation_Gauche:
; Test [Touche] = Emulation de MOUSE RIGHT
cmp ax,word ptr[Config_Touche+6]
jne Get_input_Pas_emulation_Droite
mov ax,INPUT_Nouveau_Mouse_X
mov bx,Largeur_ecran
dec bx
cmp ax,bx
jae Get_input_Pas_de_touche
inc ax
mov INPUT_Nouveau_Mouse_X,ax
jmp Get_input_Fin_emulation
Get_input_Pas_emulation_Droite:
; Test [Touche] = Emulation de MOUSE CLICK LEFT
cmp ax,word ptr[Config_Touche+8]
jne Get_input_Pas_emulation_Click_gauche
mov INPUT_Nouveau_Mouse_K,1
jmp Get_input_Pas_de_touche
Get_input_Pas_emulation_Click_gauche:
; Test [Touche] = Emulation de MOUSE CLICK RIGHT
cmp ax,word ptr[Config_Touche+10]
jne Get_input_Pas_de_touche
mov INPUT_Nouveau_Mouse_K,2
jmp Get_input_Pas_de_touche
Get_input_Fin_emulation:
mov cl,Mouse_Facteur_de_correction_X
mov ax,INPUT_Nouveau_Mouse_X
mov dx,INPUT_Nouveau_Mouse_Y
shl ax,cl
mov cl,Mouse_Facteur_de_correction_Y
shl dx,cl
mov cx,ax
dx=INPUT_Nouveau_Mouse_Y<<Mouse_Facteur_de_correction_Y
cx=INPUT_Nouveau_Mouse_X<<Mouse_Facteur_de_correction_X
mov ax,0004h
int 33h
break;
*/
puts("Get_Input > émulation curseur par clavier incomplète!");
}
}
}
//Gestion "avancée" du curseur: interdire la descente du curseur dans le
//menu lorsqu'on est en train de travailler dans l'image
if(Operation_Taille_pile!=0)
{
byte bl=0;//BL va indiquer si on doit corriger la position du curseur
//Si le curseur ne se trouve plus dans l'image
if(Menu_Ordonnee<INPUT_Nouveau_Mouse_Y)
{
//On bloque le curseur en fin d'image
bl++;
INPUT_Nouveau_Mouse_Y=Menu_Ordonnee-1; //La ligne !!au-dessus!! du menu
}
if(Loupe_Mode != 0)
{
/*
Get_input_Pas_de_touche:
; Gestion "avancée" du curseur: interdire la descente du curseur dans le
; menu lorsqu'on est en train de travailler dans l'image
cmp Operation_Taille_pile,0
je Get_input_Pas_de_correction
xor bl,bl ; BL va indiquer si on doit corriger la position du curseur
; Si le curseur ne se trouve plus dans l'image
mov ax,Menu_Ordonnee
cmp INPUT_Nouveau_Mouse_Y,ax
jb Get_input_Fin_correction_Y
; On bloque le curseur en fin d'image
dec ax ; La ligne !!au-dessus!! du menu
inc bl
mov INPUT_Nouveau_Mouse_Y,ax
Get_input_Fin_correction_Y:
cmp Loupe_Mode,0
jz Get_input_Fin_correction_X
mov ax,INPUT_Nouveau_Mouse_X
cmp Operation_dans_loupe,0
jnz Get_input_X_dans_loupe
@ -306,7 +266,9 @@ void Get_input(void)
mov INPUT_Nouveau_Mouse_X,dx
Get_input_Fin_correction_X:
*/
}
/*
or bl,bl
jz Get_input_Pas_de_correction_du_curseur
@ -329,7 +291,7 @@ void Get_input(void)
jz Get_input_Pas_de_correction
; Enfin, on inhibe les touches (sauf si c'est un changement de couleur
; ou de taille de pinceau lors d'une des operations suivantes:
; OPERATION_DESSIN_CONTINU, OPERATION_DESSIN_DISCONTINU, OPERATION_SPRAY
; OPERATION_DESSIN_CONTINU, OPERATION_DESSIN_DISCONTINU, OPERATION_SPRAY)
cmp Autoriser_changement_de_couleur_pendant_operation,0
jz Get_input_Il_faut_inhiber_les_touches
@ -360,8 +322,8 @@ void Get_input(void)
mov word ptr Touche,0
Get_input_Pas_de_correction:
*/
}
if (INPUT_Nouveau_Mouse_X != Mouse_X || INPUT_Nouveau_Mouse_Y != Mouse_Y || INPUT_Nouveau_Mouse_K != Mouse_K )
{
@ -674,3 +636,4 @@ byte Get_key(void)
puts("Get_key non implémenté!");
return 0;
}

180
gfx2.ini
View File

@ -1,21 +1,21 @@
###### 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 #
# standard ASCII text editor. # n'importe quel éditeur de texte #
# # ASCII standard. #
# # #
# Comments are preceded by ';' or # Les commentaires sont prcds par #
# 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 ignors.#
# 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 prcde par un #
# 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.#
# # #
##############################################################################
@ -24,37 +24,37 @@
[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
; 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 = 3 ; (default 3)
Y_sensitivity = 3 ; (default 3)
; Due to the fact that those stupid ³ A cause du fait que ces imbciles de
; 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
; 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. ³ coordonnes pour obtenir un pas de 1.
; (Warning: the mouse movement can ³ (Attention: le dplacement de la
; be correct in some video modes ³ souris peut ˆtre correct dans certains
; but not in others... But all the ³ modes vidos mais pas dans d'autres...
; 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.
; 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 dfinissez le facteur de
; correction factor to 1, it means ³ correction 1, cela signifie que
; that your mouse moves by steps of ³ votre souris se dplace par pas de 2
; 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 dsirez 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). ³ sibilits X et Y dfinies plus haut).
; 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 = 1 ; (default 3)
Y_correction_factor = 1 ; (default 3)
@ -70,9 +70,9 @@
; 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 modifies).
; 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.
; 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)
;
@ -92,14 +92,14 @@
; 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 tirs)
; 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 rsolution
; 2: Slightly adapt the ratio of ³ 2: Adapter lrement les proportions
; 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):
; Font: ³ Police de caractères (fonte):
; 1: Classic ³ 1: Classique
; 2: Fun ³ 2: Fun
Font = 2 ; (default 1)
@ -108,64 +108,64 @@
[FILE_SELECTOR] # [SELECTEUR_DE_FICHIERS]
; Show special files and ³ Afficher les fichiers et rpertoires
; directories (values are 'yes' or ³ spciaux (les valeurs sont 'yes' ou
; 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 = yes ; (default 'no')
Show_hidden_directories = yes ; (default 'no')
Show_system_directories = yes ; (default 'no')
; Delay before displaying a preview ³ Dlai avant d'afficher une preview
; in file-selectors (in 18.2th of ³ dans les slecteurs de fichiers (en
; second). Possible values range ³ 18.2Šmes de seconde) Les valeurs
; from 1 to 256. ³ possibles vont de 1 256.
; 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 rso-
; 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.
; it can be worse. ³ l'écran, cela peut être pire.
Maximize_preview = no ; (default 'no')
; This option is used to place the ³ Cette option est utilise pour placer
; selection bar on a filename by ³ la barre de slection sur un nom de
; typing its first letters. ³ fichier en tapant ses 1Šres lettres.
; 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 rper-
; 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 "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 rpertoires ou
; 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 rpertoires
; 1: files only ³ 0: fichiers et répertoires
; 2: directories only ³ 1: fichiers seulement
; ³ 2: rpertoires 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. ³ rsolution lors du chargement d'une
; 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 dfinir cette option …
; modes that are not supported by ³ 'yes' aprŠs avoir inhib les modes
; your video card or monitor. ³ vido qui ne sont pas supports par
; ³ votre matriel.
; '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 = no ; (default 'no')
; If the variable above is set to ³ Si la variable ci-dessus est 'yes',
; 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 ³ dfinir la rsolution suivant:
; to: ³ 1: les dimensions de "l'cran
; 1: the internal "original screen" ³ d'origine" internes l'image
; dimensions of the picture ³ 2: les vritables dimensions de
; 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)
@ -174,14 +174,14 @@
; 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 prcdente qui
; picture that are over the number ³ se situent au-del du nombre de la
; 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 passes en noir si cette option
; this option is set to 'yes', or ³ est 'yes', ou bien elles resteront
; they will be kept unchanged if ³ inchanges si elle est … 'no'.
; 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')
@ -195,23 +195,23 @@
; "grid" mode. ³ "grille".
Adjust_brush_pick = yes ; (default 'yes')
; Coordinates: ³ Coordonnes:
; Coordinates: ³ Coordonnées:
; 1: Relative ³ 1: Relatives
; 2: Absolute ³ 2: Absolues
Coordinates = 1 ; (default 1)
; Create a backup file when saving. ³ Crer un fichier backup lors des
; 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 stockes en mmoire
; for "undoing". ³ destines … annuler les derniŠres
; 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 dfilement (en
; 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.
; 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.
@ -222,20 +222,20 @@
; 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 utiliss dans
; in filled polygons and polyforms, ³ les polygnes et polyformes pleins, et
; 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.
; 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 pointe
; 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- ³ Sparer les couleurs dans la barre
; 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 = yes ; (default 'yes')
@ -243,19 +243,19 @@
; the drawing modes (cf. docs). ³ modes de dessin (cf. docs).
FX_feedback = yes ; (default 'yes')
; When you reduce the palette or ³ Si vous rduisez la palette ou "zappez"
; 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
; 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 "rduction" ou
; 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 = yes ; (default 'yes')
; Display a message at startup ³ Afficher un message au dmarrage
; telling the version number of the ³ indiquant le numro de version du
; 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')
@ -264,26 +264,26 @@
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
; 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
; 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'.
; 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 diffrentes utilises 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).
; 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 ³ Numro du mode vido par dfaut au
; at startup (see the list by typing³ dmarrage (voir la liste en tapant
; 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)
Default_video_mode = 58 ; (default 0)

42
init.c
View File

@ -257,7 +257,7 @@ void Charger_DAT(void)
Taille_fichier=Informations_Fichier.st_size;
if (Taille_fichier!=TAILLE_FICHIER_DATA)
Erreur(ERREUR_DAT_CORROMPU);
Handle=open(Nom_du_fichier,O_RDONLY);
if (Handle==-1)
Erreur(ERREUR_DAT_ABSENT);
@ -304,7 +304,7 @@ void Charger_DAT(void)
if (read(Handle,TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES)!=2*16*NB_TRAMES_PREDEFINIES)
Erreur(ERREUR_DAT_CORROMPU);
Decrypte((byte *)TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES);
// Lecture des fontes 8x8:
if (!(Fonte_temporaire=(byte *)malloc(2048)))
Erreur(ERREUR_MEMOIRE);
@ -372,7 +372,7 @@ void Charger_DAT(void)
}
close(Handle);
Section_d_aide_en_cours=0;
Position_d_aide_en_cours=0;
@ -1775,10 +1775,10 @@ int Charger_CFG(int Tout_charger)
stat(Nom_du_fichier,&Informations_Fichier);
Taille_fichier=Informations_Fichier.st_size;
if ((Handle=open(Nom_du_fichier,O_RDONLY))==-1)
return ERREUR_CFG_ABSENT;
if ( (Taille_fichier<sizeof(CFG_Header))
|| (read(Handle,&CFG_Header,sizeof(CFG_Header))!=sizeof(CFG_Header))
|| memcmp(CFG_Header.Signature,"CFG",3) )
@ -1789,10 +1789,10 @@ int Charger_CFG(int Tout_charger)
|| (CFG_Header.Beta1!=BETA1)
|| (CFG_Header.Beta2!=BETA2) )
goto Erreur_config_ancienne;
if (Taille_fichier!=TAILLE_FICHIER_CONFIG)
goto Erreur_lecture_config;
// - Lecture des infos contenues dans le fichier de config -
while (read(Handle,&(Chunk.Numero),sizeof(byte))==sizeof(byte))
{
@ -1813,21 +1813,27 @@ int Charger_CFG(int Tout_charger)
goto Erreur_lecture_config;
else
{
#if __BYTE_ORDER == __BIG_ENDIAN
CFG_Infos_touche.Touche=bswap_16(CFG_Infos_touche.Touche);
CFG_Infos_touche.Touche2=bswap_16(CFG_Infos_touche.Touche2);
CFG_Infos_touche.Numero=bswap_16(CFG_Infos_touche.Numero);
#endif
for (Indice2=0;
#if __BYTE_ORDER == __BIG_ENDIAN
CFG_Infos_touche.Touche=bswap_16(CFG_Infos_touche.Touche);
CFG_Infos_touche.Touche2=bswap_16(CFG_Infos_touche.Touche2);
CFG_Infos_touche.Numero=bswap_16(CFG_Infos_touche.Numero);
#endif
for (Indice2=0;
((Indice2<NB_TOUCHES) && (Numero_option[Indice2]!=CFG_Infos_touche.Numero));
Indice2++);
if (Indice2<NB_TOUCHES)
{
if (Indice2<NB_TOUCHES)
{
switch(Ordonnancement[Indice2]>>8)
{
case 0 : Config_Touche[Ordonnancement[Indice2]&0xFF]=CFG_Infos_touche.Touche; break;
case 1 : Bouton[Ordonnancement[Indice2]&0xFF].Raccourci_gauche=CFG_Infos_touche.Touche; break;
case 2 : Bouton[Ordonnancement[Indice2]&0xFF].Raccourci_droite=CFG_Infos_touche.Touche; break;
case 0 :
Config_Touche[Ordonnancement[Indice2]&0xFF]=CFG_Infos_touche.Touche;
break;
case 1 :
Bouton[Ordonnancement[Indice2]&0xFF].Raccourci_gauche = CFG_Infos_touche.Touche;
break;
case 2 :
Bouton[Ordonnancement[Indice2]&0xFF].Raccourci_droite = CFG_Infos_touche.Touche;
break;
}
}
else