00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifdef VARIABLES_GLOBALES
00025 #define GFX2_GLOBAL
00026 #else
00027 #define GFX2_GLOBAL extern
00028 #endif
00029
00031
00032
00033
00035
00036
00037
00038
00039 #ifndef _GLOBAL_H_
00040 #define _GLOBAL_H_
00041
00042 #include <SDL.h>
00043 #include "struct.h"
00044
00045 GFX2_GLOBAL struct S_Config
00046 {
00047 byte Fonte;
00048 int Lire_les_fichiers_caches;
00049 int Lire_les_repertoires_caches;
00050
00051 byte Afficher_limites_image;
00052 byte Curseur;
00053 byte Maximize_preview;
00054 byte Auto_set_res;
00055 byte Coords_rel;
00056 byte Backup;
00057 byte Adjust_brush_pick;
00058 byte Auto_save;
00059 byte Nb_pages_Undo;
00060 byte Indice_Sensibilite_souris_X;
00061 byte Indice_Sensibilite_souris_Y;
00062 byte Mouse_Facteur_de_correction_X;
00063 byte Mouse_Facteur_de_correction_Y;
00064 byte Mouse_Merge_movement;
00065 byte Valeur_tempo_jauge_gauche;
00066 byte Valeur_tempo_jauge_droite;
00067 long Chrono_delay;
00068 struct Composantes Coul_menu_pref[4];
00069 int Nb_max_de_vertex_par_polygon;
00070 byte Clear_palette;
00071 byte Set_resolution_according_to;
00072 byte Ratio;
00073 byte Fast_zoom;
00074 byte Find_file_fast;
00075 byte Couleurs_separees;
00076 word Palette_Cells_X;
00077 word Palette_Cells_Y;
00078 byte FX_Feedback;
00079 byte Safety_colors;
00080 byte Opening_message;
00081 byte Clear_with_stencil;
00082 byte Auto_discontinuous;
00083 byte Taille_ecran_dans_GIF;
00084 byte Auto_nb_used;
00085 byte Resolution_par_defaut;
00086 char *Bookmark_directory[NB_BOOKMARKS];
00087 char Bookmark_label[NB_BOOKMARKS][8+1];
00088 } Config;
00089
00090
00091 GFX2_GLOBAL word Config_Touche[NB_TOUCHES_SPECIALES][2];
00092
00093
00094 struct S_Mode_video
00095 {
00096 short Largeur;
00097 short Hauteur;
00098 byte Mode;
00099 word Fullscreen;
00100 byte Etat;
00101 };
00102 GFX2_GLOBAL struct S_Mode_video Mode_video[MAX_MODES_VIDEO];
00103 GFX2_GLOBAL int Nb_modes_video;
00104
00105
00106
00107
00108 GFX2_GLOBAL T_Palette Palette_defaut;
00109
00110
00111
00112 GFX2_GLOBAL byte CM_Noir;
00113 GFX2_GLOBAL byte CM_Fonce;
00114 GFX2_GLOBAL byte CM_Clair;
00115 GFX2_GLOBAL byte CM_Blanc;
00116 GFX2_GLOBAL byte CM_Trans;
00117 GFX2_GLOBAL struct Composantes Coul_menu_pref[4];
00118
00119
00120
00121 GFX2_GLOBAL word Mouse_X;
00122 GFX2_GLOBAL word Mouse_Y;
00123 GFX2_GLOBAL byte Mouse_K;
00124
00125 #define Mouse_K_Unique (Mouse_K==0?0:(Mouse_K&1?1:(Mouse_K&2?2:0))) // Etat des boutons de la souris (un seul bouton à la fois, on regarde d'abord le 1, puis le 2, ...)
00126
00127 GFX2_GLOBAL dword Touche;
00128 GFX2_GLOBAL dword Touche_ANSI;
00129 GFX2_GLOBAL Uint8* Etat_Du_Clavier;
00130
00131
00132 #ifdef MOD_SHIFT
00133 #undef MOD_SHIFT
00134 #endif
00135 #ifdef MOD_CTRL
00136 #undef MOD_CTRL
00137 #endif
00138 #ifdef MOD_ALT
00139 #undef MOD_ALT
00140 #endif
00141 #define MOD_SHIFT 0x1000
00142 #define MOD_CTRL 0x2000
00143 #define MOD_ALT 0x4000
00144
00145 GFX2_GLOBAL byte Quit_demande;
00146
00147 GFX2_GLOBAL byte Mouse_Facteur_de_correction_X;
00148 GFX2_GLOBAL byte Mouse_Facteur_de_correction_Y;
00149
00150 GFX2_GLOBAL byte Autoriser_changement_de_couleur_pendant_operation;
00151
00152
00153
00154 GFX2_GLOBAL byte Forme_curseur;
00155 GFX2_GLOBAL byte Forme_curseur_avant_fenetre;
00156 GFX2_GLOBAL byte Forcer_affichage_curseur;
00157 GFX2_GLOBAL byte Cacher_curseur;
00158 GFX2_GLOBAL byte Curseur_dans_menu;
00159 GFX2_GLOBAL byte Curseur_dans_menu_precedent;
00160 GFX2_GLOBAL word Curseur_Decalage_X[NB_SPRITES_CURSEUR];
00161 GFX2_GLOBAL word Curseur_Decalage_Y[NB_SPRITES_CURSEUR];
00162 GFX2_GLOBAL byte SPRITE_CURSEUR[NB_SPRITES_CURSEUR][HAUTEUR_SPRITE_CURSEUR][LARGEUR_SPRITE_CURSEUR];
00163 GFX2_GLOBAL byte FOND_CURSEUR[HAUTEUR_SPRITE_CURSEUR][LARGEUR_SPRITE_CURSEUR];
00164
00165
00166
00167 GFX2_GLOBAL byte Pinceau_Forme;
00168 GFX2_GLOBAL byte Pinceau_Forme_avant_fill;
00169 GFX2_GLOBAL byte Pinceau_Forme_avant_pipette;
00170 GFX2_GLOBAL byte Pinceau_Forme_avant_lasso;
00171 GFX2_GLOBAL byte Cacher_pinceau;
00172 GFX2_GLOBAL short Pinceau_X;
00173 GFX2_GLOBAL short Pinceau_Y;
00174 GFX2_GLOBAL byte SPRITE_PINCEAU [NB_SPRITES_PINCEAU][HAUTEUR_PINCEAU][LARGEUR_PINCEAU];
00175 GFX2_GLOBAL word Pinceau_predefini_Largeur[NB_SPRITES_PINCEAU];
00176 GFX2_GLOBAL word Pinceau_predefini_Hauteur[NB_SPRITES_PINCEAU];
00177 GFX2_GLOBAL byte Pinceau_Type[NB_SPRITES_PINCEAU];
00178 GFX2_GLOBAL word Pinceau_predefini_Decalage_X[NB_SPRITES_PINCEAU];
00179 GFX2_GLOBAL word Pinceau_predefini_Decalage_Y[NB_SPRITES_PINCEAU];
00180 GFX2_GLOBAL byte * Pinceau_Sprite;
00181 GFX2_GLOBAL short Pinceau_Largeur;
00182 GFX2_GLOBAL short Pinceau_Hauteur;
00183 GFX2_GLOBAL short Pinceau_Decalage_X;
00184 GFX2_GLOBAL short Pinceau_Decalage_Y;
00185
00186
00187
00188 GFX2_GLOBAL int Pixel_ratio;
00189 GFX2_GLOBAL int Pixel_width;
00190 GFX2_GLOBAL int Pixel_height;
00191 GFX2_GLOBAL fonction_afficheur Pixel;
00192 GFX2_GLOBAL fonction_afficheur Pixel_dans_menu;
00193 GFX2_GLOBAL fonction_lecteur Lit_pixel;
00194 GFX2_GLOBAL fonction_display Display_screen;
00195 GFX2_GLOBAL fonction_block Block;
00196 GFX2_GLOBAL fonction_afficheur Pixel_Preview_Normal;
00197 GFX2_GLOBAL fonction_afficheur Pixel_Preview_Loupe;
00198 GFX2_GLOBAL fonction_afficheur Pixel_Preview;
00199 GFX2_GLOBAL fonction_Ligne_XOR Ligne_horizontale_XOR;
00200 GFX2_GLOBAL fonction_Ligne_XOR Ligne_verticale_XOR;
00201 GFX2_GLOBAL fonction_display_brush_Color Display_brush_Color;
00202 GFX2_GLOBAL fonction_display_brush_Mono Display_brush_Mono;
00203 GFX2_GLOBAL fonction_display_brush_Color Clear_brush;
00204 GFX2_GLOBAL fonction_remap Remap_screen;
00205 GFX2_GLOBAL fonction_procsline Afficher_ligne;
00206 GFX2_GLOBAL fonction_procsline Afficher_ligne_fast;
00207 GFX2_GLOBAL fonction_procsline Lire_ligne;
00208 GFX2_GLOBAL fonction_display_zoom Display_zoomed_screen;
00209 GFX2_GLOBAL fonction_display_brush_Color_zoom Display_brush_Color_zoom;
00210 GFX2_GLOBAL fonction_display_brush_Mono_zoom Display_brush_Mono_zoom;
00211 GFX2_GLOBAL fonction_display_brush_Color_zoom Clear_brush_zoom;
00212 GFX2_GLOBAL fonction_affiche_brosse Affiche_brosse;
00213
00214
00215 GFX2_GLOBAL int Resize_Largeur;
00216 GFX2_GLOBAL int Resize_Hauteur;
00217 GFX2_GLOBAL int Resolution_actuelle;
00218 GFX2_GLOBAL short Ecran_original_X;
00219 GFX2_GLOBAL short Ecran_original_Y;
00220 GFX2_GLOBAL short Largeur_ecran;
00221 GFX2_GLOBAL short Hauteur_ecran;
00222 GFX2_GLOBAL short Limite_Haut;
00223 GFX2_GLOBAL short Limite_Bas;
00224 GFX2_GLOBAL short Limite_Gauche;
00225 GFX2_GLOBAL short Limite_Droite;
00226 GFX2_GLOBAL short Limite_visible_Bas;
00227 GFX2_GLOBAL short Limite_visible_Droite;
00228
00229 GFX2_GLOBAL short Limite_Haut_Zoom;
00230 GFX2_GLOBAL short Limite_Bas_Zoom;
00231 GFX2_GLOBAL short Limite_Gauche_Zoom;
00232 GFX2_GLOBAL short Limite_Droite_Zoom;
00233 GFX2_GLOBAL short Limite_visible_Bas_Zoom;
00234 GFX2_GLOBAL short Limite_visible_Droite_Zoom;
00235
00236 GFX2_GLOBAL byte * Buffer_de_ligne_horizontale;
00237
00238
00239
00240 GFX2_GLOBAL byte * Principal_Ecran;
00241 GFX2_GLOBAL T_Palette Principal_Palette;
00242
00243 GFX2_GLOBAL byte Principal_Image_modifiee;
00244 GFX2_GLOBAL short Principal_Largeur_image;
00245 GFX2_GLOBAL short Principal_Hauteur_image;
00246 GFX2_GLOBAL short Principal_Decalage_X;
00247 GFX2_GLOBAL short Principal_Decalage_Y;
00248 GFX2_GLOBAL short Ancien_Principal_Decalage_X;
00249 GFX2_GLOBAL short Ancien_Principal_Decalage_Y;
00250
00251 GFX2_GLOBAL char Principal_Repertoire_fichier[1024];
00252 GFX2_GLOBAL char Principal_Nom_fichier[256];
00253 GFX2_GLOBAL byte Principal_Format_fichier;
00254 GFX2_GLOBAL byte Principal_Format;
00255 GFX2_GLOBAL short Principal_File_list_Position;
00256 GFX2_GLOBAL short Principal_File_list_Decalage;
00257 GFX2_GLOBAL char Principal_Repertoire_courant[1024];
00258 GFX2_GLOBAL char Principal_Commentaire[TAILLE_COMMENTAIRE+1];
00259
00260 GFX2_GLOBAL short Principal_Split;
00261 GFX2_GLOBAL short Principal_X_Zoom;
00262 GFX2_GLOBAL float Principal_Proportion_split;
00263
00264
00265
00266 GFX2_GLOBAL byte * Brouillon_Ecran;
00267 GFX2_GLOBAL T_Palette Brouillon_Palette;
00268
00269 GFX2_GLOBAL byte Brouillon_Image_modifiee;
00270 GFX2_GLOBAL short Brouillon_Largeur_image;
00271 GFX2_GLOBAL short Brouillon_Hauteur_image;
00272 GFX2_GLOBAL short Brouillon_Decalage_X;
00273 GFX2_GLOBAL short Brouillon_Decalage_Y;
00274 GFX2_GLOBAL short Ancien_Brouillon_Decalage_X;
00275 GFX2_GLOBAL short Ancien_Brouillon_Decalage_Y;
00276
00277 GFX2_GLOBAL char Brouillon_Repertoire_fichier[TAILLE_CHEMIN_FICHIER];
00278 GFX2_GLOBAL char Brouillon_Nom_fichier[TAILLE_CHEMIN_FICHIER];
00279 GFX2_GLOBAL byte Brouillon_Format_fichier;
00280 GFX2_GLOBAL byte Brouillon_Format;
00281 GFX2_GLOBAL short Brouillon_File_list_Position;
00282 GFX2_GLOBAL short Brouillon_File_list_Decalage;
00283 GFX2_GLOBAL char Brouillon_Repertoire_courant[TAILLE_CHEMIN_FICHIER];
00284 GFX2_GLOBAL char Brouillon_Commentaire[TAILLE_COMMENTAIRE+1];
00285
00286 GFX2_GLOBAL short Brouillon_Split;
00287 GFX2_GLOBAL short Brouillon_X_Zoom;
00288 GFX2_GLOBAL float Brouillon_Proportion_split;
00289
00290 GFX2_GLOBAL byte Brouillon_Loupe_Mode;
00291 GFX2_GLOBAL word Brouillon_Loupe_Facteur;
00292 GFX2_GLOBAL word Brouillon_Loupe_Hauteur;
00293 GFX2_GLOBAL word Brouillon_Loupe_Largeur;
00294 GFX2_GLOBAL short Brouillon_Loupe_Decalage_X;
00295 GFX2_GLOBAL short Brouillon_Loupe_Decalage_Y;
00296
00297 GFX2_GLOBAL byte Masque_copie_couleurs[256];
00298
00299
00300
00301 GFX2_GLOBAL byte * Ecran_backup;
00302 GFX2_GLOBAL S_Liste_de_pages * Principal_Backups;
00303 GFX2_GLOBAL S_Liste_de_pages * Brouillon_Backups;
00304
00305
00306
00307
00308 GFX2_GLOBAL byte * Brosse;
00309 GFX2_GLOBAL word Brosse_Decalage_X;
00310 GFX2_GLOBAL word Brosse_Decalage_Y;
00311 GFX2_GLOBAL word Brosse_Largeur;
00312 GFX2_GLOBAL word Brosse_Hauteur;
00313
00314 GFX2_GLOBAL char Brosse_Repertoire_fichier[TAILLE_CHEMIN_FICHIER];
00315 GFX2_GLOBAL char Brosse_Nom_fichier[TAILLE_CHEMIN_FICHIER];
00316 GFX2_GLOBAL byte Brosse_Format_fichier;
00317 GFX2_GLOBAL byte Brosse_Format;
00318 GFX2_GLOBAL short Brosse_File_list_Position;
00319 GFX2_GLOBAL short Brosse_File_list_Decalage;
00320 GFX2_GLOBAL char Brosse_Repertoire_courant[256];
00321 GFX2_GLOBAL char Brosse_Commentaire[TAILLE_COMMENTAIRE+1];
00322
00323 GFX2_GLOBAL byte Brosse_Centre_rotation_defini;
00324 GFX2_GLOBAL short Brosse_Centre_rotation_X;
00325 GFX2_GLOBAL short Brosse_Centre_rotation_Y;
00326
00327
00328
00329 GFX2_GLOBAL byte Menu_visible;
00330 GFX2_GLOBAL word Menu_Ordonnee;
00331 GFX2_GLOBAL word Menu_Ordonnee_Texte;
00332 GFX2_GLOBAL byte Menu_Facteur_X;
00333 GFX2_GLOBAL byte Menu_Facteur_Y;
00334 GFX2_GLOBAL word Menu_Taille_couleur;
00335
00336
00337
00338
00339 GFX2_GLOBAL byte Fenetre;
00340
00341 GFX2_GLOBAL byte Menu_visible_avant_fenetre;
00342 GFX2_GLOBAL word Menu_Ordonnee_avant_fenetre;
00343 GFX2_GLOBAL byte Cacher_pinceau_avant_fenetre;
00344
00345 GFX2_GLOBAL word Pile_Fenetre_Pos_X[8];
00346 #define Fenetre_Pos_X Pile_Fenetre_Pos_X[Fenetre-1]
00347
00348 GFX2_GLOBAL word Pile_Fenetre_Pos_Y[8];
00349 #define Fenetre_Pos_Y Pile_Fenetre_Pos_Y[Fenetre-1]
00350
00351 GFX2_GLOBAL word Pile_Fenetre_Largeur[8];
00352 #define Fenetre_Largeur Pile_Fenetre_Largeur[Fenetre-1]
00353
00354 GFX2_GLOBAL word Pile_Fenetre_Hauteur[8];
00355 #define Fenetre_Hauteur Pile_Fenetre_Hauteur[Fenetre-1]
00356
00357 GFX2_GLOBAL word Pile_Nb_boutons_fenetre[8];
00358 #define Nb_boutons_fenetre Pile_Nb_boutons_fenetre[Fenetre-1]
00359
00360 GFX2_GLOBAL struct Fenetre_Bouton_normal * Pile_Fenetre_Liste_boutons_normal[8];
00361 #define Fenetre_Liste_boutons_normal Pile_Fenetre_Liste_boutons_normal[Fenetre-1]
00362
00363 GFX2_GLOBAL struct Fenetre_Bouton_palette * Pile_Fenetre_Liste_boutons_palette[8];
00364 #define Fenetre_Liste_boutons_palette Pile_Fenetre_Liste_boutons_palette[Fenetre-1]
00365
00366 GFX2_GLOBAL struct Fenetre_Bouton_scroller * Pile_Fenetre_Liste_boutons_scroller[8];
00367 #define Fenetre_Liste_boutons_scroller Pile_Fenetre_Liste_boutons_scroller[Fenetre-1]
00368
00369 GFX2_GLOBAL struct Fenetre_Bouton_special * Pile_Fenetre_Liste_boutons_special[8];
00370 #define Fenetre_Liste_boutons_special Pile_Fenetre_Liste_boutons_special[Fenetre-1]
00371
00372 GFX2_GLOBAL struct Fenetre_Bouton_dropdown * Pile_Fenetre_Liste_boutons_dropdown[8];
00373 #define Fenetre_Liste_boutons_dropdown Pile_Fenetre_Liste_boutons_dropdown[Fenetre-1]
00374
00375
00376 GFX2_GLOBAL int Pile_Fenetre_Attribut1[8];
00377 #define Fenetre_Attribut1 Pile_Fenetre_Attribut1[Fenetre-1]
00378
00379
00380
00381
00382 GFX2_GLOBAL int Pile_Fenetre_Attribut2[8];
00383 #define Fenetre_Attribut2 Pile_Fenetre_Attribut2[Fenetre-1]
00384
00385
00386
00387
00388
00389
00390 GFX2_GLOBAL struct
00391 {
00392
00393 word Decalage_X;
00394 word Decalage_Y;
00395 word Largeur;
00396 word Hauteur;
00397 byte Enfonce;
00398 byte Forme;
00399
00400
00401 fonction_action Gauche;
00402 fonction_action Droite;
00403 word Raccourci_gauche[2];
00404 word Raccourci_droite[2];
00405
00406
00407 fonction_action Desenclencher;
00408 byte Famille;
00409
00410 } Bouton[NB_BOUTONS];
00411
00412
00413
00414
00415
00416 GFX2_GLOBAL fonction_effet Fonction_effet;
00417
00418 GFX2_GLOBAL byte * FX_Feedback_Ecran;
00419
00420 GFX2_GLOBAL byte Exclude_color[256];
00421
00422
00423
00424 GFX2_GLOBAL byte Smear_Mode;
00425 GFX2_GLOBAL byte Smear_Debut;
00426 GFX2_GLOBAL byte * Smear_Brosse;
00427 GFX2_GLOBAL word Smear_Brosse_Largeur;
00428 GFX2_GLOBAL word Smear_Brosse_Hauteur;
00429 GFX2_GLOBAL short Smear_Min_X,Smear_Max_X,Smear_Min_Y,Smear_Max_Y;
00430
00431
00432
00433 GFX2_GLOBAL struct T_Shade Shade_Liste[8];
00434 GFX2_GLOBAL byte Shade_Actuel;
00435 GFX2_GLOBAL byte * Shade_Table;
00436 GFX2_GLOBAL byte Shade_Table_gauche[256];
00437 GFX2_GLOBAL byte Shade_Table_droite[256];
00438 GFX2_GLOBAL byte Shade_Mode;
00439
00440 GFX2_GLOBAL byte Quick_shade_Mode;
00441 GFX2_GLOBAL byte Quick_shade_Step;
00442 GFX2_GLOBAL byte Quick_shade_Loop;
00443
00444
00445
00446 GFX2_GLOBAL byte Stencil_Mode;
00447 GFX2_GLOBAL byte Stencil[256];
00448
00449
00450
00451 GFX2_GLOBAL byte Snap_Mode;
00452 GFX2_GLOBAL word Snap_Largeur;
00453 GFX2_GLOBAL word Snap_Hauteur;
00454 GFX2_GLOBAL word Snap_Decalage_X;
00455 GFX2_GLOBAL word Snap_Decalage_Y;
00456
00457
00458
00459 GFX2_GLOBAL byte Trame_Mode;
00460 GFX2_GLOBAL byte Trame[16][16];
00461 GFX2_GLOBAL word TRAME_PREDEFINIE[12][16];
00462 GFX2_GLOBAL short Trame_Largeur;
00463 GFX2_GLOBAL short Trame_Hauteur;
00464
00465
00466
00467 GFX2_GLOBAL byte Colorize_Mode;
00468 GFX2_GLOBAL byte Colorize_Opacite;
00469 GFX2_GLOBAL byte Colorize_Mode_en_cours;
00470 GFX2_GLOBAL word Table_de_multiplication_par_Facteur_A[256];
00471 GFX2_GLOBAL word Table_de_multiplication_par_Facteur_B[256];
00472
00473
00474
00475 GFX2_GLOBAL byte Smooth_Mode;
00476 GFX2_GLOBAL byte Smooth_Matrice[3][3];
00477
00478
00479
00480 GFX2_GLOBAL byte Tiling_Mode;
00481 GFX2_GLOBAL short Tiling_Decalage_X;
00482 GFX2_GLOBAL short Tiling_Decalage_Y;
00483
00484
00485
00486 GFX2_GLOBAL byte Mask_Mode;
00487 GFX2_GLOBAL byte Mask_table[256];
00488
00489
00490
00491 GFX2_GLOBAL byte Loupe_Mode;
00492 GFX2_GLOBAL word Loupe_Facteur;
00493 GFX2_GLOBAL word Loupe_Hauteur;
00494 GFX2_GLOBAL word Loupe_Largeur;
00495 GFX2_GLOBAL short Loupe_Decalage_X;
00496 GFX2_GLOBAL short Loupe_Decalage_Y;
00497 GFX2_GLOBAL word * Table_mul_facteur_zoom;
00498 GFX2_GLOBAL word TABLE_ZOOM[NB_FACTEURS_DE_ZOOM][512];
00499
00500 #ifdef VARIABLES_GLOBALES
00501 word FACTEUR_ZOOM[NB_FACTEURS_DE_ZOOM]={2,3,4,5,6,8,10,12,14,16,18,20};
00502 #else
00503 extern word FACTEUR_ZOOM[NB_FACTEURS_DE_ZOOM];
00504 #endif
00505
00506
00507
00508 GFX2_GLOBAL long Ellipse_Curseur_X;
00509 GFX2_GLOBAL long Ellipse_Curseur_Y;
00510 GFX2_GLOBAL long Ellipse_Rayon_vertical_au_carre;
00511 GFX2_GLOBAL long Ellipse_Rayon_horizontal_au_carre;
00512
00513
00514 GFX2_GLOBAL uint64_t Ellipse_Limite;
00515 GFX2_GLOBAL long Cercle_Curseur_X;
00516 GFX2_GLOBAL long Cercle_Curseur_Y;
00517 GFX2_GLOBAL long Cercle_Limite;
00518
00519
00520
00521 GFX2_GLOBAL short Degrade_Borne_Inferieure;
00522 GFX2_GLOBAL short Degrade_Borne_Superieure;
00523 GFX2_GLOBAL int Degrade_Inverse;
00524 GFX2_GLOBAL long Degrade_Intervalle_bornes;
00525 GFX2_GLOBAL long Degrade_Intervalle_total;
00526 GFX2_GLOBAL long Degrade_Melange_aleatoire;
00527 GFX2_GLOBAL fonction_degrade Traiter_degrade;
00528 GFX2_GLOBAL fonction_afficheur Traiter_pixel_de_degrade;
00529
00530 GFX2_GLOBAL struct T_Degrade_Tableau Degrade_Tableau[16];
00531 GFX2_GLOBAL byte Degrade_Courant;
00532
00533
00534
00535
00536
00537 GFX2_GLOBAL byte Spray_Mode;
00538 GFX2_GLOBAL short Spray_Size;
00539 GFX2_GLOBAL byte Spray_Delay;
00540 GFX2_GLOBAL byte Spray_Mono_flow;
00541 GFX2_GLOBAL byte Spray_Multi_flow[256];
00542
00543
00544
00545
00546 GFX2_GLOBAL byte Sortir_du_programme;
00547 GFX2_GLOBAL char Repertoire_initial[256];
00548 GFX2_GLOBAL char Repertoire_des_donnees[256];
00549 GFX2_GLOBAL char Repertoire_de_configuration[256];
00550 GFX2_GLOBAL byte Fore_color;
00551 GFX2_GLOBAL byte Back_color;
00552 GFX2_GLOBAL byte Mode_de_dessin_en_cours;
00553 GFX2_GLOBAL byte Courbe_en_cours;
00554 GFX2_GLOBAL byte Ligne_en_cours;
00555 GFX2_GLOBAL byte Couleur_debut_palette;
00556 GFX2_GLOBAL byte Un_fichier_a_ete_passe_en_parametre;
00557 GFX2_GLOBAL byte Une_resolution_a_ete_passee_en_parametre;
00558
00559
00560
00561 GFX2_GLOBAL word INPUT_Nouveau_Mouse_X;
00562 GFX2_GLOBAL word INPUT_Nouveau_Mouse_Y;
00563 GFX2_GLOBAL byte INPUT_Nouveau_Mouse_K;
00564 GFX2_GLOBAL byte INPUT_Keyb_mode;
00565
00566
00567
00568 GFX2_GLOBAL byte BLOCK_MENU[HAUTEUR_MENU][LARGEUR_MENU];
00569 GFX2_GLOBAL byte SPRITE_MENU[NB_SPRITES_MENU][HAUTEUR_SPRITE_MENU][LARGEUR_SPRITE_MENU];
00570 GFX2_GLOBAL byte SPRITE_EFFET[NB_SPRITES_EFFETS][HAUTEUR_SPRITE_MENU][LARGEUR_SPRITE_MENU];
00571
00572 GFX2_GLOBAL byte * Logo_GrafX2;
00573
00574 GFX2_GLOBAL byte Fonte_systeme[256*8*8];
00575 GFX2_GLOBAL byte Fonte_fun [256*8*8];
00576 GFX2_GLOBAL byte Fonte_help_norm [256][6][8];
00577 GFX2_GLOBAL byte Fonte_help_bold [256][6][8];
00578
00579
00580 GFX2_GLOBAL byte Fonte_help_t1 [64][6][8];
00581 GFX2_GLOBAL byte Fonte_help_t2 [64][6][8];
00582 GFX2_GLOBAL byte Fonte_help_t3 [64][6][8];
00583 GFX2_GLOBAL byte Fonte_help_t4 [64][6][8];
00584 GFX2_GLOBAL byte * Fonte;
00585
00586
00587
00588 GFX2_GLOBAL byte Section_d_aide_en_cours;
00589 GFX2_GLOBAL word Position_d_aide_en_cours;
00590
00591
00592
00593 GFX2_GLOBAL word Operation_avant_interruption;
00594 GFX2_GLOBAL word Operation_en_cours;
00595 GFX2_GLOBAL word Operation_Pile[TAILLE_PILE_OPERATIONS];
00596 GFX2_GLOBAL byte Operation_Taille_pile;
00597 GFX2_GLOBAL byte Operation_dans_loupe;
00598
00599 GFX2_GLOBAL short Pipette_Couleur;
00600 GFX2_GLOBAL short Pipette_X;
00601 GFX2_GLOBAL short Pipette_Y;
00602
00603
00604 #ifdef VARIABLES_GLOBALES
00605 byte CURSEUR_D_OPERATION[NB_OPERATIONS]=
00606 {
00607 FORME_CURSEUR_CIBLE ,
00608 FORME_CURSEUR_CIBLE ,
00609 FORME_CURSEUR_CIBLE ,
00610 FORME_CURSEUR_CIBLE ,
00611 FORME_CURSEUR_CIBLE ,
00612 FORME_CURSEUR_CIBLE ,
00613 FORME_CURSEUR_CIBLE ,
00614 FORME_CURSEUR_CIBLE_XOR ,
00615 FORME_CURSEUR_CIBLE_XOR ,
00616 FORME_CURSEUR_CIBLE ,
00617 FORME_CURSEUR_CIBLE ,
00618 FORME_CURSEUR_CIBLE ,
00619 FORME_CURSEUR_CIBLE ,
00620 FORME_CURSEUR_CIBLE ,
00621 FORME_CURSEUR_CIBLE ,
00622 FORME_CURSEUR_CIBLE_XOR ,
00623 FORME_CURSEUR_CIBLE ,
00624 FORME_CURSEUR_CIBLE_PIPETTE ,
00625 FORME_CURSEUR_RECTANGLE_XOR ,
00626 FORME_CURSEUR_CIBLE ,
00627 FORME_CURSEUR_CIBLE ,
00628 FORME_CURSEUR_CIBLE ,
00629 FORME_CURSEUR_CIBLE ,
00630 FORME_CURSEUR_CIBLE ,
00631 FORME_CURSEUR_CIBLE ,
00632 FORME_CURSEUR_CIBLE ,
00633 FORME_CURSEUR_MULTIDIRECTIONNEL,
00634 FORME_CURSEUR_CIBLE ,
00635 FORME_CURSEUR_CIBLE ,
00636 FORME_CURSEUR_ROTATE_XOR ,
00637 FORME_CURSEUR_CIBLE_XOR ,
00638 FORME_CURSEUR_CIBLE ,
00639 FORME_CURSEUR_CIBLE_XOR ,
00640 };
00641 #else
00642 extern byte CURSEUR_D_OPERATION[NB_OPERATIONS];
00643 #endif
00644
00645
00646
00647
00648 GFX2_GLOBAL struct
00649 {
00650 byte Effacer_curseur;
00651 fonction_action Action;
00652 } Operation[NB_OPERATIONS][3][TAILLE_PILE_OPERATIONS];
00653
00654
00655
00656
00657 GFX2_GLOBAL byte SPRITE_DRIVE[NB_SPRITES_DRIVES][HAUTEUR_SPRITE_DRIVE][LARGEUR_SPRITE_DRIVE];
00658
00659
00660
00661
00662
00663 GFX2_GLOBAL short Liste_Nb_elements;
00664 GFX2_GLOBAL short Liste_Nb_fichiers;
00665 GFX2_GLOBAL short Liste_Nb_repertoires;
00666
00667 GFX2_GLOBAL struct Element_de_liste_de_fileselect * Liste_du_fileselect;
00668
00669
00670
00671 void Rien_du_tout(void);
00672
00673 GFX2_GLOBAL signed char Erreur_fichier;
00674
00675
00676
00677
00678 GFX2_GLOBAL int Ligne_INI;
00679
00680 GFX2_GLOBAL fonction_afficheur Pixel_de_chargement;
00681 GFX2_GLOBAL fonction_lecteur Lit_pixel_de_sauvegarde;
00682
00683
00684
00685
00686 GFX2_GLOBAL SDL_Surface * Ecran_SDL;
00687 GFX2_GLOBAL SDL_Joystick* joystick;
00688
00689 #define TOUCHE_AUCUNE 0
00690 #define TOUCHE_MOUSEMIDDLE (SDLK_LAST+1)
00691 #define TOUCHE_MOUSEWHEELUP (SDLK_LAST+2)
00692 #define TOUCHE_MOUSEWHEELDOWN (SDLK_LAST+3)
00693 #define TOUCHE_BUTTON (SDLK_LAST+4)
00694
00695 #ifdef __gp2x__
00696 #define TOUCHE_ESC (TOUCHE_BUTTON+GP2X_BUTTON_X)
00697 #else
00698 #define TOUCHE_ESC SDLK_ESCAPE
00699 #endif
00700
00701 #endif