gfx2.dat is now replaced by an editable "skin" file: 'gfx2gui.gif', and a reference INI file: 'gfx2def.ini'.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@557 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
c018c13352
commit
e302f2d26a
12
Makefile
12
Makefile
@ -225,9 +225,9 @@ release : $(BIN) $(CFGBIN)
|
||||
# A release zip archive
|
||||
ziprelease: version $(BIN) $(BINCFG) release
|
||||
tar cvzf src-svn`svnversion | sed 's/:/-/'`.tgz *.c *.h Makefile Makefile.dep gfx2.ico gfx2cfg.ico
|
||||
$(ZIP) $(ZIPOPT) grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-$(PLATFORM).$(ZIP) $(BIN) $(CFGBIN) gfx2.dat gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png doc/README-zlib1.txt doc/README-SDL.txt doc/README-SDL_image.txt doc/README-SDL_ttf.txt fonts/Tuffy.ttf src-svn`svnversion | sed 's/:/-/'`.tgz $(PLATFORMFILES)
|
||||
$(ZIP) $(ZIPOPT) grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-$(PLATFORM).$(ZIP) $(BIN) $(CFGBIN) gfx2def.ini gfx2gui.gif gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png doc/README-zlib1.txt doc/README-SDL.txt doc/README-SDL_image.txt doc/README-SDL_ttf.txt fonts/Tuffy.ttf src-svn`svnversion | sed 's/:/-/'`.tgz $(PLATFORMFILES)
|
||||
$(DELCOMMAND) src-svn`svnversion | sed 's/:/-/'`.tgz
|
||||
tar cvzf grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-src.tgz *.c *.h Makefile Makefile.dep gfx2.dat gfx2.ico gfx2cfg.ico gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png fonts/Tuffy.ttf
|
||||
tar cvzf grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-src.tgz *.c *.h Makefile Makefile.dep gfx2def.ini gfx2gui.gif gfx2.ico gfx2cfg.ico gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png fonts/Tuffy.ttf
|
||||
|
||||
$(BIN) : $(OBJ) $(OBJRES)
|
||||
$(CC) $(OBJ) $(OBJRES) -o $(BIN) $(LOPT)
|
||||
@ -249,7 +249,7 @@ $(OBJDIR)/%.o :
|
||||
$(CC) $(COPT) -c $*.c -o $(OBJDIR)/$*.o
|
||||
|
||||
depend :
|
||||
$(CC) -MM *.c | sed 's:^[^ ]:$$(OBJDIR)/&:' > Makefile.dep
|
||||
$(CC) -MMG *.c | sed 's:^[^ ]:$$(OBJDIR)/&:' > Makefile.dep
|
||||
|
||||
$(OBJDIR)/winres.o : gfx2.ico
|
||||
echo "1 ICON \"gfx2.ico\"" | $(WINDRES) -o $(OBJDIR)/winres.o
|
||||
@ -271,7 +271,8 @@ install : $(BIN) $(CFGBIN)
|
||||
$(if $(wildcard $(datadir)/grafx2),,$(MKDIR) $(datadir)/grafx2)
|
||||
$(CP) $(BIN) $(datadir)/grafx2/
|
||||
$(CP) $(CFGBIN) $(datadir)/grafx2/
|
||||
$(CP) gfx2.dat $(datadir)/grafx2/
|
||||
$(CP) gfx2def.ini $(datadir)/grafx2/
|
||||
$(CP) gfx2gui.gif $(datadir)/grafx2/
|
||||
$(CP) gfx2.gif $(datadir)/grafx2/
|
||||
$(CP) gfx2cfg.gif $(datadir)/grafx2/
|
||||
$(if $(wildcard $(datadir)/grafx2/fonts),,$(MKDIR) $(datadir)/grafx2/fonts)
|
||||
@ -283,7 +284,8 @@ uninstall :
|
||||
$(DELCOMMAND) $(bindir)/gfxcfg
|
||||
$(DELCOMMAND) $(datadir)/grafx2/$(BIN)
|
||||
$(DELCOMMAND) $(datadir)/grafx2/$(CFGBIN)
|
||||
$(DELCOMMAND) $(datadir)/grafx2/gfx2.dat
|
||||
$(DELCOMMAND) $(datadir)/grafx2/gfx2def.ini
|
||||
$(DELCOMMAND) $(datadir)/grafx2/gfx2gui.gif
|
||||
$(DELCOMMAND) $(datadir)/grafx2/gfx2.gif
|
||||
$(DELCOMMAND) $(datadir)/grafx2/gfx2cfg.gif
|
||||
$(DELCOMMAND) $(datadir)/grafx2/fonts/*
|
||||
|
||||
35
aide.c
35
aide.c
@ -87,7 +87,7 @@ void Afficher_aide(void)
|
||||
short Repeat_Menu_Facteur_Y;
|
||||
short Pos_Reel_X;
|
||||
short Pos_Reel_Y;
|
||||
int Curseur;
|
||||
byte * Curseur;
|
||||
short Largeur; // Largeur physique d'une ligne de texte
|
||||
char TypeLigne; // N: Normale, T: Titre, S: Sous-titre
|
||||
// -: Ligne inférieur de sous-titre
|
||||
@ -143,29 +143,38 @@ void Afficher_aide(void)
|
||||
// On crée une nouvelle ligne à splotcher
|
||||
for (Indice_de_caractere=0;Indice_de_caractere<Largeur;Indice_de_caractere++)
|
||||
{
|
||||
// Recherche du caractère dans la fonte de 315 symboles.
|
||||
// Recherche du caractère dans les fontes de l'aide.
|
||||
// Ligne titre : Si l'indice est impair on dessine le quart de caractère
|
||||
// qui va a gauche, sinon celui qui va a droite.
|
||||
|
||||
if (TypeLigne=='T')
|
||||
Curseur=Caracteres_Aide_Titre_haut[(unsigned char)(Ligne[Indice_de_caractere/2])-' '] + (Indice_de_caractere & 1);
|
||||
{
|
||||
if (Ligne[Indice_de_caractere/2]>'_' || Ligne[Indice_de_caractere/2]<' ')
|
||||
Curseur=&(Fonte_help_norm['!'][0][0]); // Caractère pas géré
|
||||
else if (Indice_de_caractere & 1)
|
||||
Curseur=&(Fonte_help_t2[(unsigned char)(Ligne[Indice_de_caractere/2])-' '][0][0]);
|
||||
else
|
||||
Curseur=&(Fonte_help_t1[(unsigned char)(Ligne[Indice_de_caractere/2])-' '][0][0]);
|
||||
}
|
||||
else if (TypeLigne=='-')
|
||||
Curseur=Caracteres_Aide_Titre_bas[(unsigned char)(Ligne[Indice_de_caractere/2])-' '] + (Indice_de_caractere & 1);
|
||||
{
|
||||
if (Ligne[Indice_de_caractere/2]>'_' || Ligne[Indice_de_caractere/2]<' ')
|
||||
Curseur=&(Fonte_help_norm['!'][0][0]); // Caractère pas géré
|
||||
else if (Indice_de_caractere & 1)
|
||||
Curseur=&(Fonte_help_t4[(unsigned char)(Ligne[Indice_de_caractere/2])-' '][0][0]);
|
||||
else
|
||||
Curseur=&(Fonte_help_t3[(unsigned char)(Ligne[Indice_de_caractere/2])-' '][0][0]);
|
||||
}
|
||||
else if (TypeLigne=='S')
|
||||
Curseur=Caracteres_Aide_S[(unsigned char)(Ligne[Indice_de_caractere])-' '];
|
||||
Curseur=&(Fonte_help_bold[(unsigned char)(Ligne[Indice_de_caractere])][0][0]);
|
||||
else if (TypeLigne=='N' || TypeLigne=='K')
|
||||
Curseur=Caracteres_Aide_N[(unsigned char)(Ligne[Indice_de_caractere])-' '];
|
||||
Curseur=&(Fonte_help_norm[(unsigned char)(Ligne[Indice_de_caractere])][0][0]);
|
||||
else
|
||||
Curseur=1; // Un garde-fou en cas de probleme
|
||||
Curseur=&(Fonte_help_norm['!'][0][0]); // Un garde-fou en cas de probleme
|
||||
|
||||
// Un deuxième garde-fou
|
||||
if (Curseur < 0 || Curseur > 315)
|
||||
Curseur = 1; // '!' affiché pour les caractères non prévus
|
||||
|
||||
for (X=0;X<6;X++)
|
||||
for (Repeat_Menu_Facteur_X=0;Repeat_Menu_Facteur_X<Menu_Facteur_X;Repeat_Menu_Facteur_X++)
|
||||
{
|
||||
byte Couleur = Fonte_help[Curseur][X][Y];
|
||||
byte Couleur = *(Curseur+X+Y*6);
|
||||
// Surlignement pour liens
|
||||
if (TypeLigne=='K' && Indice_de_caractere>=Position_lien
|
||||
&& Indice_de_caractere<(Position_lien+Taille_lien))
|
||||
|
||||
7
const.h
7
const.h
@ -28,14 +28,12 @@
|
||||
|
||||
#define M_2PI 6.28318530717958647692528676656
|
||||
|
||||
// Note: La taille du fichier GFX2.DAT est définie au début de INIT.C !
|
||||
#define POURCENTAGE_VERSION "98.0%" // Libellé du pourcentage de la version ß
|
||||
#define VERSION1 2 // |
|
||||
#define VERSION2 0 // |_ Numéro de version découpé en
|
||||
#define BETA1 97 // | plusieurs parties => 2.0 ß95.5%
|
||||
#define BETA2 0 // | (utilisé pour le fichier de config)
|
||||
#define ALPHA_BETA "ß" // Type de la version "Þ" ou "ß"
|
||||
#define DAT_DEBUT_INI_PAR_DEFAUT 0xF385 // Dans gfx2.dat, début du fichier gfx2.ini standard
|
||||
#define MAX_MODES_VIDEO 100 // Nombre de modes vidéo maxi
|
||||
#define NB_BOUTONS 38 // Nombre de boutons à gérer
|
||||
#define NB_TOUCHES 134 // Nombre de combinaisons de touches
|
||||
@ -118,8 +116,9 @@ enum FORMATS_RECONNUS
|
||||
enum CODES_D_ERREURS
|
||||
{
|
||||
// 0 = Flash rouge de l'écran, erreur non critique
|
||||
ERREUR_DAT_ABSENT=1, // Le fichier GFX2.DAT est absent
|
||||
ERREUR_DAT_CORROMPU, // Mauvais fichier GFX2.DAT
|
||||
ERREUR_GUI_ABSENT=1, // Le fichier gfx2gui.gif est absent
|
||||
ERREUR_GUI_CORROMPU, // Mauvais fichier gfx2gui.gif
|
||||
ERREUR_INI_ABSENT, // Le fichier gfx2def.ini est absent
|
||||
ERREUR_CFG_ABSENT, // Le fichier GFX2.CFG est absent
|
||||
ERREUR_CFG_CORROMPU, // Mauvais fichier GFX2.CFG
|
||||
ERREUR_CFG_ANCIEN, // Ancienne version du fichier GFX2.CFG
|
||||
|
||||
292
gfx2def.ini
Normal file
292
gfx2def.ini
Normal file
@ -0,0 +1,292 @@
|
||||
###### 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 0)
|
||||
Y_correction_factor = 0 ; (default 0)
|
||||
|
||||
; 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 = 1 ; (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 = 1 ; (default 1)
|
||||
|
||||
|
||||
|
||||
[FILE_SELECTOR] # [SELECTEUR_DE_FICHIERS]
|
||||
|
||||
; Show hidden files and | Afficher les fichiers et répertoires
|
||||
; directories (values are 'yes' or | cachés (les valeurs sont 'yes' ou
|
||||
; 'no'). | 'no').
|
||||
Show_hidden_files = no ; (default 'no')
|
||||
Show_hidden_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 = no ; (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 = no ; (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 = 1 ; (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 = 4 ; (default 4)
|
||||
|
||||
; 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 'no')
|
||||
|
||||
; 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 = yes ; (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')
|
||||
|
||||
; Default video mode at startup | Numéro du mode vidéo par défaut au
|
||||
; (see the list by running the | démarrage (voir la liste en lançant
|
||||
; program with argument "/?". | le programme avec l'option "/?".
|
||||
Default_video_mode = window ; (default 'window')
|
||||
|
||||
; Window dimensions. The program | Dimensions de la fenêtre en mode
|
||||
; remembers the last window size. | fenêtré.
|
||||
Default_window_size = 640,480 ; (default '640,480')
|
||||
BIN
gfx2gui.gif
Normal file
BIN
gfx2gui.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
9
global.h
9
global.h
@ -560,7 +560,14 @@ GFX2_GLOBAL byte * Logo_GrafX2;
|
||||
|
||||
GFX2_GLOBAL byte Fonte_systeme[256*8*8];
|
||||
GFX2_GLOBAL byte Fonte_fun [256*8*8];
|
||||
GFX2_GLOBAL byte Fonte_help [315][6][8];
|
||||
GFX2_GLOBAL byte Fonte_help_norm [256][6][8];
|
||||
GFX2_GLOBAL byte Fonte_help_bold [256][6][8];
|
||||
// 12
|
||||
// 34
|
||||
GFX2_GLOBAL byte Fonte_help_t1 [64][6][8];
|
||||
GFX2_GLOBAL byte Fonte_help_t2 [64][6][8];
|
||||
GFX2_GLOBAL byte Fonte_help_t3 [64][6][8];
|
||||
GFX2_GLOBAL byte Fonte_help_t4 [64][6][8];
|
||||
GFX2_GLOBAL byte * Fonte;
|
||||
|
||||
// Les données de l'aide:
|
||||
|
||||
499
init.c
499
init.c
@ -32,6 +32,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <SDL_byteorder.h>
|
||||
#include <SDL_image.h>
|
||||
#if defined(__WIN32__)
|
||||
#include <windows.h> // GetLogicalDrives(), GetDriveType(), DRIVE_*
|
||||
#endif
|
||||
@ -57,6 +58,7 @@
|
||||
#include "files.h"
|
||||
#include "setup.h"
|
||||
#include "windows.h"
|
||||
#include "sdlscreen.h"
|
||||
#include "mountlist.h" // read_file_system_list
|
||||
|
||||
// Ajouter un lecteur à la liste de lecteurs
|
||||
@ -185,114 +187,439 @@ int ActiverLecteur(int NumeroLecteur)
|
||||
return chdir(Drive[NumeroLecteur].Chemin);
|
||||
}
|
||||
|
||||
void Charger_DAT(void)
|
||||
// Fonctions de lecture dans la skin de l'interface graphique
|
||||
void Chercher_bas(SDL_Surface *GUI, int *Debut_X, int *Debut_Y, byte Couleur_neutre,char * Section)
|
||||
{
|
||||
FILE* Handle;
|
||||
int Taille_fichier;
|
||||
int Indice;
|
||||
char Nom_du_fichier[TAILLE_CHEMIN_FICHIER];
|
||||
byte * Fonte_temporaire;
|
||||
byte Pos_X;
|
||||
byte Pos_Y;
|
||||
|
||||
struct stat Informations_Fichier;
|
||||
|
||||
strcpy(Nom_du_fichier,Repertoire_des_donnees);
|
||||
strcat(Nom_du_fichier,"gfx2.dat");
|
||||
|
||||
if(stat(Nom_du_fichier,&Informations_Fichier))
|
||||
byte Couleur;
|
||||
int Y;
|
||||
Y=*Debut_Y;
|
||||
*Debut_X=0;
|
||||
do
|
||||
{
|
||||
switch(errno)
|
||||
Couleur=Sdl_Get_pixel_8(GUI,*Debut_X,Y);
|
||||
if (Couleur!=Couleur_neutre)
|
||||
{
|
||||
case EACCES: puts("La permission de parcours est refusée pour un des répertoires contenu dans le chemin path."); break;
|
||||
case EBADF: puts("filedes est un mauvais descripteur."); break;
|
||||
case EFAULT: puts("Un pointeur se trouve en dehors de l'espace d'adressage."); break;
|
||||
case ENAMETOOLONG: puts("Nom de fichier trop long."); break;
|
||||
case ENOENT: puts("The file path is empty or points to a non-existing directory."); break;
|
||||
case ENOMEM: puts("Pas assez de mémoire pour le noyau."); break;
|
||||
case ENOTDIR: puts("Un composant du chemin d'accès n'est pas un répertoire."); break;
|
||||
#ifdef ELOOP
|
||||
case ELOOP: puts("Trop de liens symboliques rencontrés dans le chemin d'accès."); break;
|
||||
#endif
|
||||
*Debut_Y=Y;
|
||||
return;
|
||||
}
|
||||
Y++;
|
||||
} while (Y<GUI->h);
|
||||
|
||||
printf("Error in skin file: Was looking down from %d,%d for a '%s', and reached the end of the image\n",
|
||||
*Debut_X, *Debut_Y, Section);
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
|
||||
void Chercher_droite(SDL_Surface *GUI, int *Debut_X, int Debut_Y, byte Couleur_neutre, char * Section)
|
||||
{
|
||||
byte Couleur;
|
||||
int X;
|
||||
X=*Debut_X;
|
||||
|
||||
do
|
||||
{
|
||||
Couleur=Sdl_Get_pixel_8(GUI,X,Debut_Y);
|
||||
if (Couleur!=Couleur_neutre)
|
||||
{
|
||||
*Debut_X=X;
|
||||
return;
|
||||
}
|
||||
X++;
|
||||
} while (X<GUI->w);
|
||||
|
||||
printf("Error in skin file: Was looking right from %d,%d for a '%s', and reached the edege of the image\n",
|
||||
*Debut_X, Debut_Y, Section);
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
|
||||
void Lire_bloc(SDL_Surface *GUI, int Debut_X, int Debut_Y, void *Dest, int Largeur, int Hauteur, char * Section, int Type)
|
||||
{
|
||||
// Type: 0 = normal GUI element, only 4 colors allowed
|
||||
// Type: 1 = mouse cursor, 4 colors allowed + transparent
|
||||
// Type: 2 = brush icon or sieve pattern (only CM_Blanc and CM_Trans)
|
||||
// Type: 3 = raw bitmap (splash screen)
|
||||
|
||||
byte * Ptr=Dest;
|
||||
int X,Y;
|
||||
byte Couleur;
|
||||
|
||||
// Verification taille
|
||||
if (Debut_Y+Hauteur>=GUI->h || Debut_X+Largeur>=GUI->w)
|
||||
{
|
||||
printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but it doesn't fit the image.\n",
|
||||
Debut_X, Debut_Y, Hauteur, Largeur, Section);
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
|
||||
for (Y=Debut_Y; Y<Debut_Y+Hauteur; Y++)
|
||||
{
|
||||
for (X=Debut_X; X<Debut_X+Largeur; X++)
|
||||
{
|
||||
Couleur=Sdl_Get_pixel_8(GUI,X,Y);
|
||||
if (Type==0 && (Couleur != CM_Noir && Couleur != CM_Fonce && Couleur != CM_Clair && Couleur != CM_Blanc))
|
||||
{
|
||||
printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the GUI colors (which were detected as %d,%d,%d,%d.\n",
|
||||
Debut_X, Debut_Y, Hauteur, Largeur, Section, X, Y, Couleur, CM_Noir, CM_Fonce, CM_Clair, CM_Blanc);
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
if (Type==1 && (Couleur != CM_Noir && Couleur != CM_Fonce && Couleur != CM_Clair && Couleur != CM_Blanc && Couleur != CM_Trans))
|
||||
{
|
||||
printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the mouse colors (which were detected as %d,%d,%d,%d,%d.\n",
|
||||
Debut_X, Debut_Y, Hauteur, Largeur, Section, X, Y, Couleur, CM_Noir, CM_Fonce, CM_Clair, CM_Blanc, CM_Trans);
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
if (Type==2)
|
||||
{
|
||||
if (Couleur != CM_Blanc && Couleur != CM_Trans)
|
||||
{
|
||||
printf("Error in skin file: Was looking at %d,%d for a %d*%d object (%s) but at %d,%d a pixel was found with color %d which isn't one of the brush colors (which were detected as %d on %d.\n",
|
||||
Debut_X, Debut_Y, Hauteur, Largeur, Section, X, Y, Couleur, CM_Blanc, CM_Trans);
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
// Conversion en 0/1 pour les brosses monochromes internes
|
||||
Couleur = (Couleur != CM_Trans);
|
||||
}
|
||||
*Ptr=Couleur;
|
||||
Ptr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Taille_fichier=Informations_Fichier.st_size;
|
||||
if (Taille_fichier<DAT_DEBUT_INI_PAR_DEFAUT)
|
||||
void Lire_trame(SDL_Surface *GUI, int Debut_X, int Debut_Y, word *Dest, char * Section)
|
||||
{
|
||||
byte Buffer[256];
|
||||
int X,Y;
|
||||
|
||||
Lire_bloc(GUI, Debut_X, Debut_Y, Buffer, 16, 16, Section, 2);
|
||||
|
||||
for (Y=0; Y<16; Y++)
|
||||
{
|
||||
DEBUG("Taille",0);
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
*Dest=0;
|
||||
for (X=0; X<16; X++)
|
||||
{
|
||||
*Dest=*Dest | Buffer[Y*16+X]<<X;
|
||||
}
|
||||
Dest++;
|
||||
}
|
||||
}
|
||||
|
||||
Handle=fopen(Nom_du_fichier,"rb");
|
||||
if (Handle==NULL)
|
||||
|
||||
void Charger_DAT(void)
|
||||
{
|
||||
int Indice;
|
||||
char Nom_du_fichier[TAILLE_CHEMIN_FICHIER];
|
||||
SDL_Surface * GUI;
|
||||
SDL_Palette * SDLPal;
|
||||
int i;
|
||||
int Curseur_X=0,Curseur_Y=0;
|
||||
byte Couleur;
|
||||
byte CM_Neutre; // Couleur neutre utilisée pour délimiter les éléments GUI
|
||||
int Car_1=0; // Indices utilisés pour les 4 "fontes" qui composent les
|
||||
int Car_2=0; // grands titres de l'aide. Chaque indice avance dans
|
||||
int Car_3=0; // l'une des fontes dans l'ordre : 1 2
|
||||
int Car_4=0; // 3 4
|
||||
|
||||
// Lecture du fichier "skin"
|
||||
strcpy(Nom_du_fichier,Repertoire_des_donnees);
|
||||
strcat(Nom_du_fichier,"gfx2gui.gif");
|
||||
GUI=IMG_Load(Nom_du_fichier);
|
||||
if (!GUI)
|
||||
{
|
||||
DEBUG("Absent",0);
|
||||
Erreur(ERREUR_DAT_ABSENT);
|
||||
Erreur(ERREUR_GUI_ABSENT);
|
||||
}
|
||||
if (!GUI->format || GUI->format->BitsPerPixel != 8)
|
||||
{
|
||||
printf("Not a 8-bit image");
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
SDLPal=GUI->format->palette;
|
||||
if (!SDLPal || SDLPal->ncolors!=256)
|
||||
{
|
||||
printf("Not a 256-color palette");
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
// Lecture de la palette par défaut
|
||||
for (i=0; i<256; i++)
|
||||
{
|
||||
Palette_defaut[i].R=SDLPal->colors[i].r;
|
||||
Palette_defaut[i].V=SDLPal->colors[i].g;
|
||||
Palette_defaut[i].B=SDLPal->colors[i].b;
|
||||
}
|
||||
|
||||
// Carré "noir"
|
||||
CM_Noir = Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
|
||||
do
|
||||
{
|
||||
if (++Curseur_X>=GUI->w)
|
||||
{
|
||||
printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
|
||||
} while(Couleur==CM_Noir);
|
||||
// Carré "foncé"
|
||||
CM_Fonce=Couleur;
|
||||
do
|
||||
{
|
||||
if (++Curseur_X>=GUI->w)
|
||||
{
|
||||
printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
|
||||
} while(Couleur==CM_Fonce);
|
||||
// Carré "clair"
|
||||
CM_Clair=Couleur;
|
||||
do
|
||||
{
|
||||
if (++Curseur_X>GUI->w)
|
||||
{
|
||||
printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
|
||||
} while(Couleur==CM_Clair);
|
||||
// Carré "blanc"
|
||||
CM_Blanc=Couleur;
|
||||
do
|
||||
{
|
||||
if (++Curseur_X>=GUI->w)
|
||||
{
|
||||
printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
|
||||
} while(Couleur==CM_Blanc);
|
||||
// Carré "transparent"
|
||||
CM_Trans=Couleur;
|
||||
do
|
||||
{
|
||||
if (++Curseur_X>=GUI->w)
|
||||
{
|
||||
printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y);
|
||||
} while(Couleur==CM_Trans);
|
||||
// Reste : couleur neutre
|
||||
CM_Neutre=Couleur;
|
||||
|
||||
if (!read_bytes(Handle, Palette_defaut,sizeof(T_Palette)))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
Palette_64_to_256(Palette_defaut);
|
||||
|
||||
Curseur_X=0;
|
||||
Curseur_Y=1;
|
||||
while ((Couleur=Sdl_Get_pixel_8(GUI,Curseur_X,Curseur_Y))==CM_Noir)
|
||||
{
|
||||
Curseur_Y++;
|
||||
if (Curseur_Y>=GUI->h)
|
||||
{
|
||||
printf("Error in GUI skin file: should start with 5 consecutive squares for black, dark, light, white, transparent, then a neutral color\n");
|
||||
Erreur(ERREUR_GUI_CORROMPU);
|
||||
}
|
||||
}
|
||||
|
||||
// Menu
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "menu");
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, BLOCK_MENU, LARGEUR_MENU, HAUTEUR_MENU,"menu",0);
|
||||
Curseur_Y+=HAUTEUR_MENU;
|
||||
|
||||
if (!read_bytes(Handle, BLOCK_MENU,LARGEUR_MENU*HAUTEUR_MENU))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
// Effets
|
||||
for (i=0; i<NB_SPRITES_EFFETS; i++)
|
||||
{
|
||||
if (i==0)
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "effect sprite");
|
||||
else
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "effect sprite");
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_EFFET[i], LARGEUR_SPRITE_MENU, HAUTEUR_SPRITE_MENU, "effect sprite",0);
|
||||
Curseur_X+=LARGEUR_SPRITE_MENU;
|
||||
}
|
||||
Curseur_Y+=HAUTEUR_SPRITE_MENU;
|
||||
|
||||
// Curseurs souris
|
||||
for (i=0; i<NB_SPRITES_CURSEUR; i++)
|
||||
{
|
||||
if (i==0)
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "mouse cursor");
|
||||
else
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "mouse cursor");
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_CURSEUR[i], LARGEUR_SPRITE_CURSEUR, HAUTEUR_SPRITE_CURSEUR, "mouse cursor",1);
|
||||
Curseur_X+=LARGEUR_SPRITE_CURSEUR;
|
||||
}
|
||||
Curseur_Y+=HAUTEUR_SPRITE_CURSEUR;
|
||||
|
||||
// Sprites menu
|
||||
for (i=0; i<NB_SPRITES_MENU; i++)
|
||||
{
|
||||
if (i==0)
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "menu sprite");
|
||||
else
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "menu sprite");
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_MENU[i], LARGEUR_SPRITE_MENU, HAUTEUR_SPRITE_MENU, "menu sprite",1);
|
||||
Curseur_X+=LARGEUR_SPRITE_MENU;
|
||||
}
|
||||
Curseur_Y+=HAUTEUR_SPRITE_MENU;
|
||||
|
||||
// Icones des Pinceaux
|
||||
for (i=0; i<NB_SPRITES_PINCEAU; i++)
|
||||
{
|
||||
// Rangés par ligne de 12
|
||||
if ((i%12)==0)
|
||||
{
|
||||
if (i!=0)
|
||||
Curseur_Y+=HAUTEUR_PINCEAU;
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "brush icon");
|
||||
}
|
||||
else
|
||||
{
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "brush icon");
|
||||
}
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_PINCEAU[i], LARGEUR_PINCEAU, HAUTEUR_PINCEAU, "brush icon",2);
|
||||
Curseur_X+=LARGEUR_PINCEAU;
|
||||
}
|
||||
Curseur_Y+=HAUTEUR_PINCEAU;
|
||||
|
||||
if (!read_bytes(Handle, SPRITE_EFFET,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_EFFETS))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
|
||||
if (!read_bytes(Handle, SPRITE_CURSEUR,LARGEUR_SPRITE_CURSEUR*HAUTEUR_SPRITE_CURSEUR*NB_SPRITES_CURSEUR))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
|
||||
if (!read_bytes(Handle, SPRITE_MENU,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_MENU))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
|
||||
if (!read_bytes(Handle, SPRITE_PINCEAU,LARGEUR_PINCEAU*HAUTEUR_PINCEAU*NB_SPRITES_PINCEAU))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
|
||||
if (!read_bytes(Handle, SPRITE_DRIVE,LARGEUR_SPRITE_DRIVE*HAUTEUR_SPRITE_DRIVE*NB_SPRITES_DRIVES))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
// Sprites drive
|
||||
for (i=0; i<NB_SPRITES_DRIVES; i++)
|
||||
{
|
||||
if (i==0)
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "sprite drive");
|
||||
else
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "sprite drive");
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, SPRITE_DRIVE[i], LARGEUR_SPRITE_DRIVE, HAUTEUR_SPRITE_DRIVE, "sprite drive",1);
|
||||
Curseur_X+=LARGEUR_SPRITE_DRIVE;
|
||||
}
|
||||
Curseur_Y+=HAUTEUR_SPRITE_DRIVE;
|
||||
|
||||
// Logo splash screen
|
||||
if (!(Logo_GrafX2=(byte *)malloc(231*56)))
|
||||
Erreur(ERREUR_MEMOIRE);
|
||||
if (!read_bytes(Handle, Logo_GrafX2,231*56))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
|
||||
if (!read_bytes(Handle, TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
|
||||
// Lecture des fontes 8x8:
|
||||
if (!(Fonte_temporaire=(byte *)malloc(2048)))
|
||||
Erreur(ERREUR_MEMOIRE);
|
||||
|
||||
// Lecture de la fonte système
|
||||
if (!read_bytes(Handle, Fonte_temporaire,2048))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
for (Indice=0;Indice<256;Indice++)
|
||||
for (Pos_X=0;Pos_X<8;Pos_X++)
|
||||
for (Pos_Y=0;Pos_Y<8;Pos_Y++)
|
||||
Fonte_systeme[(Indice<<6)+(Pos_X<<3)+Pos_Y]=( ((*(Fonte_temporaire+(Indice*8)+Pos_Y))&(0x80>>Pos_X)) ? 1 : 0);
|
||||
|
||||
// Lecture de la fonte alternative
|
||||
if (!read_bytes(Handle, Fonte_temporaire,2048))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
for (Indice=0;Indice<256;Indice++)
|
||||
for (Pos_X=0;Pos_X<8;Pos_X++)
|
||||
for (Pos_Y=0;Pos_Y<8;Pos_Y++)
|
||||
Fonte_fun[(Indice<<6)+(Pos_X<<3)+Pos_Y]=( ((*(Fonte_temporaire+(Indice*8)+Pos_Y))&(0x80>>Pos_X)) ? 1 : 0);
|
||||
|
||||
free(Fonte_temporaire);
|
||||
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "logo menu");
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, Logo_GrafX2, 231, 56, "logo menu",3);
|
||||
Curseur_Y+=56;
|
||||
|
||||
// Trames
|
||||
for (i=0; i<NB_TRAMES_PREDEFINIES; i++)
|
||||
{
|
||||
if (i==0)
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "sieve pattern");
|
||||
else
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "sieve pattern");
|
||||
Lire_trame(GUI, Curseur_X, Curseur_Y, TRAME_PREDEFINIE[i],"sieve pattern");
|
||||
Curseur_X+=16;
|
||||
}
|
||||
Curseur_Y+=16;
|
||||
|
||||
// Fonte Système
|
||||
for (i=0; i<256; i++)
|
||||
{
|
||||
// Rangés par ligne de 32
|
||||
if ((i%32)==0)
|
||||
{
|
||||
if (i!=0)
|
||||
Curseur_Y+=8;
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "system font");
|
||||
}
|
||||
else
|
||||
{
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "system font");
|
||||
}
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, &Fonte_systeme[i*64], 8, 8, "system font",2);
|
||||
Curseur_X+=8;
|
||||
}
|
||||
Curseur_Y+=8;
|
||||
Fonte=Fonte_systeme;
|
||||
|
||||
// Lecture de la fonte 6x8: (spéciale aide)
|
||||
if (!read_bytes(Handle, Fonte_help,315*6*8))
|
||||
Erreur(ERREUR_DAT_CORROMPU);
|
||||
// Fonte Fun
|
||||
for (i=0; i<256; i++)
|
||||
{
|
||||
// Rangés par ligne de 32
|
||||
if ((i%32)==0)
|
||||
{
|
||||
if (i!=0)
|
||||
Curseur_Y+=8;
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "fun font");
|
||||
}
|
||||
else
|
||||
{
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "fun font");
|
||||
}
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, &Fonte_fun[i*64], 8, 8, "fun font",2);
|
||||
Curseur_X+=8;
|
||||
}
|
||||
Curseur_Y+=8;
|
||||
|
||||
// Le reste est actuellement une copie du fichier INI par défaut:
|
||||
// Pas besoin ici.
|
||||
// Fonte help normale
|
||||
for (i=0; i<256; i++)
|
||||
{
|
||||
// Rangés par ligne de 32
|
||||
if ((i%32)==0)
|
||||
{
|
||||
if (i!=0)
|
||||
Curseur_Y+=8;
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "help font (norm)");
|
||||
}
|
||||
else
|
||||
{
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "help font (norm)");
|
||||
}
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, &(Fonte_help_norm[i][0][0]), 6, 8, "help font (norm)",0);
|
||||
Curseur_X+=6;
|
||||
}
|
||||
Curseur_Y+=8;
|
||||
|
||||
// Fonte help bold
|
||||
for (i=0; i<256; i++)
|
||||
{
|
||||
// Rangés par ligne de 32
|
||||
if ((i%32)==0)
|
||||
{
|
||||
if (i!=0)
|
||||
Curseur_Y+=8;
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "help font (bold)");
|
||||
}
|
||||
else
|
||||
{
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "help font (bold)");
|
||||
}
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, &(Fonte_help_bold[i][0][0]), 6, 8, "help font (bold)",0);
|
||||
Curseur_X+=6;
|
||||
}
|
||||
Curseur_Y+=8;
|
||||
|
||||
fclose(Handle);
|
||||
// Fonte help titre
|
||||
for (i=0; i<256; i++)
|
||||
{
|
||||
byte * Dest;
|
||||
// Rangés par ligne de 64
|
||||
if ((i%64)==0)
|
||||
{
|
||||
if (i!=0)
|
||||
Curseur_Y+=8;
|
||||
Chercher_bas(GUI, &Curseur_X, &Curseur_Y, CM_Neutre, "help font (title)");
|
||||
}
|
||||
else
|
||||
{
|
||||
Chercher_droite(GUI, &Curseur_X, Curseur_Y, CM_Neutre, "help font (title)");
|
||||
}
|
||||
|
||||
if (i&1)
|
||||
if (i&64)
|
||||
Dest=&(Fonte_help_t4[Car_4++][0][0]);
|
||||
else
|
||||
Dest=&(Fonte_help_t2[Car_2++][0][0]);
|
||||
else
|
||||
if (i&64)
|
||||
Dest=&(Fonte_help_t3[Car_3++][0][0]);
|
||||
else
|
||||
Dest=&(Fonte_help_t1[Car_1++][0][0]);
|
||||
|
||||
Lire_bloc(GUI, Curseur_X, Curseur_Y, Dest, 6, 8, "help font (title)",0);
|
||||
Curseur_X+=6;
|
||||
}
|
||||
Curseur_Y+=8;
|
||||
|
||||
// Terminé: libération de l'image skin
|
||||
SDL_FreeSurface(GUI);
|
||||
|
||||
Section_d_aide_en_cours=0;
|
||||
Position_d_aide_en_cours=0;
|
||||
|
||||
20
main.c
20
main.c
@ -105,12 +105,15 @@ void Erreur_fonction(int Code, const char *Nom_fichier, int Numero_ligne, const
|
||||
{
|
||||
switch (Code)
|
||||
{
|
||||
case ERREUR_DAT_ABSENT : printf("Error: File GFX2.DAT is missing!\n");
|
||||
case ERREUR_GUI_ABSENT : printf("Error: File gfx2gui.gif is missing!\n");
|
||||
printf("This program cannot run without this file.\n");
|
||||
break;
|
||||
case ERREUR_DAT_CORROMPU : printf("Error: File GFX2.DAT is corrupt!\n");
|
||||
case ERREUR_GUI_CORROMPU : printf("Error: File gfx2gui.gif is corrupt!\n");
|
||||
printf("This program cannot run without a correct version of this file.\n");
|
||||
break;
|
||||
case ERREUR_INI_ABSENT : printf("Error: File gfx2def.ini is missing!\n");
|
||||
printf("This program cannot run without this file.\n");
|
||||
break;
|
||||
case ERREUR_CFG_ABSENT : printf("Error: File GFX2.CFG is missing!\n");
|
||||
printf("Please run GFXCFG to create it.\n");
|
||||
break;
|
||||
@ -496,17 +499,12 @@ void Initialisation_du_programme(int argc,char * argv[])
|
||||
|
||||
// Transfert des valeurs du .INI qui ne changent pas dans des variables
|
||||
// plus accessibles:
|
||||
Palette_defaut[252]=Coul_menu_pref[0]=Config.Coul_menu_pref[0];
|
||||
Palette_defaut[253]=Coul_menu_pref[1]=Config.Coul_menu_pref[1];
|
||||
Palette_defaut[254]=Coul_menu_pref[2]=Config.Coul_menu_pref[2];
|
||||
Palette_defaut[255]=Coul_menu_pref[3]=Config.Coul_menu_pref[3];
|
||||
Palette_defaut[CM_Noir] =Coul_menu_pref[0]=Config.Coul_menu_pref[0];
|
||||
Palette_defaut[CM_Fonce]=Coul_menu_pref[1]=Config.Coul_menu_pref[1];
|
||||
Palette_defaut[CM_Clair]=Coul_menu_pref[2]=Config.Coul_menu_pref[2];
|
||||
Palette_defaut[CM_Blanc]=Coul_menu_pref[3]=Config.Coul_menu_pref[3];
|
||||
memcpy(Principal_Palette,Palette_defaut,sizeof(T_Palette));
|
||||
|
||||
CM_Noir =0;
|
||||
CM_Fonce=25;
|
||||
CM_Clair=7;
|
||||
CM_Blanc=15;
|
||||
CM_Trans=1;
|
||||
Calculer_couleurs_menu_optimales(Palette_defaut);
|
||||
|
||||
// Infos sur les trames (Sieve)
|
||||
|
||||
13
readini.c
13
readini.c
@ -411,22 +411,15 @@ int Charger_INI(struct S_Config * Conf)
|
||||
Fichier=fopen(Nom_du_fichier,"rb");
|
||||
if (Fichier==0)
|
||||
{
|
||||
// Si le fichier ini est absent on le relit depuis gfx2.dat
|
||||
// Si le fichier ini est absent on le relit depuis gfx2def.ini
|
||||
strcpy(Nom_du_fichier,Repertoire_des_donnees);
|
||||
strcat(Nom_du_fichier,"gfx2.dat");
|
||||
strcat(Nom_du_fichier,"gfx2def.ini");
|
||||
Fichier=fopen(Nom_du_fichier,"rb");
|
||||
if (Fichier == 0)
|
||||
{
|
||||
free(Nom_du_fichier);
|
||||
free(Buffer);
|
||||
return ERREUR_DAT_ABSENT;
|
||||
}
|
||||
if (fseek(Fichier, DAT_DEBUT_INI_PAR_DEFAUT ,SEEK_SET))
|
||||
{
|
||||
fclose(Fichier);
|
||||
free(Nom_du_fichier);
|
||||
free(Buffer);
|
||||
return ERREUR_DAT_CORROMPU;
|
||||
return ERREUR_INI_ABSENT;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
11
saveini.c
11
saveini.c
@ -415,19 +415,14 @@ int Sauver_INI(struct S_Config * Conf)
|
||||
goto Erreur_ERREUR_SAUVEGARDE_INI;
|
||||
}
|
||||
}
|
||||
// On récupère un fichier INI "propre" dans GFX2.DAT
|
||||
// On récupère un fichier INI "propre" à partir de gfx2def.ini
|
||||
strcpy(Nom_du_fichier_DAT,Repertoire_des_donnees);
|
||||
strcat(Nom_du_fichier_DAT,"gfx2.dat");
|
||||
strcat(Nom_du_fichier_DAT,"gfx2def.ini");
|
||||
Ancien_fichier=fopen(Nom_du_fichier_DAT,"rb");
|
||||
if (Ancien_fichier==0)
|
||||
{
|
||||
fclose(Ancien_fichier);
|
||||
return ERREUR_DAT_ABSENT;
|
||||
}
|
||||
if (fseek(Ancien_fichier, DAT_DEBUT_INI_PAR_DEFAUT, SEEK_SET))
|
||||
{
|
||||
fclose(Ancien_fichier);
|
||||
return ERREUR_DAT_CORROMPU;
|
||||
return ERREUR_INI_ABSENT;
|
||||
}
|
||||
Nouveau_fichier=fopen(Nom_du_fichier,"wb");
|
||||
if (Nouveau_fichier==0)
|
||||
|
||||
@ -182,3 +182,10 @@ SDL_Color Conversion_couleur_SDL(byte Index)
|
||||
Couleur.unused = 255;
|
||||
return Couleur;
|
||||
}
|
||||
|
||||
// Lecture d'un pixel pour une surface SDL.
|
||||
// Attention, ne fonctionne que pour les surfaces 8-bit
|
||||
byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int X, int Y)
|
||||
{
|
||||
return ((byte *)(Bmp->pixels))[(Y*Bmp->pitch+X)];
|
||||
}
|
||||
|
||||
@ -34,5 +34,6 @@
|
||||
void Flush_update(void);
|
||||
byte * Surface_en_bytefield(SDL_Surface *Source, byte * Destination);
|
||||
SDL_Color Conversion_couleur_SDL(byte);
|
||||
|
||||
byte Sdl_Get_pixel_8(SDL_Surface *Bmp, int X, int Y);
|
||||
|
||||
#endif // SDLSCREEN_H_INCLUDED
|
||||
|
||||
153
tables_aide.h
153
tables_aide.h
@ -21,159 +21,6 @@
|
||||
|
||||
#include "const.h" // Utilise les enumerations BOUTON_ et SPECIAL_
|
||||
|
||||
// Les tables suivantes servent de table de conversion entre un caractère ASCII
|
||||
// et le sprite qui le représente dans la Fonte
|
||||
|
||||
// Table de caractères Normaux
|
||||
static const int Caracteres_Aide_N[] = { // Commence à ' '
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
|
||||
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
|
||||
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
|
||||
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
|
||||
60, 61, 0, 62, 63, 64, 65, 66, 67, 68,
|
||||
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
|
||||
79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
|
||||
89, 90, 91, 92, 0, 0, 93, 94, 95, 96,
|
||||
0, 97, 0, 98, 99, 100, 101, 0, 0, 0,
|
||||
0, 0, 0, 102, 0, 103, 0, 0, 104, 105};
|
||||
|
||||
|
||||
|
||||
// Table de caractères Sous-Titres
|
||||
static const int Caracteres_Aide_S[] = { // Commence à ' '
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 132, 133, 134, 135, 136, 137, 138,
|
||||
139, 140, 141, 142, 143, 144, 145, 0, 0, 0,
|
||||
0, 146, 0, 106, 107, 108, 109, 110, 111, 112,
|
||||
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
|
||||
123, 124, 125, 126, 127, 128, 129, 130, 131 };
|
||||
// Table de caractères Titres (demi-ligne supérieure)
|
||||
static const int Caracteres_Aide_Titre_haut[] = { // Commence à ' '
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
96+147, // -
|
||||
98+147, // .
|
||||
100+147, // /
|
||||
102+147, // 0
|
||||
104+147, // 1
|
||||
106+147, // 2
|
||||
108+147, // 3
|
||||
110+147, // 4
|
||||
112+147, // 5
|
||||
114+147, // 6
|
||||
116+147, // 7
|
||||
118+147, // 8
|
||||
120+147, // 9
|
||||
122+147, // :
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
126+147,
|
||||
124+147, // ?// ?
|
||||
126+147,
|
||||
0+147, // A
|
||||
2+147, // B
|
||||
4+147, // C
|
||||
6+147, // D
|
||||
8+147, // E
|
||||
10+147, // F
|
||||
12+147, // G
|
||||
14+147, // H
|
||||
16+147, // I
|
||||
18+147, // J
|
||||
20+147, // K
|
||||
22+147, // L
|
||||
24+147, // M
|
||||
26+147, // N
|
||||
28+147, // O
|
||||
30+147, // P
|
||||
32+147, // Q
|
||||
34+147, // R
|
||||
36+147, // S
|
||||
38+147, // T
|
||||
40+147, // U
|
||||
42+147, // V
|
||||
88+147, // W
|
||||
90+147, // X
|
||||
92+147, // Y
|
||||
94+147 // Z
|
||||
};
|
||||
// Table de caractères Titres (demi-ligne supérieure)
|
||||
static const int Caracteres_Aide_Titre_bas[] = { // Commence à ' '
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
96+147+40, // -
|
||||
98+147+40, // .
|
||||
100+147+40, // /
|
||||
102+147+40, // 0
|
||||
104+147+40, // 1
|
||||
106+147+40, // 2
|
||||
108+147+40, // 3
|
||||
110+147+40, // 4
|
||||
112+147+40, // 5
|
||||
114+147+40, // 6
|
||||
116+147+40, // 7
|
||||
118+147+40, // 8
|
||||
120+147+40, // 9
|
||||
122+147+40, // :
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
126+147+40,
|
||||
124+147+40, // ?
|
||||
126+147+40,
|
||||
0+147+44, // A
|
||||
2+147+44, // B
|
||||
4+147+44, // C
|
||||
6+147+44, // D
|
||||
8+147+44, // E
|
||||
10+147+44, // F
|
||||
12+147+44, // G
|
||||
14+147+44, // H
|
||||
16+147+44, // I
|
||||
18+147+44, // J
|
||||
20+147+44, // K
|
||||
22+147+44, // L
|
||||
24+147+44, // M
|
||||
26+147+44, // N
|
||||
28+147+44, // O
|
||||
30+147+44, // P
|
||||
32+147+44, // Q
|
||||
34+147+44, // R
|
||||
36+147+44, // S
|
||||
38+147+44, // T
|
||||
40+147+44, // U
|
||||
42+147+44, // V
|
||||
88+147+40, // W
|
||||
90+147+40, // X
|
||||
92+147+40, // Y
|
||||
94+147+40 // Z
|
||||
};
|
||||
|
||||
// Quelques formules magiques:
|
||||
#define AIDE_TEXTE(x) {'N', x, 0},
|
||||
// Génère une ligne 'N' (Normale)
|
||||
|
||||
47
windows.c
47
windows.c
@ -321,14 +321,14 @@ void Print_general(short X,short Y,char * Chaine,byte Couleur_texte,byte Couleur
|
||||
byte Repeat_Menu_Facteur_Y;
|
||||
|
||||
Reel_Y=Y;
|
||||
for (Pos_Y=0;Pos_Y<8;Pos_Y++)
|
||||
for (Pos_Y=0;Pos_Y<8<<3;Pos_Y+=1<<3)
|
||||
{
|
||||
Reel_X=0; // Position dans le buffer
|
||||
for (Indice=0;Chaine[Indice]!='\0';Indice++)
|
||||
{
|
||||
// Pointeur sur le premier pixel du caractère
|
||||
Caractere=Fonte+(((unsigned char)Chaine[Indice])<<6);
|
||||
for (Pos_X=0;Pos_X<8<<3;Pos_X+=1<<3)
|
||||
for (Pos_X=0;Pos_X<8;Pos_X+=1)
|
||||
for (Repeat_Menu_Facteur_X=0;Repeat_Menu_Facteur_X<Menu_Facteur_X*Pixel_width;Repeat_Menu_Facteur_X++)
|
||||
Buffer_de_ligne_horizontale[Reel_X++]=*(Caractere+Pos_X+Pos_Y)?Couleur_texte:Couleur_fond;
|
||||
}
|
||||
@ -363,10 +363,10 @@ void Print_char_transparent_dans_fenetre(short Pos_X,short Pos_Y,unsigned char C
|
||||
Pos_X=(Pos_X*Menu_Facteur_X)+Fenetre_Pos_X;
|
||||
Pos_Y=(Pos_Y*Menu_Facteur_Y)+Fenetre_Pos_Y;
|
||||
|
||||
for (X=0;X<8;X++)
|
||||
for (Y=0;Y<8;Y++)
|
||||
for (Y=0;Y<8;Y++)
|
||||
for (X=0;X<8;X++)
|
||||
{
|
||||
if (*(Fonte+((int)Caractere<<6)+(X<<3)+Y))
|
||||
if (*(Fonte+((int)Caractere<<6)+(Y<<3)+X))
|
||||
Block(Pos_X+(X*Menu_Facteur_X), Pos_Y+(Y*Menu_Facteur_Y),
|
||||
Menu_Facteur_X, Menu_Facteur_Y, Couleur);
|
||||
}
|
||||
@ -2330,31 +2330,52 @@ void Calculer_couleurs_menu_optimales(struct Composantes * Palette)
|
||||
|| (CM_Noir !=Old_Noir )
|
||||
|| (CM_Trans!=Old_Trans) )
|
||||
{
|
||||
// Sprites du curseur
|
||||
// Sprites du curseur
|
||||
for (K=0; K<NB_SPRITES_CURSEUR; K++)
|
||||
for (J=0; J<HAUTEUR_SPRITE_CURSEUR; J++)
|
||||
for (I=0; I<LARGEUR_SPRITE_CURSEUR; I++)
|
||||
Remap_pixel(&SPRITE_CURSEUR[K][J][I]);
|
||||
// Le menu
|
||||
// Le menu
|
||||
for (J=0; J<HAUTEUR_MENU; J++)
|
||||
for (I=0; I<LARGEUR_MENU; I++)
|
||||
Remap_pixel(&BLOCK_MENU[J][I]);
|
||||
// Sprites du menu
|
||||
// Sprites du menu
|
||||
for (K=0; K<NB_SPRITES_MENU; K++)
|
||||
for (J=0; J<HAUTEUR_SPRITE_MENU; J++)
|
||||
for (I=0; I<LARGEUR_SPRITE_MENU; I++)
|
||||
Remap_pixel(&SPRITE_MENU[K][J][I]);
|
||||
// Sprites d'effets
|
||||
// Sprites d'effets
|
||||
for (K=0; K<NB_SPRITES_EFFETS; K++)
|
||||
for (J=0; J<HAUTEUR_SPRITE_MENU; J++)
|
||||
for (I=0; I<LARGEUR_SPRITE_MENU; I++)
|
||||
Remap_pixel(&SPRITE_EFFET[K][J][I]);
|
||||
// Fonte de l'aide
|
||||
for (K=0; K<315; K++)
|
||||
// Fontes de l'aide
|
||||
for (K=0; K<256; K++)
|
||||
for (J=0; J<8; J++)
|
||||
for (I=0; I<6; I++)
|
||||
Remap_pixel(&Fonte_help[K][I][J]);
|
||||
// Sprites de lecteurs (drives)
|
||||
Remap_pixel(&Fonte_help_norm[K][I][J]);
|
||||
for (K=0; K<256; K++)
|
||||
for (J=0; J<8; J++)
|
||||
for (I=0; I<6; I++)
|
||||
Remap_pixel(&Fonte_help_bold[K][I][J]);
|
||||
for (K=0; K<64; K++)
|
||||
for (J=0; J<8; J++)
|
||||
for (I=0; I<6; I++)
|
||||
Remap_pixel(&Fonte_help_t1[K][I][J]);
|
||||
for (K=0; K<64; K++)
|
||||
for (J=0; J<8; J++)
|
||||
for (I=0; I<6; I++)
|
||||
Remap_pixel(&Fonte_help_t2[K][I][J]);
|
||||
for (K=0; K<64; K++)
|
||||
for (J=0; J<8; J++)
|
||||
for (I=0; I<6; I++)
|
||||
Remap_pixel(&Fonte_help_t3[K][I][J]);
|
||||
for (K=0; K<64; K++)
|
||||
for (J=0; J<8; J++)
|
||||
for (I=0; I<6; I++)
|
||||
Remap_pixel(&Fonte_help_t4[K][I][J]);
|
||||
|
||||
// Sprites de lecteurs (drives)
|
||||
for (K=0; K<NB_SPRITES_DRIVES; K++)
|
||||
for (J=0; J<HAUTEUR_SPRITE_DRIVE; J++)
|
||||
for (I=0; I<LARGEUR_SPRITE_DRIVE; I++)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user