***** * * Fichier de d‚finitions … inclure pour programmer * un module pour The Removers' Animator. * * Tous les d‚tails de la signification des champs * sont donn‚s dans la documentation 'modules.txt' * /***** * * init_module : * Structure du tableau donn‚ en paramŠtre par le biais de a0.l */ /* modules AVC : */ #typedef struct { CHAR *chemin_modules; LONG (*adr_recherche_precalc)(); /* \ */ LONG (*adr_mem_alloc)(); /* | gestion de la m‚moire */ LONG (*adr_libere_precalc)(); /* / */ CHAR type[4]; /* partie sp‚cifique aux AVC : */ CHAR compression[4]; /* type de compression */ UWORD bits_par_pixel; /* 2, 4, 8, 16, 24, 32 ... */ CHAR *adr_palette; UWORD largeur; /* dimensions du flux video */ UWORD hauteur; CHAR *adr_ecran_centre; /* adresse de l'‚cran */ UWORD x_ecran; /* dimensions de l'‚cran */ UWORD y_ecran; UWORD nb_bits_sortie /* 16 ou 24 (avec restrictions) */ UWORD type_de_sortie } info_init_video_codec #define VIDEO_ATARI 0 #define CARTE_GRAPHIQUE 1 /* modules AAC : */ #typedef struct { CHAR *chemin_modules; LONG (*adr_recherche_precalc)(); /* \ */ LONG (*adr_mem_alloc)(); /* | gestion de la m‚moire */ LONG (*adr_libere_precalc)(); /* / */ CHAR type[4]; /* partie sp‚cifique aux AAC : */ UWORD format /* 0=inconnu, 1=PCM, 2=ADPCM, .... */ UBYTE nb_voies /* 1=mono, 2=st‚r‚o */ UBYTE bits_par_sample /* en g‚n‚ral ‚gal … 4, 8 ou 16. */ ULONG frequence /* en g‚n‚ral ‚gal … 11025, 22050 ou 44100 */ UBYTE block_align UWORD format_sortie /* \ */ UBYTE nb_voies_sortie /* | paramŠtres du son en sortie */ UBYTE bits_sortie /* | */ ULONG frequence_sortie /* / */ } info_init_audio_codec /***** * * init_module : * Structure des descripteurs de bloc m‚moire … remplir * en cas de cr‚ation d'un pr‚calcul */ #typedef struct { CHAR identificateur[4]; CHAR *adresse_bloc; UWORD nb_utilisateurs; } descripteur_precalc /***** * * init_module : * Valeurs de retour dans d0.l */ #define INIT_MOD_OK 0 #define INIT_MOD_BAD_COMP -1 #define INIT_MOD_TOO_FEW_ARGS -2 #define INIT_MOD_MEMORY_ERROR -3 #define INIT_MOD_USER_DEFINED_ERROR -4 #define INIT_MOD_UNEXP_ERROR -5 /***** * * init_module : * Structure du tableau retourn‚ par le biais de a0.l si d0.l=INIT_MOD_OK */ #typedef struct { VOID (*adr_decodeur)(); VOID (*adr_encodeur)(); VOID (*adr_libere_module)(); CHAR *auteur; CHAR *description; CHAR version[4]; MFDB *adr_MFDB; } information_module_video #typedef struct { ULONG (*adr_decodeur)(); /* retourne la taille exacte du bloc r‚‚chantillonn‚ */ VOID (*adr_encodeur)(); VOID (*adr_libere_module)(); CHAR *auteur; CHAR *description; CHAR version[4]; ULONG min_bit_rate; } information_module_audio