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" //On met le scancode dans Touche"
Touche = event.key.keysym.scancode; 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 //On ajoute aussi l'état des modifiers
#define ekkm event.key.keysym.mod #define ekkm event.key.keysym.mod
if (ekkm & (KMOD_LSHIFT | KMOD_RSHIFT)) if (ekkm & (KMOD_LSHIFT | KMOD_RSHIFT))
@ -150,139 +153,96 @@ void Get_input(void)
{ {
Touche |= 0x0400; 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 //Cas particulier: déplacement du curseur avec haut bas gauche droite
//On doit interpréter ça comme un mvt de la souris //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 dx=INPUT_Nouveau_Mouse_Y<<Mouse_Facteur_de_correction_Y
cx=INPUT_Nouveau_Mouse_X<<Mouse_Facteur_de_correction_X
; 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
mov ax,0004h mov ax,0004h
int 33h 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 mov ax,INPUT_Nouveau_Mouse_X
cmp Operation_dans_loupe,0 cmp Operation_dans_loupe,0
jnz Get_input_X_dans_loupe jnz Get_input_X_dans_loupe
@ -306,7 +266,9 @@ void Get_input(void)
mov INPUT_Nouveau_Mouse_X,dx mov INPUT_Nouveau_Mouse_X,dx
Get_input_Fin_correction_X: Get_input_Fin_correction_X:
*/
}
/*
or bl,bl or bl,bl
jz Get_input_Pas_de_correction_du_curseur jz Get_input_Pas_de_correction_du_curseur
@ -329,7 +291,7 @@ void Get_input(void)
jz Get_input_Pas_de_correction jz Get_input_Pas_de_correction
; Enfin, on inhibe les touches (sauf si c'est un changement de couleur ; Enfin, on inhibe les touches (sauf si c'est un changement de couleur
; ou de taille de pinceau lors d'une des operations suivantes: ; 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 cmp Autoriser_changement_de_couleur_pendant_operation,0
jz Get_input_Il_faut_inhiber_les_touches jz Get_input_Il_faut_inhiber_les_touches
@ -360,8 +322,8 @@ void Get_input(void)
mov word ptr Touche,0 mov word ptr Touche,0
Get_input_Pas_de_correction: Get_input_Pas_de_correction:
*/ */
}
if (INPUT_Nouveau_Mouse_X != Mouse_X || INPUT_Nouveau_Mouse_Y != Mouse_Y || INPUT_Nouveau_Mouse_K != Mouse_K ) 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é!"); puts("Get_key non implémenté!");
return 0; return 0;
} }

180
gfx2.ini
View File

