Utilisation d'Allegro



Lisez readme.txt pour une présentation générale, les détails de copyright, et les informations sur l'installation et l'utilisation d'Allegro avec vos propres programmes.

int install_allegro(int system_id, int *errno_ptr, int (*atexit_ptr)());
Initialise la librairie Allegro. Vous devez appeler cette fonction ou allegro_init() avant de faire quoi que ce soit d'autre. Les codes system_id varient d'une plate-forme à l'autre, mais la plupart du temps vous utiliserez SYSTEM_AUTODETECT. SYSTEM_NONE installe une version limitée d'Allegro qui n'essayera même pas d'accéder à votre matériel ou de faire quoi que ce soit de spécifique à une plate-forme : çà peut être utile pour les situations dans lequelles vous voulez uniquement manipuler des bitmaps mémoire, comme avec les outils de gestion de datafile en mode texte ou les fonctions d'interface GDI de Windows. Les paramètres errno_ptr et atexit_ptr doivent pointer vers la variable errno et la fonction atexit de votre librairie c : ces paramètres sont nécessaires parce que quand Allegro est lié en tant que DLL, il n'a pas d'accès direct aux données de votre librairie c locale.

int allegro_init();
Initialise la librairie Allegro. Cela revient au même que d'appeler install_allegro(SYSTEM_AUTODETECT, &errno, atexit).

void allegro_exit();
Ferme le système Allegro. Ceci inclut le retour du système en mode texte et l'arrêt des routines souris, clavier et timer qui ont été installées. Vous n'avez normalement pas à appeler cette fonction directement puisque allegro_init() l'installe comme routine atexit() pour qu'elle soit appelée automatiquement quand votre programme se termine.

extern char allegro_id[];
Chaîne de caractères contenant une date et un numéro de version pour la librairie, au cas où vous voudriez les afficher quelque part.

extern char allegro_error[];
Chaîne de caractères utilisée par set_gfx_mode() et install_sound() pour rapporter les messages d'erreur. Si ces fonctions échouent et que vous voulez dire pourquoi à l'utilisateur, c'est l'endroit où il faut regarder pour avoir une description du problème.

extern int os_type;
Affecté à une de ces valeurs par allegro_init() :

      OSTYPE_UNKNOWN    - inconnu, ou MSDOS standard
      OSTYPE_WIN3       - Windows 3.1 ou précédent
      OSTYPE_WIN95      - Windows 95
      OSTYPE_WIN98      - Windows 98
      OSTYPE_WINNT      - Windows NT
      OSTYPE_OS2        - OS/2
      OSTYPE_WARP       - OS/2 Warp 3
      OSTYPE_DOSEMU     - Linux DOSEMU
      OSTYPE_OPENDOS    - Caldera OpenDOS
      OSTYPE_LINUX      - Linux
      OSTYPE_UNIX       - Variante Unix inconnue

void allegro_message(char *msg, ...);
Affiche un message, en utilisant une chaîne au format printf(). Cette fonction doit être utilisée uniquement en mode non graphique, càd avant d'appeler set_gfx_mode(), ou après un set_gfx_mode(GFX_TEXT). Sur les plates-formes disposant d'une console en mode texte (DOS et Unix) le message sera affiché sur la console, en essayant de résoudre les problèmes liés aux différences de pages de codes en remplaçant les caractères accentués par des approximations ASCII sur 7 bits, ou en affichant une boîte de message sous Windows.

void set_window_title(char *name);
Sur les plates-formes qui en sont capables, cette routine modifie le titre de la fenêtre de votre programme Allegro.

int desktop_color_depth();
Sur les plates-formes qui peuvent lancer des programmes Allegro dans une fenêtre, retourne la profondeur de couleur courante (votre programme tournera normalemnt plus vite s'il utilise la même profondeur de couleur). Sur les plates-formes sur lesquelles cette information n'est pas disponible cette fonction retourne zéro.

void yield_timeslice();
Sur les systèmes qui le supportent, abandonne le temps de latence du scheduler en cours. Aussi connu comme l'option "sois sympa avec le multi-tâche".

void check_cpu();
Détecte le type de processeur, affecte les variables globales qui suivent. Vous n'avez généralement pas à appeler cette fonction puisque allegro_init() le fera pour vous.

extern char cpu_vendor[];
Contient le nom du fabricant du processeur, s'il est connu (chaîne vide sur les plates-formes non-Intel).

extern int cpu_family;
Contient le type de processeur Intel, avec les valeurs suivantes : 3=386, 4=486, 5=Pentium, 6=PPro, etc.

extern int cpu_model;
Contient le numéro de sous-modèle du processeur de type Intel, si c'est applicable. Sur un 486 (cpu_family=4), zéro ou un indique un chip DX, 2 un SX, 3 un 487 (SX) ou 486 DX, 4 un SL, 5 un SX2, 7 un DX2 write-back enhanced, 8 un DX4 ou DX4 overdrive, 14 un Cyrix, et 15 s'il est inconnu. sur un Pentium (cpu_family=5), 1 indique un Pentium (510\66, 567\66), 2 un Pentium P54C, 3 un Pentium overdrive, 5 un Pentium overdrive pour IntelDX4, 14 un Cyrix, et 15 un sous-modèle inconnu.

extern int cpu_fpu;
Contient TRUE ou FALSE, suivant qu'un coprocesseur arithmétique Intel à virgule flottante est disponible ou pas.

extern int cpu_mmx;
Contient TRUE ou FALSE, suivant que le jeu de fonctions MMX d'Intel est disponible ou pas.

extern int cpu_3dnow;
Contient TRUE ou FALSE, suivant que le jeu de fonctions 3DNow! d'AMD est disponible ou pas.

extern int cpu_cpuid;
Contient TRUE ou FALSE, suivant que l'instruction Intel "cpuid" est disponible ou pas (si c'est à TRUE, les autres variables liées au processeur sont 100% fiables, sinon il peut y avoir des erreurs).



Retour au Sommaire