@ -1,21 +1,21 @@
###### GrafX2 initialization file ###### Fichier d'initialisation de GrafX2 ## ###### GrafX2 initialization file ###### Fichier d'initialisation de GrafX2 ##
# # # # # # # #
# You may modify this file with any # Vous pouvez modifier ce fichier avec # # 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. # # # 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 '#'. # # '#'. # ';' ou '#'. #
# # # # # #
# Options are not case sensitive and # Les options ne sont pas sensibles # # Options are not case sensitive and # Les options ne sont pas sensibles à #
# spaces are ignored. # la casse et les espaces sont ignors.# # 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 # # 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. # # 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 # # 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.# # 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.# # comment which explains its meaning. # commentaire qui explique sa fonction.#
# # # # # #
############################################################################## ##############################################################################
@ -24,37 +24,37 @@
[MOUSE] # [SOURIS] [MOUSE] # [SOURIS]
; The sensitivity of the mouse can ³ La sensibilit de la souris peut ; 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 ; 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 ; smaller values, the faster. ³ les valeurs sont petites, plus c'est
; ³ rapide. ; ³ rapide.
X_sensitivity = 3 ; (default 3) X_sensitivity = 3 ; (default 3)
Y_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 ; 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 ; 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 ; 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 ; stretch the virtual area of the ³ pixels, nous devons élargir la zone
; mouse and divide coordinates to ³ virtuelle de la souris et diviser les ; 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. ; get a one-pixel step motion. ³ coordonnées pour obtenir un pas de 1.
; (Warning: the mouse movement can ³ (Attention: le dplacement de la ; (Warning: the mouse movement can ³ (Attention: le déplacement de la
; be correct in some video modes ³ souris peut ˆtre correct dans certains ; 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... ; 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 ; "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 ; 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. ; them all). ³ vous n'aurez pas à tous les tester.
; A correction factor of 0 means ³ Un facteur de correction de 0 signifie ; 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 ; 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. ; 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. If you set the ³ Si vous définissez le facteur de
; correction factor to 1, it means ³ correction 1, cela signifie que ; 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 ; 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... ; 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 ; 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 ; 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- ; 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). ; and Y sensitivities above). ³ sibilités X et Y définies plus haut).
X_correction_factor = 1 ; (default 3) X_correction_factor = 1 ; (default 3)
Y_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 ; 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 ; 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, ; 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) Light_color = 42,42,42 ; (default 42,42,42)
Dark_color = 27,27,27 ; (default 27,27,27) Dark_color = 27,27,27 ; (default 27,27,27)
; ;
@ -92,14 +92,14 @@
; menus and the tool-bar. ³ d'outils. ; menus and the tool-bar. ³ d'outils.
; Possible values: ³ Valeurs possibles: ; Possible values: ³ Valeurs possibles:
; 0: Do not adapt (pixels are not ³ 0: Ne pas adapter (les pixels ne sont ; 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 ; 1: Adapt the menus and the tool- ³ 1: Adapter les menus et la barre
; bar according to the resolution³ d'outils suivant la rsolution ; bar according to the resolution³ d'outils suivant la résolution
; 2: Slightly adapt the ratio of ³ 2: Adapter lrement les proportions ; 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 ; the menus and tool-bar ³ des menus et de la barre d'outils
Menu_ratio = 1 ; (default 1) Menu_ratio = 1 ; (default 1)
; Font: ³ Police de caractŠres (fonte): ; Font: ³ Police de caractères (fonte):
; 1: Classic ³ 1: Classique ; 1: Classic ³ 1: Classique
; 2: Fun ³ 2: Fun ; 2: Fun ³ 2: Fun
Font = 2 ; (default 1) Font = 2 ; (default 1)
@ -108,64 +108,64 @@
[FILE_SELECTOR] # [SELECTEUR_DE_FICHIERS] [FILE_SELECTOR] # [SELECTEUR_DE_FICHIERS]
; Show special files and ³ Afficher les fichiers et rpertoires ; Show special files and ³ Afficher les fichiers et répertoires
; directories (values are 'yes' or ³ spciaux (les valeurs sont 'yes' ou ; directories (values are 'yes' or ³ spéciaux (les valeurs sont 'yes' ou
; 'no'). ³ 'no'). ; 'no'). ³ 'no').
Show_hidden_files = yes ; (default 'no') Show_hidden_files = yes ; (default 'no')
Show_hidden_directories = yes ; (default 'no') Show_hidden_directories = yes ; (default 'no')
Show_system_directories = yes ; (default 'no') Show_system_directories = yes ; (default 'no')
; Delay before displaying a preview ³ Dlai avant d'afficher une preview ; Delay before displaying a preview ³ Délai avant d'afficher une preview
; in file-selectors (in 18.2th of ³ dans les slecteurs de fichiers (en ; 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 ; second). Possible values range ³ 18.2èmes de seconde) Les valeurs
; from 1 to 256. ³ possibles vont de 1 256. ; from 1 to 256. ³ possibles vont de 1 à 256.
Preview_delay = 8 ; (default 8) Preview_delay = 8 ; (default 8)
; Maximize the preview of the ³ Maximiser la preview des images pour ; 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 ; pictures so that it is as big as ³ qu'elle soit aussi grande que
; possible. If you're not in the ³ possible. ; 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 ; 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, ; 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 ; 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') Maximize_preview = no ; (default 'no')
; This option is used to place the ³ Cette option est utilise pour placer ; This option is used to place the ³ Cette option est utilisée pour placer
; selection bar on a filename by ³ la barre de slection sur un nom de ; 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. ; 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 ; 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- ; the "PICTURE.PKM" in a directory ³ fichier "PICTURE.PKM" dans un réper-
; that also contains "PALETTE.PAL", ³ toire contenant galement le fichier ; 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 ; you'll just have to type P and I. ³ "PALETTE.PAL", vous n'aurez qu'à taper
; The different values of "FFF" ³ P puis I. ; The different values of "FFF" ³ P puis I.
; indicate if you want to find the ³ Les different valeurs de "FFF" ; 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 ; 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. ; 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: directories only ³ 1: fichiers seulement
; ³ 2: rpertoires seulement ; ³ 2: répertoires seulement
Find_file_fast = 0 ; (default 0) Find_file_fast = 0 ; (default 0)
[LOADING] # [CHARGEMENT] [LOADING] # [CHARGEMENT]
; Automatically set the resolution ³ Passer automatiquement dans la bonne ; 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. ; You should set this value to ³ image.
; 'yes' after disabling the video ³ Vous devriez dfinir cette option … ; 'yes' after disabling the video ³ Vous devriez définir cette option à
; modes that are not supported by ³ 'yes' aprŠs avoir inhib les modes ; 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 ; your video card or monitor. ³ vidéo qui ne sont pas supportés par
; ³ votre matriel. ; ³ votre matériel.
Auto_set_resolution = no ; (default 'no') 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 ; 'yes', this one tells if you want ³ celle-ci indique si vous voulez
; to set the resolution according ³ dfinir la rsolution suivant: ; to set the resolution according ³ définir la résolution suivant:
; to: ³ 1: les dimensions de "l'cran ; to: ³ 1: les dimensions de "l'écran
; 1: the internal "original screen" ³ d'origine" internes l'image ; 1: the internal "original screen" ³ d'origine" internes à l'image
; dimensions of the picture ³ 2: les vritables dimensions de ; dimensions of the picture ³ 2: les véritables dimensions de
; 2: the actual dimensions of the ³ l'image ; 2: the actual dimensions of the ³ l'image
; picture ³ ; picture ³
Set_resolution_according_to = 1 ; (default 1) Set_resolution_according_to = 1 ; (default 1)
@ -174,14 +174,14 @@
; palette of less than 256 colors, ³ palette de moins de 256 couleurs, ; palette of less than 256 colors, ³ palette de moins de 256 couleurs,
; this option defines if you want ³ cette option indique si vous souhaitez ; 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 ; 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 ; 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 ; picture that are over the number ³ se situent au-delà du nombre de la
; of colors of the new picture. ³ nouvelle image. ; of colors of the new picture. ³ nouvelle image.
; For example, if you load a ³ Par exemple, si vous chargez une 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 ; 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 ; 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 ; this option is set to 'yes', or ³ est à 'yes', ou bien elles resteront
; they will be kept unchanged if ³ inchanges si elle est … 'no'. ; they will be kept unchanged if ³ inchangées si elle est à 'no'.
; this option is set to 'no'. ³ ; this option is set to 'no'. ³
Clear_palette = yes ; (default 'yes') Clear_palette = yes ; (default 'yes')
@ -195,23 +195,23 @@
; "grid" mode. ³ "grille". ; "grid" mode. ³ "grille".
Adjust_brush_pick = yes ; (default 'yes') Adjust_brush_pick = yes ; (default 'yes')
; Coordinates: ³ Coordonnes: ; Coordinates: ³ Coordonnées:
; 1: Relative ³ 1: Relatives ; 1: Relative ³ 1: Relatives
; 2: Absolute ³ 2: Absolues ; 2: Absolute ³ 2: Absolues
Coordinates = 1 ; (default 1) 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. ; ³ sauvegardes.
Backup = no ; (default 'no') Backup = no ; (default 'no')
; Number of pages stored in memory ³ Nombre de pages stockes en mmoire ; Number of pages stored in memory ³ Nombre de pages stockées en mémoire
; for "undoing". ³ destines … annuler les derniŠres ; for "undoing". ³ destinées à annuler les dernières
; Values are between 1 and 99. ³ modifications. Valeurs entre 1 et 99. ; Values are between 1 and 99. ³ modifications. Valeurs entre 1 et 99.
Undo_pages = 1 ; (default 1) 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 ; 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 ; 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 ; The bigger values, the slower. ³ 255. Plus elles sont grandes, plus
; ³ c'est lent. ; ³ c'est lent.
@ -222,20 +222,20 @@
; ration when exiting the program. ³ ration lorsqu'on quitte le programme. ; ration when exiting the program. ³ ration lorsqu'on quitte le programme.
Auto_save = yes ; (default 'yes') Auto_save = yes ; (default 'yes')
; Maximum number of vertices used ³ Nombre maximum de vertex utiliss dans ; Maximum number of vertices used ³ Nombre maximum de vertex utilisés dans
; in filled polygons and polyforms, ³ les polygnes et polyformes pleins, et ; in filled polygons and polyforms, ³ les polygônes et polyformes pleins, et
; and lasso. Possible values range ³ le lasso. Les valeurs possibles vont ; 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. ; Each vertex takes 4 bytes. ³ Chaque vertex prend 4 octets.
Vertices_per_polygon = 1024 ; (default 1024) 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 ; 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. ; short-key of the Magnifier button ³ la touche de raccourci de la loupe.
; while being above the picture. ³ ; while being above the picture. ³
Fast_zoom = yes ; (default 'yes') 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. ; bar by a black squaring. ³ d'outils par un quadrillage noir.
Separate_colors = yes ; (default 'yes') Separate_colors = yes ; (default 'yes')
@ -243,19 +243,19 @@
; the drawing modes (cf. docs). ³ modes de dessin (cf. docs). ; the drawing modes (cf. docs). ³ modes de dessin (cf. docs).
FX_feedback = yes ; (default 'yes') 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 ; "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 ; 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 ; 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 ; 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". ; colors left after "reducing" or ³ un "zapping".
; "zapping". ³ ; "zapping". ³
Safety_colors = yes ; (default 'yes') Safety_colors = yes ; (default 'yes')
; Display a message at startup ³ Afficher un message au dmarrage ; Display a message at startup ³ Afficher un message au démarrage
; telling the version number of the ³ indiquant le numro de version du ; telling the version number of the ³ indiquant le numéro de version du
; program. ³ programme. ; program. ³ programme.
Opening_message = yes ; (default 'yes') Opening_message = yes ; (default 'yes')
@ -264,26 +264,26 @@
Clear_with_stencil = yes ; (default 'yes') Clear_with_stencil = yes ; (default 'yes')
; Directly set the discontinuous ³ Passer automatiquement en mode de ; 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. ; grabbing. ³ brosse.
Auto_discontinuous = no ; (default 'no') 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. If you want to read these ³ les fichiers GIF. Si vous voulez lire
; files with Photoshop or Alchemy, ³ ces fichiers avec Photoshop ou Alchemy, ; files with Photoshop or Alchemy, ³ ces fichiers avec Photoshop ou Alchemy,
; and maybe some other programs, you³ et peut-ˆtre d'autres programmes, vous ; and maybe some other programs, you³ et peut-être d'autres programmes, vous
; must set this option to 'no'. ³ devez mettre cette option 'no'. ; must set this option to 'no'. ³ devez mettre cette option à 'no'.
Save_screen_size_in_GIF = no ; (default 'no') Save_screen_size_in_GIF = no ; (default 'no')
; Automaticaly count the number of ³ Compter automatiquement le nombre de ; Automaticaly count the number of ³ Compter automatiquement le nombre de
; different colors used when opening³ couleurs diffrentes utilises lors 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 ; 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 ; 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 ; if you edit huge pictures) ³ avez un PC lent ou bien si vous éditez
; ³ d'normes images). ; ³ d'énormes images).
Auto_nb_colors_used = yes ; (default 'yes') Auto_nb_colors_used = yes ; (default 'yes')
; Number of the default video mode ³ Numro du mode vido par dfaut au ; Number of the default video mode ³ Numéro du mode vidéo par défaut au
; at startup (see the list by typing³ dmarrage (voir la liste en tapant ; 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). ; "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; Taille_fichier=Informations_Fichier.st_size;
if (Taille_fichier!=TAILLE_FICHIER_DATA) if (Taille_fichier!=TAILLE_FICHIER_DATA)
Erreur(ERREUR_DAT_CORROMPU); Erreur(ERREUR_DAT_CORROMPU);
Handle=open(Nom_du_fichier,O_RDONLY); Handle=open(Nom_du_fichier,O_RDONLY);
if (Handle==-1) if (Handle==-1)
Erreur(ERREUR_DAT_ABSENT); 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) if (read(Handle,TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES)!=2*16*NB_TRAMES_PREDEFINIES)
Erreur(ERREUR_DAT_CORROMPU); Erreur(ERREUR_DAT_CORROMPU);
Decrypte((byte *)TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES); Decrypte((byte *)TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES);
// Lecture des fontes 8x8: // Lecture des fontes 8x8:
if (!(Fonte_temporaire=(byte *)malloc(2048))) if (!(Fonte_temporaire=(byte *)malloc(2048)))
Erreur(ERREUR_MEMOIRE); Erreur(ERREUR_MEMOIRE);
@ -372,7 +372,7 @@ void Charger_DAT(void)
} }
close(Handle); close(Handle);
Section_d_aide_en_cours=0; Section_d_aide_en_cours=0;
Position_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); stat(Nom_du_fichier,&Informations_Fichier);
Taille_fichier=Informations_Fichier.st_size; Taille_fichier=Informations_Fichier.st_size;
if ((Handle=open(Nom_du_fichier,O_RDONLY))==-1) if ((Handle=open(Nom_du_fichier,O_RDONLY))==-1)
return ERREUR_CFG_ABSENT; return ERREUR_CFG_ABSENT;
if ( (Taille_fichier<sizeof(CFG_Header)) if ( (Taille_fichier<sizeof(CFG_Header))
|| (read(Handle,&CFG_Header,sizeof(CFG_Header))!=sizeof(CFG_Header)) || (read(Handle,&CFG_Header,sizeof(CFG_Header))!=sizeof(CFG_Header))
|| memcmp(CFG_Header.Signature,"CFG",3) ) || memcmp(CFG_Header.Signature,"CFG",3) )
@ -1789,10 +1789,10 @@ int Charger_CFG(int Tout_charger)
|| (CFG_Header.Beta1!=BETA1) || (CFG_Header.Beta1!=BETA1)
|| (CFG_Header.Beta2!=BETA2) ) || (CFG_Header.Beta2!=BETA2) )
goto Erreur_config_ancienne; goto Erreur_config_ancienne;
if (Taille_fichier!=TAILLE_FICHIER_CONFIG) if (Taille_fichier!=TAILLE_FICHIER_CONFIG)
goto Erreur_lecture_config; goto Erreur_lecture_config;
// - Lecture des infos contenues dans le fichier de config - // - Lecture des infos contenues dans le fichier de config -
while (read(Handle,&(Chunk.Numero),sizeof(byte))==sizeof(byte)) while (read(Handle,&(Chunk.Numero),sizeof(byte))==sizeof(byte))
{ {
@ -1813,21 +1813,27 @@ int Charger_CFG(int Tout_charger)
goto Erreur_lecture_config; goto Erreur_lecture_config;
else else
{ {
#if __BYTE_ORDER == __BIG_ENDIAN #if __BYTE_ORDER == __BIG_ENDIAN
CFG_Infos_touche.Touche=bswap_16(CFG_Infos_touche.Touche); CFG_Infos_touche.Touche=bswap_16(CFG_Infos_touche.Touche);
CFG_Infos_touche.Touche2=bswap_16(CFG_Infos_touche.Touche2); CFG_Infos_touche.Touche2=bswap_16(CFG_Infos_touche.Touche2);
CFG_Infos_touche.Numero=bswap_16(CFG_Infos_touche.Numero); CFG_Infos_touche.Numero=bswap_16(CFG_Infos_touche.Numero);
#endif #endif
for (Indice2=0; for (Indice2=0;
((Indice2<NB_TOUCHES) && (Numero_option[Indice2]!=CFG_Infos_touche.Numero)); ((Indice2<NB_TOUCHES) && (Numero_option[Indice2]!=CFG_Infos_touche.Numero));
Indice2++); Indice2++);
if (Indice2<NB_TOUCHES) if (Indice2<NB_TOUCHES)
{ {
switch(Ordonnancement[Indice2]>>8) switch(Ordonnancement[Indice2]>>8)
{ {
case 0 : Config_Touche[Ordonnancement[Indice2]&0xFF]=CFG_Infos_touche.Touche; break; case 0 :
case 1 : Bouton[Ordonnancement[Indice2]&0xFF].Raccourci_gauche=CFG_Infos_touche.Touche; break; Config_Touche[Ordonnancement[Indice2]&0xFF]=CFG_Infos_touche.Touche;
case 2 : Bouton[Ordonnancement[Indice2]&0xFF].Raccourci_droite=CFG_Infos_touche.Touche; break; 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 else