\entry{int install_allegro(int system_id, int *errno_ptr, int (*atexit_ptr)());}{1}{\code {\t {int install_allegro(int system_id, int *errno_ptr, int (*atexit_ptr)());}}}
\entry{int allegro_init();}{1}{\code {\t {int allegro_init();}}}
\entry{void allegro_exit();}{2}{\code {\t {void allegro_exit();}}}
\entry{Macro END_OF_MAIN()}{2}{\code {\t {Macro END_OF_MAIN()}}}
\entry{extern char allegro_id[];}{3}{\code {\t {extern char allegro_id[];}}}
\entry{extern char allegro_error[ALLEGRO_ERROR_SIZE];}{3}{\code {\t {extern char allegro_error[ALLEGRO_ERROR_SIZE];}}}
\entry{#define ALLEGRO_VERSION}{3}{\code {\t {#define ALLEGRO_VERSION}}}
\entry{#define ALLEGRO_SUB_VERSION}{4}{\code {\t {#define ALLEGRO_SUB_VERSION}}}
\entry{#define ALLEGRO_WIP_VERSION}{4}{\code {\t {#define ALLEGRO_WIP_VERSION}}}
\entry{#define ALLEGRO_VERSION_STR}{4}{\code {\t {#define ALLEGRO_VERSION_STR}}}
\entry{#define ALLEGRO_DATE_STR}{4}{\code {\t {#define ALLEGRO_DATE_STR}}}
\entry{#define ALLEGRO_DATE}{4}{\code {\t {#define ALLEGRO_DATE}}}
\entry{Macro AL_ID(a,b,c,d)}{4}{\code {\t {Macro AL_ID(a,b,c,d)}}}
\entry{Macro MAKE_VERSION(a, b, c)}{5}{\code {\t {Macro MAKE_VERSION(a, b, c)}}}
\entry{extern int os_type;}{5}{\code {\t {extern int os_type;}}}
\entry{extern int os_version;}{6}{\code {\t {extern int os_version;}}}
\entry{extern int os_revision;}{6}{\code {\t {extern int os_revision;}}}
\entry{extern int os_multitasking;}{6}{\code {\t {extern int os_multitasking;}}}
\entry{void allegro_message(const char *text_format, ...);}{6}{\code {\t {void allegro_message(const char *text_format, ...);}}}
\entry{void set_window_title(const char *name);}{7}{\code {\t {void set_window_title(const char *name);}}}
\entry{int set_close_button_callback(void (*proc)(void));}{7}{\code {\t {int set_close_button_callback(void (*proc)(void));}}}
\entry{int desktop_color_depth();}{8}{\code {\t {int desktop_color_depth();}}}
\entry{int get_desktop_resolution(int *width, int *height);}{9}{\code {\t {int get_desktop_resolution(int *width, int *height);}}}
\entry{void check_cpu();}{9}{\code {\t {void check_cpu();}}}
\entry{extern char cpu_vendor[];}{10}{\code {\t {extern char cpu_vendor[];}}}
\entry{extern int cpu_family;}{10}{\code {\t {extern int cpu_family;}}}
\entry{extern int cpu_model;}{11}{\code {\t {extern int cpu_model;}}}
\entry{extern int cpu_capabilities;}{11}{\code {\t {extern int cpu_capabilities;}}}
\entry{typedef long fixed}{13}{\code {\t {typedef long fixed}}}
\entry{typedef struct BITMAP}{13}{\code {\t {typedef struct BITMAP}}}
\entry{typedef struct RLE_SPRITE}{14}{\code {\t {typedef struct RLE_SPRITE}}}
\entry{typedef struct COMPILED_SPRITE}{14}{\code {\t {typedef struct COMPILED_SPRITE}}}
\entry{typedef struct JOYSTICK_INFO}{15}{\code {\t {typedef struct JOYSTICK_INFO}}}
\entry{typedef struct JOYSTICK_BUTTON_INFO}{15}{\code {\t {typedef struct JOYSTICK_BUTTON_INFO}}}
\entry{typedef struct JOYSTICK_STICK_INFO}{15}{\code {\t {typedef struct JOYSTICK_STICK_INFO}}}
\entry{typedef struct JOYSTICK_AXIS_INFO}{16}{\code {\t {typedef struct JOYSTICK_AXIS_INFO}}}
\entry{typedef struct GFX_MODE_LIST}{16}{\code {\t {typedef struct GFX_MODE_LIST}}}
\entry{typedef struct GFX_MODE}{16}{\code {\t {typedef struct GFX_MODE}}}
\entry{#define PAL_SIZE}{16}{\code {\t {#define PAL_SIZE}}}
\entry{typedef PALETTE RGB[PAL_SIZE]}{17}{\code {\t {typedef PALETTE RGB[PAL_SIZE]}}}
\entry{typedef struct RGB}{17}{\code {\t {typedef struct RGB}}}
\entry{typedef struct V3D}{17}{\code {\t {typedef struct V3D}}}
\entry{typedef struct V3D_f}{18}{\code {\t {typedef struct V3D_f}}}
\entry{typedef struct COLOR_MAP}{18}{\code {\t {typedef struct COLOR_MAP}}}
\entry{typedef struct RGB_MAP}{19}{\code {\t {typedef struct RGB_MAP}}}
\entry{struct al_ffblk}{19}{\code {\t {struct al_ffblk}}}
\entry{typedef struct DATAFILE}{19}{\code {\t {typedef struct DATAFILE}}}
\entry{typedef struct MATRIX}{20}{\code {\t {typedef struct MATRIX}}}
\entry{typedef struct MATRIX_f}{20}{\code {\t {typedef struct MATRIX_f}}}
\entry{typedef struct QUAT}{21}{\code {\t {typedef struct QUAT}}}
\entry{typedef struct DIALOG}{21}{\code {\t {typedef struct DIALOG}}}
\entry{typedef struct MENU}{21}{\code {\t {typedef struct MENU}}}
\entry{typedef struct DIALOG_PLAYER}{22}{\code {\t {typedef struct DIALOG_PLAYER}}}
\entry{typedef struct MENU_PLAYER}{22}{\code {\t {typedef struct MENU_PLAYER}}}
\entry{typedef struct FONT}{22}{\code {\t {typedef struct FONT}}}
\entry{typedef struct BITMAP ZBUFFER}{23}{\code {\t {typedef struct BITMAP ZBUFFER}}}
\entry{typedef struct SAMPLE}{23}{\code {\t {typedef struct SAMPLE}}}
\entry{typedef struct MIDI}{24}{\code {\t {typedef struct MIDI}}}
\entry{typedef struct AUDIOSTREAM}{24}{\code {\t {typedef struct AUDIOSTREAM}}}
\entry{typedef struct PACKFILE}{24}{\code {\t {typedef struct PACKFILE}}}
\entry{typedef struct PACKFILE_VTABLE}{25}{\code {\t {typedef struct PACKFILE_VTABLE}}}
\entry{typedef struct LZSS_PACK_DATA}{25}{\code {\t {typedef struct LZSS_PACK_DATA}}}
\entry{typedef struct LZSS_UNPACK_DATA}{25}{\code {\t {typedef struct LZSS_UNPACK_DATA}}}
\entry{void set_uformat(int type);}{26}{\code {\t {void set_uformat(int type);}}}
\entry{int get_uformat(void);}{27}{\code {\t {int get_uformat(void);}}}
\entry{void register_uformat(int type, int (*u_getc)(const char *s), int (*u_getx)(char **s), int (*u_setc)(char *s, int c), int (*u_width)(const char *s), int (*u_cwidth)(int c), int (*u_isok)(int c));}{28}{\code {\t {void register_uformat(int type, int (*u_getc)(const char *s), int (*u_getx)(char **s), int (*u_setc)(char *s, int c), int (*u_width)(const char *s), int (*u_cwidth)(int c), int (*u_isok)(int c));}}}
\entry{void set_ucodepage(const unsigned short *table, const unsigned short *extras);}{28}{\code {\t {void set_ucodepage(const unsigned short *table, const unsigned short *extras);}}}
\entry{int need_uconvert(const char *s, int type, int newtype);}{29}{\code {\t {int need_uconvert(const char *s, int type, int newtype);}}}
\entry{int uconvert_size(const char *s, int type, int newtype);}{29}{\code {\t {int uconvert_size(const char *s, int type, int newtype);}}}
\entry{void do_uconvert(const char *s, int type, char *buf, int newtype, int size);}{30}{\code {\t {void do_uconvert(const char *s, int type, char *buf, int newtype, int size);}}}
\entry{char *uconvert(const char *s, int type, char *buf, int newtype, int size);}{30}{\code {\t {char *uconvert(const char *s, int type, char *buf, int newtype, int size);}}}
\entry{char *uconvert_ascii(const char *s, char buf[]);}{31}{\code {\t {char *uconvert_ascii(const char *s, char buf[]);}}}
\entry{char *uconvert_toascii(const char *s, char buf[]);}{31}{\code {\t {char *uconvert_toascii(const char *s, char buf[]);}}}
\entry{extern char empty_string[];}{31}{\code {\t {extern char empty_string[];}}}
\entry{int ugetc(const char *s);}{32}{\code {\t {int ugetc(const char *s);}}}
\entry{int ugetx(char **s);}{32}{\code {\t {int ugetx(char **s);}}}
\entry{int ugetxc(const char **s);}{32}{\code {\t {int ugetxc(const char **s);}}}
\entry{int usetc(char *s, int c);}{32}{\code {\t {int usetc(char *s, int c);}}}
\entry{int uwidth(const char *s);}{33}{\code {\t {int uwidth(const char *s);}}}
\entry{int ucwidth(int c);}{33}{\code {\t {int ucwidth(int c);}}}
\entry{int uisok(int c);}{33}{\code {\t {int uisok(int c);}}}
\entry{int uoffset(const char *s, int index);}{34}{\code {\t {int uoffset(const char *s, int index);}}}
\entry{int ugetat(const char *s, int index);}{34}{\code {\t {int ugetat(const char *s, int index);}}}
\entry{int usetat(char *s, int index, int c);}{35}{\code {\t {int usetat(char *s, int index, int c);}}}
\entry{int uinsert(char *s, int index, int c);}{35}{\code {\t {int uinsert(char *s, int index, int c);}}}
\entry{int uremove(char *s, int index);}{35}{\code {\t {int uremove(char *s, int index);}}}
\entry{int ustrsize(const char *s);}{36}{\code {\t {int ustrsize(const char *s);}}}
\entry{int ustrsizez(const char *s);}{36}{\code {\t {int ustrsizez(const char *s);}}}
\entry{int uwidth_max(int type);}{36}{\code {\t {int uwidth_max(int type);}}}
\entry{int utolower(int c);}{37}{\code {\t {int utolower(int c);}}}
\entry{int utoupper(int c);}{37}{\code {\t {int utoupper(int c);}}}
\entry{int uisspace(int c);}{37}{\code {\t {int uisspace(int c);}}}
\entry{int uisdigit(int c);}{38}{\code {\t {int uisdigit(int c);}}}
\entry{char *ustrdup(const char *src)}{38}{\code {\t {char *ustrdup(const char *src)}}}
\entry{char *_ustrdup(const char *src, void* (*malloc_func)(size_t))}{39}{\code {\t {char *_ustrdup(const char *src, void* (*malloc_func)(size_t))}}}
\entry{char *ustrcpy(char *dest, const char *src);}{39}{\code {\t {char *ustrcpy(char *dest, const char *src);}}}
\entry{char *ustrzcpy(char *dest, int size, const char *src);}{39}{\code {\t {char *ustrzcpy(char *dest, int size, const char *src);}}}
\entry{char *ustrcat(char *dest, const char *src);}{40}{\code {\t {char *ustrcat(char *dest, const char *src);}}}
\entry{char *ustrzcat(char *dest, int size, const char *src);}{40}{\code {\t {char *ustrzcat(char *dest, int size, const char *src);}}}
\entry{int ustrlen(const char *s);}{40}{\code {\t {int ustrlen(const char *s);}}}
\entry{int ustrcmp(const char *s1, const char *s2);}{41}{\code {\t {int ustrcmp(const char *s1, const char *s2);}}}
\entry{char *ustrncpy(char *dest, const char *src, int n);}{41}{\code {\t {char *ustrncpy(char *dest, const char *src, int n);}}}
\entry{char *ustrzncpy(char *dest, int size, const char *src, int n);}{41}{\code {\t {char *ustrzncpy(char *dest, int size, const char *src, int n);}}}
\entry{char *ustrncat(char *dest, const char *src, int n);}{42}{\code {\t {char *ustrncat(char *dest, const char *src, int n);}}}
\entry{char *ustrzncat(char *dest, int size, const char *src, int n);}{42}{\code {\t {char *ustrzncat(char *dest, int size, const char *src, int n);}}}
\entry{int ustrncmp(const char *s1, const char *s2, int n);}{42}{\code {\t {int ustrncmp(const char *s1, const char *s2, int n);}}}
\entry{int ustricmp(const char *s1, const char *s2);}{43}{\code {\t {int ustricmp(const char *s1, const char *s2);}}}
\entry{int ustrnicmp(const char *s1, const char *s2, int n);}{43}{\code {\t {int ustrnicmp(const char *s1, const char *s2, int n);}}}
\entry{char *ustrlwr(char *s);}{44}{\code {\t {char *ustrlwr(char *s);}}}
\entry{char *ustrupr(char *s);}{44}{\code {\t {char *ustrupr(char *s);}}}
\entry{char *ustrchr(const char *s, int c);}{44}{\code {\t {char *ustrchr(const char *s, int c);}}}
\entry{char *ustrrchr(const char *s, int c);}{45}{\code {\t {char *ustrrchr(const char *s, int c);}}}
\entry{char *ustrstr(const char *s1, const char *s2);}{45}{\code {\t {char *ustrstr(const char *s1, const char *s2);}}}
\entry{char *ustrpbrk(const char *s, const char *set);}{46}{\code {\t {char *ustrpbrk(const char *s, const char *set);}}}
\entry{char *ustrtok(char *s, const char *set);}{46}{\code {\t {char *ustrtok(char *s, const char *set);}}}
\entry{char *ustrtok_r(char *s, const char *set, char **last);}{47}{\code {\t {char *ustrtok_r(char *s, const char *set, char **last);}}}
\entry{double uatof(const char *s);}{47}{\code {\t {double uatof(const char *s);}}}
\entry{long ustrtol(const char *s, char **endp, int base);}{47}{\code {\t {long ustrtol(const char *s, char **endp, int base);}}}
\entry{double ustrtod(const char *s, char **endp);}{48}{\code {\t {double ustrtod(const char *s, char **endp);}}}
\entry{const char *ustrerror(int err);}{48}{\code {\t {const char *ustrerror(int err);}}}
\entry{int usprintf(char *buf, const char *format, ...);}{49}{\code {\t {int usprintf(char *buf, const char *format, ...);}}}
\entry{int uszprintf(char *buf, int size, const char *format, ...);}{49}{\code {\t {int uszprintf(char *buf, int size, const char *format, ...);}}}
\entry{int uvsprintf(char *buf, const char *format, va_list args);}{49}{\code {\t {int uvsprintf(char *buf, const char *format, va_list args);}}}
\entry{int uvszprintf(char *buf, int size, const char *format, va_list args);}{50}{\code {\t {int uvszprintf(char *buf, int size, const char *format, va_list args);}}}
\entry{void set_config_file(const char *filename);}{51}{\code {\t {void set_config_file(const char *filename);}}}
\entry{void set_config_data(const char *data, int length);}{52}{\code {\t {void set_config_data(const char *data, int length);}}}
\entry{void override_config_file(const char *filename);}{52}{\code {\t {void override_config_file(const char *filename);}}}
\entry{void override_config_data(const char *data, int length);}{53}{\code {\t {void override_config_data(const char *data, int length);}}}
\entry{void push_config_state();}{53}{\code {\t {void push_config_state();}}}
\entry{void pop_config_state();}{54}{\code {\t {void pop_config_state();}}}
\entry{void flush_config_file();}{54}{\code {\t {void flush_config_file();}}}
\entry{void reload_config_texts(const char *new_language);}{54}{\code {\t {void reload_config_texts(const char *new_language);}}}
\entry{void hook_config_section(const char *section, int (*intgetter)(const char *name, int def), const char *(*stringgetter)(const char *name, const char *def), void (*stringsetter)(const char *name, const char *value));}{55}{\code {\t {void hook_config_section(const char *section, int (*intgetter)(const char *name, int def), const char *(*stringgetter)(const char *name, const char *def), void (*stringsetter)(const char *name, const char *value));}}}
\entry{int config_is_hooked(const char *section);}{55}{\code {\t {int config_is_hooked(const char *section);}}}
\entry{const char *get_config_string(const char *section, const char *name, const char *def);}{56}{\code {\t {const char *get_config_string(const char *section, const char *name, const char *def);}}}
\entry{int get_config_int(const char *section, const char *name, int def);}{56}{\code {\t {int get_config_int(const char *section, const char *name, int def);}}}
\entry{int get_config_hex(const char *section, const char *name, int def);}{57}{\code {\t {int get_config_hex(const char *section, const char *name, int def);}}}
\entry{float get_config_float(const char *section, const char *name, float def);}{57}{\code {\t {float get_config_float(const char *section, const char *name, float def);}}}
\entry{int get_config_id(const char *section, const char *name, int def);}{57}{\code {\t {int get_config_id(const char *section, const char *name, int def);}}}
\entry{char **get_config_argv(const char *section, const char *name, int *argc);}{58}{\code {\t {char **get_config_argv(const char *section, const char *name, int *argc);}}}
\entry{const char *get_config_text(const char *msg);}{58}{\code {\t {const char *get_config_text(const char *msg);}}}
\entry{void set_config_string(const char *section, const char *name, const char *val);}{59}{\code {\t {void set_config_string(const char *section, const char *name, const char *val);}}}
\entry{void set_config_int(const char *section, const char *name, int val);}{59}{\code {\t {void set_config_int(const char *section, const char *name, int val);}}}
\entry{void set_config_hex(const char *section, const char *name, int val);}{60}{\code {\t {void set_config_hex(const char *section, const char *name, int val);}}}
\entry{void set_config_float(const char *section, const char *name, float val);}{60}{\code {\t {void set_config_float(const char *section, const char *name, float val);}}}
\entry{void set_config_id(const char *section, const char *name, int val);}{60}{\code {\t {void set_config_id(const char *section, const char *name, int val);}}}
\entry{int list_config_entries(const char *section, const char ***names);}{61}{\code {\t {int list_config_entries(const char *section, const char ***names);}}}
\entry{int list_config_sections(const char ***names);}{62}{\code {\t {int list_config_sections(const char ***names);}}}
\entry{int free_config_entries(const char ***names);}{62}{\code {\t {int free_config_entries(const char ***names);}}}
\entry{int install_mouse();}{70}{\code {\t {int install_mouse();}}}
\entry{void remove_mouse();}{70}{\code {\t {void remove_mouse();}}}
\entry{int poll_mouse();}{70}{\code {\t {int poll_mouse();}}}
\entry{int mouse_needs_poll();}{71}{\code {\t {int mouse_needs_poll();}}}
\entry{void enable_hardware_cursor(void);}{71}{\code {\t {void enable_hardware_cursor(void);}}}
\entry{void disable_hardware_cursor(void);}{72}{\code {\t {void disable_hardware_cursor(void);}}}
\entry{void select_mouse_cursor(int cursor);}{72}{\code {\t {void select_mouse_cursor(int cursor);}}}
\entry{void set_mouse_cursor_bitmap(int cursor, BITMAP *bmp);}{73}{\code {\t {void set_mouse_cursor_bitmap(int cursor, BITMAP *bmp);}}}
\entry{extern volatile int mouse_x;}{74}{\code {\t {extern volatile int mouse_x;}}}
\entry{extern volatile int mouse_y;}{74}{\code {\t {extern volatile int mouse_y;}}}
\entry{extern volatile int mouse_z;}{74}{\code {\t {extern volatile int mouse_z;}}}
\entry{extern volatile int mouse_w;}{74}{\code {\t {extern volatile int mouse_w;}}}
\entry{extern volatile int mouse_b;}{74}{\code {\t {extern volatile int mouse_b;}}}
\entry{extern volatile int mouse_pos;}{74}{\code {\t {extern volatile int mouse_pos;}}}
\entry{extern BITMAP *mouse_sprite;}{75}{\code {\t {extern BITMAP *mouse_sprite;}}}
\entry{extern int mouse_x_focus;}{75}{\code {\t {extern int mouse_x_focus;}}}
\entry{extern int mouse_y_focus;}{75}{\code {\t {extern int mouse_y_focus;}}}
\entry{void show_mouse(BITMAP *bmp);}{75}{\code {\t {void show_mouse(BITMAP *bmp);}}}
\entry{void scare_mouse();}{76}{\code {\t {void scare_mouse();}}}
\entry{void scare_mouse_area(int x, int y, int w, int h);}{76}{\code {\t {void scare_mouse_area(int x, int y, int w, int h);}}}
\entry{void unscare_mouse();}{77}{\code {\t {void unscare_mouse();}}}
\entry{int show_os_cursor(int cursor);}{77}{\code {\t {int show_os_cursor(int cursor);}}}
\entry{extern volatile int freeze_mouse_flag;}{78}{\code {\t {extern volatile int freeze_mouse_flag;}}}
\entry{void position_mouse(int x, int y);}{78}{\code {\t {void position_mouse(int x, int y);}}}
\entry{void position_mouse_z(int z);}{78}{\code {\t {void position_mouse_z(int z);}}}
\entry{void position_mouse_w(int w);}{78}{\code {\t {void position_mouse_w(int w);}}}
\entry{void set_mouse_range(int x1, int y1, int x2, int y2);}{79}{\code {\t {void set_mouse_range(int x1, int y1, int x2, int y2);}}}
\entry{void set_mouse_speed(int xspeed, int yspeed);}{79}{\code {\t {void set_mouse_speed(int xspeed, int yspeed);}}}
\entry{void set_mouse_sprite(BITMAP *sprite);}{79}{\code {\t {void set_mouse_sprite(BITMAP *sprite);}}}
\entry{void set_mouse_sprite_focus(int x, int y);}{79}{\code {\t {void set_mouse_sprite_focus(int x, int y);}}}
\entry{void get_mouse_mickeys(int *mickeyx, int *mickeyy);}{80}{\code {\t {void get_mouse_mickeys(int *mickeyx, int *mickeyy);}}}
\entry{extern void (*mouse_callback)(int flags);}{80}{\code {\t {extern void (*mouse_callback)(int flags);}}}
\entry{int install_timer();}{81}{\code {\t {int install_timer();}}}
\entry{void remove_timer();}{81}{\code {\t {void remove_timer();}}}
\entry{int install_int(void (*proc)(), int speed);}{81}{\code {\t {int install_int(void (*proc)(), int speed);}}}
\entry{int install_int_ex(void (*proc)(), int speed);}{82}{\code {\t {int install_int_ex(void (*proc)(), int speed);}}}
\entry{Macro LOCK_VARIABLE(variable_name);}{83}{\code {\t {Macro LOCK_VARIABLE(variable_name);}}}
\entry{Macro LOCK_FUNCTION(function_name);}{84}{\code {\t {Macro LOCK_FUNCTION(function_name);}}}
\entry{Macro END_OF_FUNCTION(function_name);}{84}{\code {\t {Macro END_OF_FUNCTION(function_name);}}}
\entry{void remove_int(void (*proc)());}{85}{\code {\t {void remove_int(void (*proc)());}}}
\entry{int install_param_int(void (*proc)(void *), void *param, int speed);}{85}{\code {\t {int install_param_int(void (*proc)(void *), void *param, int speed);}}}
\entry{int install_param_int_ex(void (*proc)(void *), void *param, int speed);}{85}{\code {\t {int install_param_int_ex(void (*proc)(void *), void *param, int speed);}}}
\entry{void remove_param_int(void (*proc)(void *), void *param);}{85}{\code {\t {void remove_param_int(void (*proc)(void *), void *param);}}}
\entry{extern volatile int retrace_count;}{86}{\code {\t {extern volatile int retrace_count;}}}
\entry{void rest(unsigned int time);}{86}{\code {\t {void rest(unsigned int time);}}}
\entry{void rest_callback(long time, void (*callback)())}{87}{\code {\t {void rest_callback(long time, void (*callback)())}}}
\entry{int install_keyboard();}{87}{\code {\t {int install_keyboard();}}}
\entry{void remove_keyboard();}{88}{\code {\t {void remove_keyboard();}}}
\entry{void install_keyboard_hooks(int (*keypressed)(), int (*readkey)());}{89}{\code {\t {void install_keyboard_hooks(int (*keypressed)(), int (*readkey)());}}}
\entry{int poll_keyboard();}{89}{\code {\t {int poll_keyboard();}}}
\entry{int keyboard_needs_poll();}{90}{\code {\t {int keyboard_needs_poll();}}}
\entry{extern volatile char key[KEY_MAX];}{90}{\code {\t {extern volatile char key[KEY_MAX];}}}
\entry{extern volatile int key_shifts;}{91}{\code {\t {extern volatile int key_shifts;}}}
\entry{int keypressed();}{92}{\code {\t {int keypressed();}}}
\entry{int readkey();}{93}{\code {\t {int readkey();}}}
\entry{int ureadkey(int *scancode);}{93}{\code {\t {int ureadkey(int *scancode);}}}
\entry{int scancode_to_ascii(int scancode);}{94}{\code {\t {int scancode_to_ascii(int scancode);}}}
\entry{const char *scancode_to_name(int scancode);}{95}{\code {\t {const char *scancode_to_name(int scancode);}}}
\entry{void simulate_keypress(int key);}{95}{\code {\t {void simulate_keypress(int key);}}}
\entry{void simulate_ukeypress(int key, int scancode);}{95}{\code {\t {void simulate_ukeypress(int key, int scancode);}}}
\entry{extern int (*keyboard_callback)(int key);}{96}{\code {\t {extern int (*keyboard_callback)(int key);}}}
\entry{extern int (*keyboard_ucallback)(int key, int *scancode);}{96}{\code {\t {extern int (*keyboard_ucallback)(int key, int *scancode);}}}
\entry{extern void (*keyboard_lowlevel_callback)(int scancode);}{97}{\code {\t {extern void (*keyboard_lowlevel_callback)(int scancode);}}}
\entry{void set_leds(int leds);}{98}{\code {\t {void set_leds(int leds);}}}
\entry{void set_keyboard_rate(int delay, int repeat);}{99}{\code {\t {void set_keyboard_rate(int delay, int repeat);}}}
\entry{void clear_keybuf();}{99}{\code {\t {void clear_keybuf();}}}
\entry{extern int three_finger_flag;}{99}{\code {\t {extern int three_finger_flag;}}}
\entry{extern int key_led_flag;}{100}{\code {\t {extern int key_led_flag;}}}
\entry{int install_joystick(int type);}{100}{\code {\t {int install_joystick(int type);}}}
\entry{void remove_joystick();}{101}{\code {\t {void remove_joystick();}}}
\entry{int poll_joystick();}{101}{\code {\t {int poll_joystick();}}}
\entry{extern int num_joysticks;}{102}{\code {\t {extern int num_joysticks;}}}
\entry{extern JOYSTICK_INFO joy[n];}{102}{\code {\t {extern JOYSTICK_INFO joy[n];}}}
\entry{const char *calibrate_joystick_name(int n);}{104}{\code {\t {const char *calibrate_joystick_name(int n);}}}
\entry{int calibrate_joystick(int n);}{104}{\code {\t {int calibrate_joystick(int n);}}}
\entry{int save_joystick_data(const char *filename);}{105}{\code {\t {int save_joystick_data(const char *filename);}}}
\entry{int load_joystick_data(const char *filename);}{105}{\code {\t {int load_joystick_data(const char *filename);}}}
\entry{int initialise_joystick();}{106}{\code {\t {int initialise_joystick();}}}
\entry{void set_color_depth(int depth);}{108}{\code {\t {void set_color_depth(int depth);}}}
\entry{int get_color_depth(void);}{109}{\code {\t {int get_color_depth(void);}}}
\entry{void request_refresh_rate(int rate);}{109}{\code {\t {void request_refresh_rate(int rate);}}}
\entry{int get_refresh_rate(void);}{110}{\code {\t {int get_refresh_rate(void);}}}
\entry{GFX_MODE_LIST *get_gfx_mode_list(int card);}{110}{\code {\t {GFX_MODE_LIST *get_gfx_mode_list(int card);}}}
\entry{void destroy_gfx_mode_list(GFX_MODE_LIST *mode_list);}{111}{\code {\t {void destroy_gfx_mode_list(GFX_MODE_LIST *mode_list);}}}
\entry{int set_gfx_mode(int card, int w, int h, int v_w, int v_h);}{111}{\code {\t {int set_gfx_mode(int card, int w, int h, int v_w, int v_h);}}}
\entry{int set_display_switch_mode(int mode);}{112}{\code {\t {int set_display_switch_mode(int mode);}}}
\entry{int set_display_switch_callback(int dir, void (*cb)());}{113}{\code {\t {int set_display_switch_callback(int dir, void (*cb)());}}}
\entry{void remove_display_switch_callback(void (*cb)());}{114}{\code {\t {void remove_display_switch_callback(void (*cb)());}}}
\entry{int get_display_switch_mode();}{114}{\code {\t {int get_display_switch_mode();}}}
\entry{int is_windowed_mode(void);}{114}{\code {\t {int is_windowed_mode(void);}}}
\entry{extern int gfx_capabilities;}{115}{\code {\t {extern int gfx_capabilities;}}}
\entry{int enable_triple_buffer();}{118}{\code {\t {int enable_triple_buffer();}}}
\entry{int scroll_screen(int x, int y);}{118}{\code {\t {int scroll_screen(int x, int y);}}}
\entry{int request_scroll(int x, int y);}{119}{\code {\t {int request_scroll(int x, int y);}}}
\entry{int poll_scroll();}{119}{\code {\t {int poll_scroll();}}}
\entry{int show_video_bitmap(BITMAP *bitmap);}{120}{\code {\t {int show_video_bitmap(BITMAP *bitmap);}}}
\entry{int request_video_bitmap(BITMAP *bitmap);}{120}{\code {\t {int request_video_bitmap(BITMAP *bitmap);}}}
\entry{void vsync();}{121}{\code {\t {void vsync();}}}
\entry{extern BITMAP *screen;}{123}{\code {\t {extern BITMAP *screen;}}}
\entry{#define SCREEN_W;}{123}{\code {\t {#define SCREEN_W;}}}
\entry{#define SCREEN_H;}{123}{\code {\t {#define SCREEN_H;}}}
\entry{#define VIRTUAL_W;}{124}{\code {\t {#define VIRTUAL_W;}}}
\entry{#define VIRTUAL_H;}{124}{\code {\t {#define VIRTUAL_H;}}}
\entry{BITMAP *create_bitmap(int width, int height);}{124}{\code {\t {BITMAP *create_bitmap(int width, int height);}}}
\entry{BITMAP *create_bitmap_ex(int color_depth, int width, int height);}{125}{\code {\t {BITMAP *create_bitmap_ex(int color_depth, int width, int height);}}}
\entry{BITMAP *create_sub_bitmap(BITMAP *parent, int x, y, width, height);}{126}{\code {\t {BITMAP *create_sub_bitmap(BITMAP *parent, int x, y, width, height);}}}
\entry{BITMAP *create_video_bitmap(int width, int height);}{126}{\code {\t {BITMAP *create_video_bitmap(int width, int height);}}}
\entry{BITMAP *create_system_bitmap(int width, int height);}{127}{\code {\t {BITMAP *create_system_bitmap(int width, int height);}}}
\entry{void destroy_bitmap(BITMAP *bitmap);}{128}{\code {\t {void destroy_bitmap(BITMAP *bitmap);}}}
\entry{void lock_bitmap(BITMAP *bitmap);}{128}{\code {\t {void lock_bitmap(BITMAP *bitmap);}}}
\entry{int bitmap_color_depth(BITMAP *bmp);}{128}{\code {\t {int bitmap_color_depth(BITMAP *bmp);}}}
\entry{int bitmap_mask_color(BITMAP *bmp);}{129}{\code {\t {int bitmap_mask_color(BITMAP *bmp);}}}
\entry{int is_same_bitmap(BITMAP *bmp1, BITMAP *bmp2);}{129}{\code {\t {int is_same_bitmap(BITMAP *bmp1, BITMAP *bmp2);}}}
\entry{int is_planar_bitmap(BITMAP *bmp);}{130}{\code {\t {int is_planar_bitmap(BITMAP *bmp);}}}
\entry{int is_linear_bitmap(BITMAP *bmp);}{130}{\code {\t {int is_linear_bitmap(BITMAP *bmp);}}}
\entry{int is_memory_bitmap(BITMAP *bmp);}{130}{\code {\t {int is_memory_bitmap(BITMAP *bmp);}}}
\entry{int is_screen_bitmap(BITMAP *bmp);}{130}{\code {\t {int is_screen_bitmap(BITMAP *bmp);}}}
\entry{int is_video_bitmap(BITMAP *bmp);}{131}{\code {\t {int is_video_bitmap(BITMAP *bmp);}}}
\entry{int is_system_bitmap(BITMAP *bmp);}{131}{\code {\t {int is_system_bitmap(BITMAP *bmp);}}}
\entry{int is_sub_bitmap(BITMAP *bmp);}{131}{\code {\t {int is_sub_bitmap(BITMAP *bmp);}}}
\entry{void acquire_bitmap(BITMAP *bmp);}{131}{\code {\t {void acquire_bitmap(BITMAP *bmp);}}}
\entry{void release_bitmap(BITMAP *bmp);}{133}{\code {\t {void release_bitmap(BITMAP *bmp);}}}
\entry{void acquire_screen();}{133}{\code {\t {void acquire_screen();}}}
\entry{void release_screen();}{133}{\code {\t {void release_screen();}}}
\entry{void set_clip_rect(BITMAP *bitmap, int x1, int y1, int x2, int y2);}{134}{\code {\t {void set_clip_rect(BITMAP *bitmap, int x1, int y1, int x2, int y2);}}}
\entry{void get_clip_rect(BITMAP *bitmap, int *x1, int *y1, int *x2, int *y2);}{134}{\code {\t {void get_clip_rect(BITMAP *bitmap, int *x1, int *y1, int *x2, int *y2);}}}
\entry{void add_clip_rect(BITMAP *bitmap, int x1, int y1, int x2, int y2);}{135}{\code {\t {void add_clip_rect(BITMAP *bitmap, int x1, int y1, int x2, int y2);}}}
\entry{void set_clip_state(BITMAP *bitmap, int state)}{135}{\code {\t {void set_clip_state(BITMAP *bitmap, int state)}}}
\entry{int get_clip_state(BITMAP *bitmap)}{135}{\code {\t {int get_clip_state(BITMAP *bitmap)}}}
\entry{int is_inside_bitmap(BITMAP *bmp, int x, int y, int clip);}{136}{\code {\t {int is_inside_bitmap(BITMAP *bmp, int x, int y, int clip);}}}
\entry{BITMAP *load_bitmap(const char *filename, RGB *pal);}{136}{\code {\t {BITMAP *load_bitmap(const char *filename, RGB *pal);}}}
\entry{BITMAP *load_bmp(const char *filename, RGB *pal);}{137}{\code {\t {BITMAP *load_bmp(const char *filename, RGB *pal);}}}
\entry{BITMAP *load_bmp_pf(PACKFILE *f, RGB *pal);}{138}{\code {\t {BITMAP *load_bmp_pf(PACKFILE *f, RGB *pal);}}}
\entry{BITMAP *load_lbm(const char *filename, RGB *pal);}{138}{\code {\t {BITMAP *load_lbm(const char *filename, RGB *pal);}}}
\entry{BITMAP *load_pcx(const char *filename, RGB *pal);}{138}{\code {\t {BITMAP *load_pcx(const char *filename, RGB *pal);}}}
\entry{BITMAP *load_pcx_pf(PACKFILE *f, RGB *pal);}{139}{\code {\t {BITMAP *load_pcx_pf(PACKFILE *f, RGB *pal);}}}
\entry{BITMAP *load_tga(const char *filename, RGB *pal);}{139}{\code {\t {BITMAP *load_tga(const char *filename, RGB *pal);}}}
\entry{BITMAP *load_tga_pf(PACKFILE *f, RGB *pal);}{140}{\code {\t {BITMAP *load_tga_pf(PACKFILE *f, RGB *pal);}}}
\entry{int save_bitmap(const char *filename, BITMAP *bmp, const RGB *pal);}{140}{\code {\t {int save_bitmap(const char *filename, BITMAP *bmp, const RGB *pal);}}}
\entry{int save_bmp(const char *filename, BITMAP *bmp, const RGB *pal);}{141}{\code {\t {int save_bmp(const char *filename, BITMAP *bmp, const RGB *pal);}}}
\entry{int save_bmp_pf(PACKFILE *f, BITMAP *bmp, RGB *pal);}{141}{\code {\t {int save_bmp_pf(PACKFILE *f, BITMAP *bmp, RGB *pal);}}}
\entry{int save_pcx(const char *filename, BITMAP *bmp, const RGB *pal);}{141}{\code {\t {int save_pcx(const char *filename, BITMAP *bmp, const RGB *pal);}}}
\entry{int save_pcx_pf(PACKFILE *f, BITMAP *bmp, RGB *pal);}{142}{\code {\t {int save_pcx_pf(PACKFILE *f, BITMAP *bmp, RGB *pal);}}}
\entry{int save_tga(const char *filename, BITMAP *bmp, const RGB *pal);}{142}{\code {\t {int save_tga(const char *filename, BITMAP *bmp, const RGB *pal);}}}
\entry{int save_tga_pf(PACKFILE *f, BITMAP *bmp, RGB *pal);}{142}{\code {\t {int save_tga_pf(PACKFILE *f, BITMAP *bmp, RGB *pal);}}}
\entry{void register_bitmap_file_type(const char *ext, BITMAP *(*load)(const char *filename, RGB *pal), int (*save)(const char *filename, BITMAP *bmp, const RGB *pal));}{143}{\code {\t {void register_bitmap_file_type(const char *ext, BITMAP *(*load)(const char *filename, RGB *pal), int (*save)(const char *filename, BITMAP *bmp, const RGB *pal));}}}
\entry{void set_color_conversion(int mode);}{143}{\code {\t {void set_color_conversion(int mode);}}}
\entry{int get_color_conversion();}{145}{\code {\t {int get_color_conversion();}}}
\entry{void set_color(int index, const RGB *p);}{146}{\code {\t {void set_color(int index, const RGB *p);}}}
\entry{void _set_color(int index, const RGB *p);}{146}{\code {\t {void _set_color(int index, const RGB *p);}}}
\entry{void set_palette(const PALETTE p);}{147}{\code {\t {void set_palette(const PALETTE p);}}}
\entry{void set_palette_range(const PALETTE p, int from, int to, int vsync);}{147}{\code {\t {void set_palette_range(const PALETTE p, int from, int to, int vsync);}}}
\entry{void get_color(int index, RGB *p);}{148}{\code {\t {void get_color(int index, RGB *p);}}}
\entry{void get_palette(PALETTE p);}{148}{\code {\t {void get_palette(PALETTE p);}}}
\entry{void get_palette_range(PALETTE p, int from, int to);}{148}{\code {\t {void get_palette_range(PALETTE p, int from, int to);}}}
\entry{void fade_interpolate(const PALETTE source, const PALETTE dest, PALETTE output, int pos, int from, int to);}{149}{\code {\t {void fade_interpolate(const PALETTE source, const PALETTE dest, PALETTE output, int pos, int from, int to);}}}
\entry{void fade_from_range(const PALETTE source, const PALETTE dest, int speed, int from, int to);}{149}{\code {\t {void fade_from_range(const PALETTE source, const PALETTE dest, int speed, int from, int to);}}}
\entry{void fade_in_range(const PALETTE p, int speed, int from, int to);}{149}{\code {\t {void fade_in_range(const PALETTE p, int speed, int from, int to);}}}
\entry{void fade_out_range(int speed, int from, int to);}{150}{\code {\t {void fade_out_range(int speed, int from, int to);}}}
\entry{void fade_from(const PALETTE source, const PALETTE dest, int speed);}{150}{\code {\t {void fade_from(const PALETTE source, const PALETTE dest, int speed);}}}
\entry{void fade_in(const PALETTE p, int speed);}{150}{\code {\t {void fade_in(const PALETTE p, int speed);}}}
\entry{void fade_out(int speed);}{151}{\code {\t {void fade_out(int speed);}}}
\entry{void select_palette(const PALETTE p);}{151}{\code {\t {void select_palette(const PALETTE p);}}}
\entry{void unselect_palette();}{151}{\code {\t {void unselect_palette();}}}
\entry{void generate_332_palette(PALETTE pal);}{152}{\code {\t {void generate_332_palette(PALETTE pal);}}}
\entry{int generate_optimized_palette(BITMAP *bmp, PALETTE pal, const char rsvd[PAL_SIZE]);}{152}{\code {\t {int generate_optimized_palette(BITMAP *bmp, PALETTE pal, const char rsvd[PAL_SIZE]);}}}
\entry{extern PALETTE default_palette;}{152}{\code {\t {extern PALETTE default_palette;}}}
\entry{extern PALETTE black_palette;}{153}{\code {\t {extern PALETTE black_palette;}}}
\entry{extern PALETTE desktop_palette;}{153}{\code {\t {extern PALETTE desktop_palette;}}}
\entry{int makecol8(int r, int g, int b);}{154}{\code {\t {int makecol8(int r, int g, int b);}}}
\entry{int makecol15(int r, int g, int b);}{154}{\code {\t {int makecol15(int r, int g, int b);}}}
\entry{int makecol16(int r, int g, int b);}{154}{\code {\t {int makecol16(int r, int g, int b);}}}
\entry{int makecol24(int r, int g, int b);}{154}{\code {\t {int makecol24(int r, int g, int b);}}}
\entry{int makecol32(int r, int g, int b);}{154}{\code {\t {int makecol32(int r, int g, int b);}}}
\entry{int makeacol32(int r, int g, int b, int a);}{155}{\code {\t {int makeacol32(int r, int g, int b, int a);}}}
\entry{int makecol(int r, int g, int b);}{155}{\code {\t {int makecol(int r, int g, int b);}}}
\entry{int makecol_depth(int color_depth, int r, int g, int b);}{155}{\code {\t {int makecol_depth(int color_depth, int r, int g, int b);}}}
\entry{int makeacol(int r, int g, int b, int a);}{156}{\code {\t {int makeacol(int r, int g, int b, int a);}}}
\entry{int makeacol_depth(int color_depth, int r, int g, int b, int a);}{156}{\code {\t {int makeacol_depth(int color_depth, int r, int g, int b, int a);}}}
\entry{int makecol15_dither(int r, int g, int b, int x, int y);}{156}{\code {\t {int makecol15_dither(int r, int g, int b, int x, int y);}}}
\entry{int makecol16_dither(int r, int g, int b, int x, int y);}{156}{\code {\t {int makecol16_dither(int r, int g, int b, int x, int y);}}}
\entry{int getr8(int c);}{157}{\code {\t {int getr8(int c);}}}
\entry{int getg8(int c);}{157}{\code {\t {int getg8(int c);}}}
\entry{int getb8(int c);}{157}{\code {\t {int getb8(int c);}}}
\entry{int getr15(int c);}{157}{\code {\t {int getr15(int c);}}}
\entry{int getg15(int c);}{157}{\code {\t {int getg15(int c);}}}
\entry{int getb15(int c);}{157}{\code {\t {int getb15(int c);}}}
\entry{int getr16(int c);}{157}{\code {\t {int getr16(int c);}}}
\entry{int getg16(int c);}{157}{\code {\t {int getg16(int c);}}}
\entry{int getb16(int c);}{157}{\code {\t {int getb16(int c);}}}
\entry{int getr24(int c);}{157}{\code {\t {int getr24(int c);}}}
\entry{int getg24(int c);}{157}{\code {\t {int getg24(int c);}}}
\entry{int getb24(int c);}{157}{\code {\t {int getb24(int c);}}}
\entry{int getr32(int c);}{157}{\code {\t {int getr32(int c);}}}
\entry{int getg32(int c);}{157}{\code {\t {int getg32(int c);}}}
\entry{int getb32(int c);}{157}{\code {\t {int getb32(int c);}}}
\entry{int geta32(int c);}{158}{\code {\t {int geta32(int c);}}}
\entry{int getr(int c);}{158}{\code {\t {int getr(int c);}}}
\entry{int getg(int c);}{158}{\code {\t {int getg(int c);}}}
\entry{int getb(int c);}{158}{\code {\t {int getb(int c);}}}
\entry{int geta(int c);}{158}{\code {\t {int geta(int c);}}}
\entry{int getr_depth(int color_depth, int c);}{159}{\code {\t {int getr_depth(int color_depth, int c);}}}
\entry{int getg_depth(int color_depth, int c);}{159}{\code {\t {int getg_depth(int color_depth, int c);}}}
\entry{int getb_depth(int color_depth, int c);}{159}{\code {\t {int getb_depth(int color_depth, int c);}}}
\entry{int geta_depth(int color_depth, int c);}{159}{\code {\t {int geta_depth(int color_depth, int c);}}}
\entry{extern int palette_color[256];}{159}{\code {\t {extern int palette_color[256];}}}
\entry{#define MASK_COLOR_8 0}{160}{\code {\t {#define MASK_COLOR_8 0}}}
\entry{#define MASK_COLOR_15 (5.5.5 pink)}{160}{\code {\t {#define MASK_COLOR_15 (5.5.5 pink)}}}
\entry{#define MASK_COLOR_16 (5.6.5 pink)}{160}{\code {\t {#define MASK_COLOR_16 (5.6.5 pink)}}}
\entry{#define MASK_COLOR_24 (8.8.8 pink)}{160}{\code {\t {#define MASK_COLOR_24 (8.8.8 pink)}}}
\entry{#define MASK_COLOR_32 (8.8.8 pink)}{160}{\code {\t {#define MASK_COLOR_32 (8.8.8 pink)}}}
\entry{void clear_bitmap(BITMAP *bitmap);}{160}{\code {\t {void clear_bitmap(BITMAP *bitmap);}}}
\entry{void clear_to_color(BITMAP *bitmap, int color);}{160}{\code {\t {void clear_to_color(BITMAP *bitmap, int color);}}}
\entry{void putpixel(BITMAP *bmp, int x, int y, int color);}{161}{\code {\t {void putpixel(BITMAP *bmp, int x, int y, int color);}}}
\entry{void _putpixel(BITMAP *bmp, int x, int y, int color);}{161}{\code {\t {void _putpixel(BITMAP *bmp, int x, int y, int color);}}}
\entry{void _putpixel15(BITMAP *bmp, int x, int y, int color);}{161}{\code {\t {void _putpixel15(BITMAP *bmp, int x, int y, int color);}}}
\entry{void _putpixel16(BITMAP *bmp, int x, int y, int color);}{161}{\code {\t {void _putpixel16(BITMAP *bmp, int x, int y, int color);}}}
\entry{void _putpixel24(BITMAP *bmp, int x, int y, int color);}{161}{\code {\t {void _putpixel24(BITMAP *bmp, int x, int y, int color);}}}
\entry{void _putpixel32(BITMAP *bmp, int x, int y, int color);}{161}{\code {\t {void _putpixel32(BITMAP *bmp, int x, int y, int color);}}}
\entry{int getpixel(BITMAP *bmp, int x, int y);}{162}{\code {\t {int getpixel(BITMAP *bmp, int x, int y);}}}
\entry{int _getpixel(BITMAP *bmp, int x, int y);}{162}{\code {\t {int _getpixel(BITMAP *bmp, int x, int y);}}}
\entry{int _getpixel15(BITMAP *bmp, int x, int y);}{162}{\code {\t {int _getpixel15(BITMAP *bmp, int x, int y);}}}
\entry{int _getpixel16(BITMAP *bmp, int x, int y);}{162}{\code {\t {int _getpixel16(BITMAP *bmp, int x, int y);}}}
\entry{int _getpixel24(BITMAP *bmp, int x, int y);}{162}{\code {\t {int _getpixel24(BITMAP *bmp, int x, int y);}}}
\entry{int _getpixel32(BITMAP *bmp, int x, int y);}{162}{\code {\t {int _getpixel32(BITMAP *bmp, int x, int y);}}}
\entry{void vline(BITMAP *bmp, int x, int y1, int y2, int color);}{163}{\code {\t {void vline(BITMAP *bmp, int x, int y1, int y2, int color);}}}
\entry{void hline(BITMAP *bmp, int x1, int y, int x2, int color);}{163}{\code {\t {void hline(BITMAP *bmp, int x1, int y, int x2, int color);}}}
\entry{void do_line(BITMAP *bmp, int x1, y1, x2, y2, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));}{163}{\code {\t {void do_line(BITMAP *bmp, int x1, y1, x2, y2, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));}}}
\entry{void line(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);}{164}{\code {\t {void line(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);}}}
\entry{void fastline(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);}{164}{\code {\t {void fastline(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);}}}
\entry{void triangle(BITMAP *bmp, int x1, y1, x2, y2, x3, y3, int color);}{165}{\code {\t {void triangle(BITMAP *bmp, int x1, y1, x2, y2, x3, y3, int color);}}}
\entry{void polygon(BITMAP *bmp, int vertices, const int *points, int color);}{165}{\code {\t {void polygon(BITMAP *bmp, int vertices, const int *points, int color);}}}
\entry{void rect(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);}{165}{\code {\t {void rect(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);}}}
\entry{void rectfill(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);}{166}{\code {\t {void rectfill(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);}}}
\entry{void do_circle(BITMAP *bmp, int x, int y, int radius, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));}{166}{\code {\t {void do_circle(BITMAP *bmp, int x, int y, int radius, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));}}}
\entry{void circle(BITMAP *bmp, int x, int y, int radius, int color);}{167}{\code {\t {void circle(BITMAP *bmp, int x, int y, int radius, int color);}}}
\entry{void circlefill(BITMAP *bmp, int x, int y, int radius, int color);}{167}{\code {\t {void circlefill(BITMAP *bmp, int x, int y, int radius, int color);}}}
\entry{void do_ellipse(BITMAP *bmp, int x, int y, int rx, ry, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));}{168}{\code {\t {void do_ellipse(BITMAP *bmp, int x, int y, int rx, ry, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));}}}
\entry{void ellipse(BITMAP *bmp, int x, int y, int rx, int ry, int color);}{168}{\code {\t {void ellipse(BITMAP *bmp, int x, int y, int rx, int ry, int color);}}}
\entry{void ellipsefill(BITMAP *bmp, int x, int y, int rx, int ry, int color);}{169}{\code {\t {void ellipsefill(BITMAP *bmp, int x, int y, int rx, int ry, int color);}}}
\entry{void do_arc(BITMAP *bmp, int x, int y, fixed a1, fixed a2, int r, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));}{169}{\code {\t {void do_arc(BITMAP *bmp, int x, int y, fixed a1, fixed a2, int r, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));}}}
\entry{void arc(BITMAP *bmp, int x, y, fixed ang1, ang2, int r, int color);}{170}{\code {\t {void arc(BITMAP *bmp, int x, y, fixed ang1, ang2, int r, int color);}}}
\entry{void calc_spline(const int points[8], int npts, int *x, int *y);}{170}{\code {\t {void calc_spline(const int points[8], int npts, int *x, int *y);}}}
\entry{void spline(BITMAP *bmp, const int points[8], int color);}{171}{\code {\t {void spline(BITMAP *bmp, const int points[8], int color);}}}
\entry{void floodfill(BITMAP *bmp, int x, int y, int color);}{171}{\code {\t {void floodfill(BITMAP *bmp, int x, int y, int color);}}}
\entry{void blit(BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height);}{172}{\code {\t {void blit(BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height);}}}
\entry{void stretch_blit(BITMAP *source, BITMAP *dest, int source_x, source_y, source_width, source_height, int dest_x, dest_y, dest_width, dest_height);}{174}{\code {\t {void stretch_blit(BITMAP *source, BITMAP *dest, int source_x, source_y, source_width, source_height, int dest_x, dest_y, dest_width, dest_height);}}}
\entry{void masked_blit(BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height);}{174}{\code {\t {void masked_blit(BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height);}}}
\entry{void masked_stretch_blit(BITMAP *source, BITMAP *dest, int source_x, source_y, source_w, source_h, int dest_x, dest_y, dest_w, dest_h);}{175}{\code {\t {void masked_stretch_blit(BITMAP *source, BITMAP *dest, int source_x, source_y, source_w, source_h, int dest_x, dest_y, dest_w, dest_h);}}}
\entry{void draw_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y);}{176}{\code {\t {void draw_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y);}}}
\entry{void stretch_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int w, int h);}{177}{\code {\t {void stretch_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int w, int h);}}}
\entry{void draw_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y);}{177}{\code {\t {void draw_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y);}}}
\entry{void draw_sprite_h_flip(BITMAP *bmp, BITMAP *sprite, int x, int y);}{177}{\code {\t {void draw_sprite_h_flip(BITMAP *bmp, BITMAP *sprite, int x, int y);}}}
\entry{void draw_sprite_vh_flip(BITMAP *bmp, BITMAP *sprite, int x, int y);}{177}{\code {\t {void draw_sprite_vh_flip(BITMAP *bmp, BITMAP *sprite, int x, int y);}}}
\entry{void draw_trans_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y);}{178}{\code {\t {void draw_trans_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y);}}}
\entry{void draw_lit_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int color);}{179}{\code {\t {void draw_lit_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int color);}}}
\entry{void draw_gouraud_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4);}{180}{\code {\t {void draw_gouraud_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4);}}}
\entry{void draw_character_ex(BITMAP *bmp, BITMAP *sprite, int x, int y, color, bg);}{180}{\code {\t {void draw_character_ex(BITMAP *bmp, BITMAP *sprite, int x, int y, color, bg);}}}
\entry{void rotate_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, fixed angle);}{181}{\code {\t {void rotate_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, fixed angle);}}}
\entry{void rotate_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y, fixed angle);}{182}{\code {\t {void rotate_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y, fixed angle);}}}
\entry{void rotate_scaled_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, fixed angle, fixed scale);}{182}{\code {\t {void rotate_scaled_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, fixed angle, fixed scale);}}}
\entry{void rotate_scaled_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y, fixed angle, fixed scale);}{182}{\code {\t {void rotate_scaled_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y, fixed angle, fixed scale);}}}
\entry{void pivot_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int cx, int cy, fixed angle);}{183}{\code {\t {void pivot_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int cx, int cy, fixed angle);}}}
\entry{void pivot_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y, int cx, int cy, fixed angle);}{183}{\code {\t {void pivot_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y, int cx, int cy, fixed angle);}}}
\entry{void pivot_scaled_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int cx, int cy, fixed angle, fixed scale);}{183}{\code {\t {void pivot_scaled_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int cx, int cy, fixed angle, fixed scale);}}}
\entry{void pivot_scaled_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y, int cx, int cy, fixed angle, fixed scale);}{184}{\code {\t {void pivot_scaled_sprite_v_flip(BITMAP *bmp, BITMAP *sprite, int x, int y, int cx, int cy, fixed angle, fixed scale);}}}
\entry{RLE_SPRITE *get_rle_sprite(BITMAP *bitmap);}{184}{\code {\t {RLE_SPRITE *get_rle_sprite(BITMAP *bitmap);}}}
\entry{void destroy_rle_sprite(RLE_SPRITE *sprite);}{185}{\code {\t {void destroy_rle_sprite(RLE_SPRITE *sprite);}}}
\entry{void draw_rle_sprite(BITMAP *bmp, const RLE_SPRITE *sprite, int x, int y);}{185}{\code {\t {void draw_rle_sprite(BITMAP *bmp, const RLE_SPRITE *sprite, int x, int y);}}}
\entry{void draw_trans_rle_sprite(BITMAP *bmp, const RLE_SPRITE *sprite, int x, int y);}{186}{\code {\t {void draw_trans_rle_sprite(BITMAP *bmp, const RLE_SPRITE *sprite, int x, int y);}}}
\entry{void draw_lit_rle_sprite(BITMAP *bmp, const RLE_SPRITE *sprite, int x, y, color);}{187}{\code {\t {void draw_lit_rle_sprite(BITMAP *bmp, const RLE_SPRITE *sprite, int x, y, color);}}}
\entry{COMPILED_SPRITE *get_compiled_sprite(BITMAP *bitmap, int planar);}{188}{\code {\t {COMPILED_SPRITE *get_compiled_sprite(BITMAP *bitmap, int planar);}}}
\entry{void destroy_compiled_sprite(COMPILED_SPRITE *sprite);}{188}{\code {\t {void destroy_compiled_sprite(COMPILED_SPRITE *sprite);}}}
\entry{void draw_compiled_sprite(BITMAP *bmp, const COMPILED_SPRITE *sprite, int x, int y);}{189}{\code {\t {void draw_compiled_sprite(BITMAP *bmp, const COMPILED_SPRITE *sprite, int x, int y);}}}
\entry{void register_font_file_type(const char *ext, FONT *(*load)(const char *filename, RGB *pal, void *param));}{189}{\code {\t {void register_font_file_type(const char *ext, FONT *(*load)(const char *filename, RGB *pal, void *param));}}}
\entry{FONT *load_font(const char *filename, RGB *pal, void *param);}{190}{\code {\t {FONT *load_font(const char *filename, RGB *pal, void *param);}}}
\entry{void destroy_font(FONT *f);}{191}{\code {\t {void destroy_font(FONT *f);}}}
\entry{void make_trans_font(FONT *f);}{191}{\code {\t {void make_trans_font(FONT *f);}}}
\entry{int is_trans_font(FONT *f)}{192}{\code {\t {int is_trans_font(FONT *f)}}}
\entry{int is_color_font(FONT *f)}{192}{\code {\t {int is_color_font(FONT *f)}}}
\entry{int is_mono_font(FONT *f)}{192}{\code {\t {int is_mono_font(FONT *f)}}}
\entry{int font_has_alpha(FONT *f)}{192}{\code {\t {int font_has_alpha(FONT *f)}}}
\entry{int *is_compatible_font(FONT *f1, FONT *f2)}{193}{\code {\t {int *is_compatible_font(FONT *f1, FONT *f2)}}}
\entry{int get_font_ranges(FONT *f)}{193}{\code {\t {int get_font_ranges(FONT *f)}}}
\entry{int get_font_range_begin(FONT *f, int range)}{194}{\code {\t {int get_font_range_begin(FONT *f, int range)}}}
\entry{int get_font_range_end(FONT *f, int range)}{194}{\code {\t {int get_font_range_end(FONT *f, int range)}}}
\entry{FONT *extract_font_range(FONT *f, int begin, int end)}{195}{\code {\t {FONT *extract_font_range(FONT *f, int begin, int end)}}}
\entry{int transpose_font(FONT *f, int drange)}{195}{\code {\t {int transpose_font(FONT *f, int drange)}}}
\entry{FONT *merge_fonts(FONT *f1, FONT *f2)}{196}{\code {\t {FONT *merge_fonts(FONT *f1, FONT *f2)}}}
\entry{FONT *load_dat_font(const char *filename, RGB *pal, void *param)}{197}{\code {\t {FONT *load_dat_font(const char *filename, RGB *pal, void *param)}}}
\entry{FONT *load_bios_font(const char *filename, RGB *pal, void *param)}{198}{\code {\t {FONT *load_bios_font(const char *filename, RGB *pal, void *param)}}}
\entry{FONT *load_grx_font(const char *filename, RGB *pal, void *param)}{198}{\code {\t {FONT *load_grx_font(const char *filename, RGB *pal, void *param)}}}
\entry{FONT *load_grx_or_bios_font(const char *filename, RGB *pal, void *param)}{199}{\code {\t {FONT *load_grx_or_bios_font(const char *filename, RGB *pal, void *param)}}}
\entry{FONT *load_bitmap_font(const char *filename, RGB *pal, void *param)}{199}{\code {\t {FONT *load_bitmap_font(const char *filename, RGB *pal, void *param)}}}
\entry{FONT *grab_font_from_bitmap(BITMAP *bmp)}{200}{\code {\t {FONT *grab_font_from_bitmap(BITMAP *bmp)}}}
\entry{FONT *load_txt_font(const char *filename, RGB *pal, void *param)}{200}{\code {\t {FONT *load_txt_font(const char *filename, RGB *pal, void *param)}}}
\entry{extern FONT *font;}{201}{\code {\t {extern FONT *font;}}}
\entry{extern int allegro_404_char;}{201}{\code {\t {extern int allegro_404_char;}}}
\entry{int text_length(const FONT *f, const char *str);}{202}{\code {\t {int text_length(const FONT *f, const char *str);}}}
\entry{int text_height(const FONT *f)}{202}{\code {\t {int text_height(const FONT *f)}}}
\entry{void textout_ex(BITMAP *bmp, const FONT *f, const char *s, int x, int y, int color, int bg);}{203}{\code {\t {void textout_ex(BITMAP *bmp, const FONT *f, const char *s, int x, int y, int color, int bg);}}}
\entry{void textout_centre_ex(BITMAP *bmp, const FONT *f, const char *s, int x, y, int color, int bg);}{203}{\code {\t {void textout_centre_ex(BITMAP *bmp, const FONT *f, const char *s, int x, y, int color, int bg);}}}
\entry{void textout_right_ex(BITMAP *bmp, const FONT *f, const char *s, int x, int y, int color, int bg);}{204}{\code {\t {void textout_right_ex(BITMAP *bmp, const FONT *f, const char *s, int x, int y, int color, int bg);}}}
\entry{void textout_justify_ex(BITMAP *bmp, const FONT *f, const char *s, int x1, int x2, int y, int diff, int color, int bg);}{204}{\code {\t {void textout_justify_ex(BITMAP *bmp, const FONT *f, const char *s, int x1, int x2, int y, int diff, int color, int bg);}}}
\entry{void textprintf_ex(BITMAP *bmp, const FONT *f, int x, int y, int color, int bg, const char *fmt, ...);}{205}{\code {\t {void textprintf_ex(BITMAP *bmp, const FONT *f, int x, int y, int color, int bg, const char *fmt, ...);}}}
\entry{void textprintf_centre_ex(BITMAP *bmp, const FONT *f, int x, int y, int color, int bg, const char *fmt, ...);}{205}{\code {\t {void textprintf_centre_ex(BITMAP *bmp, const FONT *f, int x, int y, int color, int bg, const char *fmt, ...);}}}
\entry{void textprintf_right_ex(BITMAP *bmp, const FONT *f, int x, y, color, bg, const char *fmt, ...);}{206}{\code {\t {void textprintf_right_ex(BITMAP *bmp, const FONT *f, int x, y, color, bg, const char *fmt, ...);}}}
\entry{void textprintf_justify_ex(BITMAP *bmp, const FONT *f, int x1, x2, y, diff, color, bg, const char *fmt, ...);}{206}{\code {\t {void textprintf_justify_ex(BITMAP *bmp, const FONT *f, int x1, x2, y, diff, color, bg, const char *fmt, ...);}}}
\entry{#define POLYTYPE_FLAT}{207}{\code {\t {#define POLYTYPE_FLAT}}}
\entry{#define POLYTYPE_GCOL}{207}{\code {\t {#define POLYTYPE_GCOL}}}
\entry{#define POLYTYPE_GRGB}{208}{\code {\t {#define POLYTYPE_GRGB}}}
\entry{#define POLYTYPE_ATEX}{208}{\code {\t {#define POLYTYPE_ATEX}}}
\entry{#define POLYTYPE_PTEX}{208}{\code {\t {#define POLYTYPE_PTEX}}}
\entry{#define POLYTYPE_ATEX_MASK}{209}{\code {\t {#define POLYTYPE_ATEX_MASK}}}
\entry{#define POLYTYPE_PTEX_MASK}{209}{\code {\t {#define POLYTYPE_PTEX_MASK}}}
\entry{#define POLYTYPE_ATEX_LIT}{209}{\code {\t {#define POLYTYPE_ATEX_LIT}}}
\entry{#define POLYTYPE_PTEX_LIT}{209}{\code {\t {#define POLYTYPE_PTEX_LIT}}}
\entry{#define POLYTYPE_ATEX_MASK_LIT}{209}{\code {\t {#define POLYTYPE_ATEX_MASK_LIT}}}
\entry{#define POLYTYPE_PTEX_MASK_LIT}{209}{\code {\t {#define POLYTYPE_PTEX_MASK_LIT}}}
\entry{#define POLYTYPE_ATEX_TRANS}{210}{\code {\t {#define POLYTYPE_ATEX_TRANS}}}
\entry{#define POLYTYPE_PTEX_TRANS}{210}{\code {\t {#define POLYTYPE_PTEX_TRANS}}}
\entry{#define POLYTYPE_ATEX_MASK_TRANS}{210}{\code {\t {#define POLYTYPE_ATEX_MASK_TRANS}}}
\entry{#define POLYTYPE_PTEX_MASK_TRANS}{210}{\code {\t {#define POLYTYPE_PTEX_MASK_TRANS}}}
\entry{void polygon3d(BITMAP *bmp, int type, BITMAP *texture, int vc, V3D *vtx[]);}{210}{\code {\t {void polygon3d(BITMAP *bmp, int type, BITMAP *texture, int vc, V3D *vtx[]);}}}
\entry{void polygon3d_f(BITMAP *bmp, int type, BITMAP *texture, int vc, V3D_f *vtx[]);}{210}{\code {\t {void polygon3d_f(BITMAP *bmp, int type, BITMAP *texture, int vc, V3D_f *vtx[]);}}}
\entry{void triangle3d(BITMAP *bmp, int type, BITMAP *tex, V3D *v1, *v2, *v3);}{212}{\code {\t {void triangle3d(BITMAP *bmp, int type, BITMAP *tex, V3D *v1, *v2, *v3);}}}
\entry{void triangle3d_f(BITMAP *bmp, int type, BITMAP *tex, V3D_f *v1, *v2, *v3);}{212}{\code {\t {void triangle3d_f(BITMAP *bmp, int type, BITMAP *tex, V3D_f *v1, *v2, *v3);}}}
\entry{void quad3d(BITMAP *bmp, int type, BITMAP *tex, V3D *v1, *v2, *v3, *v4);}{213}{\code {\t {void quad3d(BITMAP *bmp, int type, BITMAP *tex, V3D *v1, *v2, *v3, *v4);}}}
\entry{void quad3d_f(BITMAP *bmp, int type, BITMAP *tex, V3D_f *v1, *v2, *v3, *v4);}{213}{\code {\t {void quad3d_f(BITMAP *bmp, int type, BITMAP *tex, V3D_f *v1, *v2, *v3, *v4);}}}
\entry{int clip3d_f(int type, float min_z, float max_z, int vc, const V3D_f *vtx[], V3D_f *vout[], V3D_f *vtmp[], int out[]);}{213}{\code {\t {int clip3d_f(int type, float min_z, float max_z, int vc, const V3D_f *vtx[], V3D_f *vout[], V3D_f *vtmp[], int out[]);}}}
\entry{int clip3d(int type, fixed min_z, fixed max_z, int vc, const V3D *vtx[], V3D *vout[], V3D *vtmp[], int out[]);}{214}{\code {\t {int clip3d(int type, fixed min_z, fixed max_z, int vc, const V3D *vtx[], V3D *vout[], V3D *vtmp[], int out[]);}}}
\entry{ZBUFFER *create_zbuffer(BITMAP *bmp);}{215}{\code {\t {ZBUFFER *create_zbuffer(BITMAP *bmp);}}}
\entry{ZBUFFER *create_sub_zbuffer(ZBUFFER *parent, int x, int y, int width, int height);}{215}{\code {\t {ZBUFFER *create_sub_zbuffer(ZBUFFER *parent, int x, int y, int width, int height);}}}
\entry{void set_zbuffer(ZBUFFER *zbuf);}{216}{\code {\t {void set_zbuffer(ZBUFFER *zbuf);}}}
\entry{void clear_zbuffer(ZBUFFER *zbuf, float z);}{216}{\code {\t {void clear_zbuffer(ZBUFFER *zbuf, float z);}}}
\entry{void destroy_zbuffer(ZBUFFER *zbuf);}{216}{\code {\t {void destroy_zbuffer(ZBUFFER *zbuf);}}}
\entry{int create_scene(int nedge, int npoly);}{218}{\code {\t {int create_scene(int nedge, int npoly);}}}
\entry{void clear_scene(BITMAP *bmp);}{218}{\code {\t {void clear_scene(BITMAP *bmp);}}}
\entry{void destroy_scene();}{218}{\code {\t {void destroy_scene();}}}
\entry{int scene_polygon3d(int type, BITMAP *texture, int vc, V3D *vtx[]);}{219}{\code {\t {int scene_polygon3d(int type, BITMAP *texture, int vc, V3D *vtx[]);}}}
\entry{int scene_polygon3d_f(int type, BITMAP *texture, int vc, V3D_f *vtx[]);}{219}{\code {\t {int scene_polygon3d_f(int type, BITMAP *texture, int vc, V3D_f *vtx[]);}}}
\entry{void render_scene();}{220}{\code {\t {void render_scene();}}}
\entry{extern float scene_gap;}{220}{\code {\t {extern float scene_gap;}}}
\entry{void drawing_mode(int mode, BITMAP *pattern, int x_anchor, int y_anchor);}{221}{\code {\t {void drawing_mode(int mode, BITMAP *pattern, int x_anchor, int y_anchor);}}}
\entry{void xor_mode(int on);}{222}{\code {\t {void xor_mode(int on);}}}
\entry{void solid_mode();}{222}{\code {\t {void solid_mode();}}}
\entry{extern COLOR_MAP *color_map;}{223}{\code {\t {extern COLOR_MAP *color_map;}}}
\entry{void create_trans_table(COLOR_MAP *table, const PALETTE pal, int r, g, b, void (*callback)(int pos));}{224}{\code {\t {void create_trans_table(COLOR_MAP *table, const PALETTE pal, int r, g, b, void (*callback)(int pos));}}}
\entry{void create_light_table(COLOR_MAP *table, const PALETTE pal, int r, g, b, void (*callback)(int pos));}{224}{\code {\t {void create_light_table(COLOR_MAP *table, const PALETTE pal, int r, g, b, void (*callback)(int pos));}}}
\entry{void create_color_table(COLOR_MAP *table, const PALETTE pal, void (*blend)(PALETTE pal, int x, int y, RGB *rgb), void (*callback)(int pos));}{225}{\code {\t {void create_color_table(COLOR_MAP *table, const PALETTE pal, void (*blend)(PALETTE pal, int x, int y, RGB *rgb), void (*callback)(int pos));}}}
\entry{void create_blender_table(COLOR_MAP *table, const PALETTE pal, void (*callback)(int pos));}{226}{\code {\t {void create_blender_table(COLOR_MAP *table, const PALETTE pal, void (*callback)(int pos));}}}
\entry{void set_trans_blender(int r, int g, int b, int a);}{227}{\code {\t {void set_trans_blender(int r, int g, int b, int a);}}}
\entry{void set_alpha_blender();}{228}{\code {\t {void set_alpha_blender();}}}
\entry{void set_write_alpha_blender();}{228}{\code {\t {void set_write_alpha_blender();}}}
\entry{void set_add_blender(int r, int g, int b, int a);}{229}{\code {\t {void set_add_blender(int r, int g, int b, int a);}}}
\entry{void set_burn_blender(int r, int g, int b, int a);}{229}{\code {\t {void set_burn_blender(int r, int g, int b, int a);}}}
\entry{void set_color_blender(int r, int g, int b, int a);}{229}{\code {\t {void set_color_blender(int r, int g, int b, int a);}}}
\entry{void set_difference_blender(int r, int g, int b, int a);}{230}{\code {\t {void set_difference_blender(int r, int g, int b, int a);}}}
\entry{void set_dissolve_blender(int r, int g, int b, int a);}{230}{\code {\t {void set_dissolve_blender(int r, int g, int b, int a);}}}
\entry{void set_dodge_blender(int r, int g, int b, int a);}{230}{\code {\t {void set_dodge_blender(int r, int g, int b, int a);}}}
\entry{void set_hue_blender(int r, int g, int b, int a);}{230}{\code {\t {void set_hue_blender(int r, int g, int b, int a);}}}
\entry{void set_invert_blender(int r, int g, int b, int a);}{231}{\code {\t {void set_invert_blender(int r, int g, int b, int a);}}}
\entry{void set_luminance_blender(int r, int g, int b, int a);}{231}{\code {\t {void set_luminance_blender(int r, int g, int b, int a);}}}
\entry{void set_multiply_blender(int r, int g, int b, int a);}{231}{\code {\t {void set_multiply_blender(int r, int g, int b, int a);}}}
\entry{void set_saturation_blender(int r, int g, int b, int a);}{231}{\code {\t {void set_saturation_blender(int r, int g, int b, int a);}}}
\entry{void set_screen_blender(int r, int g, int b, int a);}{232}{\code {\t {void set_screen_blender(int r, int g, int b, int a);}}}
\entry{void set_blender_mode(BLENDER_FUNC b15, b16, b24, int r, g, b, a);}{232}{\code {\t {void set_blender_mode(BLENDER_FUNC b15, b16, b24, int r, g, b, a);}}}
\entry{void set_blender_mode_ex(BLENDER_FUNC b15, b16, b24, b32, b15x, b16x, b24x, int r, g, b, a);}{232}{\code {\t {void set_blender_mode_ex(BLENDER_FUNC b15, b16, b24, b32, b15x, b16x, b24x, int r, g, b, a);}}}
\entry{int bestfit_color(const PALETTE pal, int r, int g, int b);}{233}{\code {\t {int bestfit_color(const PALETTE pal, int r, int g, int b);}}}
\entry{extern RGB_MAP *rgb_map;}{233}{\code {\t {extern RGB_MAP *rgb_map;}}}
\entry{void create_rgb_table(RGB_MAP *table, const PALETTE pal, void (*callback)(int pos));}{234}{\code {\t {void create_rgb_table(RGB_MAP *table, const PALETTE pal, void (*callback)(int pos));}}}
\entry{void hsv_to_rgb(float h, float s, float v, int *r, int *g, int *b);}{235}{\code {\t {void hsv_to_rgb(float h, float s, float v, int *r, int *g, int *b);}}}
\entry{void rgb_to_hsv(int r, int g, int b, float *h, float *s, float *v);}{235}{\code {\t {void rgb_to_hsv(int r, int g, int b, float *h, float *s, float *v);}}}
\entry{unsigned long bmp_write_line(BITMAP *bmp, int line);}{236}{\code {\t {unsigned long bmp_write_line(BITMAP *bmp, int line);}}}
\entry{unsigned long bmp_read_line(BITMAP *bmp, int line);}{236}{\code {\t {unsigned long bmp_read_line(BITMAP *bmp, int line);}}}
\entry{void bmp_unwrite_line(BITMAP *bmp);}{237}{\code {\t {void bmp_unwrite_line(BITMAP *bmp);}}}
\entry{int play_fli(const char *filename, BITMAP *bmp, int loop, int (*callback)());}{239}{\code {\t {int play_fli(const char *filename, BITMAP *bmp, int loop, int (*callback)());}}}
\entry{int play_memory_fli(const void *fli_data, BITMAP *bmp, int loop, int (*callback)());}{240}{\code {\t {int play_memory_fli(const void *fli_data, BITMAP *bmp, int loop, int (*callback)());}}}
\entry{int open_fli(const char *filename);}{240}{\code {\t {int open_fli(const char *filename);}}}
\entry{int open_memory_fli(const void *fli_data);}{240}{\code {\t {int open_memory_fli(const void *fli_data);}}}
\entry{void close_fli();}{241}{\code {\t {void close_fli();}}}
\entry{int next_fli_frame(int loop);}{241}{\code {\t {int next_fli_frame(int loop);}}}
\entry{extern BITMAP *fli_bitmap;}{241}{\code {\t {extern BITMAP *fli_bitmap;}}}
\entry{extern PALETTE fli_palette;}{242}{\code {\t {extern PALETTE fli_palette;}}}
\entry{extern int fli_bmp_dirty_from;}{242}{\code {\t {extern int fli_bmp_dirty_from;}}}
\entry{extern int fli_bmp_dirty_to;}{242}{\code {\t {extern int fli_bmp_dirty_to;}}}
\entry{extern int fli_pal_dirty_from;}{242}{\code {\t {extern int fli_pal_dirty_from;}}}
\entry{extern int fli_pal_dirty_to;}{242}{\code {\t {extern int fli_pal_dirty_to;}}}
\entry{void reset_fli_variables();}{243}{\code {\t {void reset_fli_variables();}}}
\entry{extern int fli_frame;}{243}{\code {\t {extern int fli_frame;}}}
\entry{extern volatile int fli_timer;}{243}{\code {\t {extern volatile int fli_timer;}}}
\entry{int detect_digi_driver(int driver_id);}{244}{\code {\t {int detect_digi_driver(int driver_id);}}}
\entry{int detect_midi_driver(int driver_id);}{245}{\code {\t {int detect_midi_driver(int driver_id);}}}
\entry{void reserve_voices(int digi_voices, int midi_voices);}{245}{\code {\t {void reserve_voices(int digi_voices, int midi_voices);}}}
\entry{void set_volume_per_voice(int scale);}{246}{\code {\t {void set_volume_per_voice(int scale);}}}
\entry{int install_sound(int digi, int midi, const char *cfg_path);}{247}{\code {\t {int install_sound(int digi, int midi, const char *cfg_path);}}}
\entry{void remove_sound();}{248}{\code {\t {void remove_sound();}}}
\entry{void set_volume(int digi_volume, int midi_volume);}{248}{\code {\t {void set_volume(int digi_volume, int midi_volume);}}}
\entry{void set_hardware_volume(int digi_volume, int midi_volume);}{248}{\code {\t {void set_hardware_volume(int digi_volume, int midi_volume);}}}
\entry{void get_volume(int *digi_volume, int *midi_volume);}{249}{\code {\t {void get_volume(int *digi_volume, int *midi_volume);}}}
\entry{void get_hardware_volume(int *digi_volume, int *midi_volume);}{249}{\code {\t {void get_hardware_volume(int *digi_volume, int *midi_volume);}}}
\entry{void set_mixer_quality(int quality);}{249}{\code {\t {void set_mixer_quality(int quality);}}}
\entry{int get_mixer_quality(void);}{250}{\code {\t {int get_mixer_quality(void);}}}
\entry{int get_mixer_frequency(void);}{250}{\code {\t {int get_mixer_frequency(void);}}}
\entry{int get_mixer_bits(void);}{250}{\code {\t {int get_mixer_bits(void);}}}
\entry{int get_mixer_channels(void);}{250}{\code {\t {int get_mixer_channels(void);}}}
\entry{int get_mixer_voices(void);}{250}{\code {\t {int get_mixer_voices(void);}}}
\entry{int get_mixer_buffer_length(void);}{251}{\code {\t {int get_mixer_buffer_length(void);}}}
\entry{SAMPLE *load_sample(const char *filename);}{251}{\code {\t {SAMPLE *load_sample(const char *filename);}}}
\entry{SAMPLE *load_wav(const char *filename);}{251}{\code {\t {SAMPLE *load_wav(const char *filename);}}}
\entry{SAMPLE *load_wav_pf(PACKFILE *f);}{252}{\code {\t {SAMPLE *load_wav_pf(PACKFILE *f);}}}
\entry{SAMPLE *load_voc(const char *filename);}{252}{\code {\t {SAMPLE *load_voc(const char *filename);}}}
\entry{SAMPLE *load_voc_pf(PACKFILE *f);}{253}{\code {\t {SAMPLE *load_voc_pf(PACKFILE *f);}}}
\entry{int save_sample(const char *filename, SAMPLE *spl);}{253}{\code {\t {int save_sample(const char *filename, SAMPLE *spl);}}}
\entry{SAMPLE *create_sample(int bits, int stereo, int freq, int len);}{253}{\code {\t {SAMPLE *create_sample(int bits, int stereo, int freq, int len);}}}
\entry{void destroy_sample(SAMPLE *spl);}{254}{\code {\t {void destroy_sample(SAMPLE *spl);}}}
\entry{void lock_sample(SAMPLE *spl);}{254}{\code {\t {void lock_sample(SAMPLE *spl);}}}
\entry{void register_sample_file_type(const char *ext, SAMPLE *(*load)(const char *filename), int (*save)(const char *filename, SAMPLE *spl));}{254}{\code {\t {void register_sample_file_type(const char *ext, SAMPLE *(*load)(const char *filename), int (*save)(const char *filename, SAMPLE *spl));}}}
\entry{int play_sample(const SAMPLE *spl, int vol, int pan, int freq, int loop);}{255}{\code {\t {int play_sample(const SAMPLE *spl, int vol, int pan, int freq, int loop);}}}
\entry{void adjust_sample(const SAMPLE *spl, int vol, int pan, int freq, int loop);}{255}{\code {\t {void adjust_sample(const SAMPLE *spl, int vol, int pan, int freq, int loop);}}}
\entry{void stop_sample(const SAMPLE *spl);}{256}{\code {\t {void stop_sample(const SAMPLE *spl);}}}
\entry{int allocate_voice(const SAMPLE *spl);}{257}{\code {\t {int allocate_voice(const SAMPLE *spl);}}}
\entry{void deallocate_voice(int voice);}{257}{\code {\t {void deallocate_voice(int voice);}}}
\entry{void reallocate_voice(int voice, const SAMPLE *spl);}{257}{\code {\t {void reallocate_voice(int voice, const SAMPLE *spl);}}}
\entry{void release_voice(int voice);}{258}{\code {\t {void release_voice(int voice);}}}
\entry{void voice_start(int voice);}{258}{\code {\t {void voice_start(int voice);}}}
\entry{void voice_stop(int voice);}{258}{\code {\t {void voice_stop(int voice);}}}
\entry{void voice_set_priority(int voice, int priority);}{258}{\code {\t {void voice_set_priority(int voice, int priority);}}}
\entry{SAMPLE *voice_check(int voice);}{259}{\code {\t {SAMPLE *voice_check(int voice);}}}
\entry{int voice_get_position(int voice);}{259}{\code {\t {int voice_get_position(int voice);}}}
\entry{void voice_set_position(int voice, int position);}{259}{\code {\t {void voice_set_position(int voice, int position);}}}
\entry{void voice_set_playmode(int voice, int playmode);}{259}{\code {\t {void voice_set_playmode(int voice, int playmode);}}}
\entry{int voice_get_volume(int voice);}{260}{\code {\t {int voice_get_volume(int voice);}}}
\entry{void voice_set_volume(int voice, int volume);}{260}{\code {\t {void voice_set_volume(int voice, int volume);}}}
\entry{void voice_ramp_volume(int voice, int time, int endvol);}{260}{\code {\t {void voice_ramp_volume(int voice, int time, int endvol);}}}
\entry{void voice_stop_volumeramp(int voice);}{261}{\code {\t {void voice_stop_volumeramp(int voice);}}}
\entry{int voice_get_frequency(int voice);}{261}{\code {\t {int voice_get_frequency(int voice);}}}
\entry{void voice_set_frequency(int voice, int frequency);}{261}{\code {\t {void voice_set_frequency(int voice, int frequency);}}}
\entry{void voice_sweep_frequency(int voice, int time, int endfreq);}{261}{\code {\t {void voice_sweep_frequency(int voice, int time, int endfreq);}}}
\entry{void voice_stop_frequency_sweep(int voice);}{261}{\code {\t {void voice_stop_frequency_sweep(int voice);}}}
\entry{int voice_get_pan(int voice);}{262}{\code {\t {int voice_get_pan(int voice);}}}
\entry{void voice_set_pan(int voice, int pan);}{262}{\code {\t {void voice_set_pan(int voice, int pan);}}}
\entry{void voice_sweep_pan(int voice, int time, int endpan);}{262}{\code {\t {void voice_sweep_pan(int voice, int time, int endpan);}}}
\entry{void voice_stop_pan_sweep(int voice);}{262}{\code {\t {void voice_stop_pan_sweep(int voice);}}}
\entry{void voice_set_echo(int voice, int strength, int delay);}{262}{\code {\t {void voice_set_echo(int voice, int strength, int delay);}}}
\entry{void voice_set_tremolo(int voice, int rate, int depth);}{263}{\code {\t {void voice_set_tremolo(int voice, int rate, int depth);}}}
\entry{void voice_set_vibrato(int voice, int rate, int depth);}{263}{\code {\t {void voice_set_vibrato(int voice, int rate, int depth);}}}
\entry{MIDI *load_midi(const char *filename);}{263}{\code {\t {MIDI *load_midi(const char *filename);}}}
\entry{void destroy_midi(MIDI *midi);}{264}{\code {\t {void destroy_midi(MIDI *midi);}}}
\entry{void lock_midi(MIDI *midi);}{264}{\code {\t {void lock_midi(MIDI *midi);}}}
\entry{int play_midi(MIDI *midi, int loop);}{264}{\code {\t {int play_midi(MIDI *midi, int loop);}}}
\entry{int play_looped_midi(MIDI *midi, int loop_start, int loop_end);}{265}{\code {\t {int play_looped_midi(MIDI *midi, int loop_start, int loop_end);}}}
\entry{void stop_midi();}{265}{\code {\t {void stop_midi();}}}
\entry{void midi_pause();}{265}{\code {\t {void midi_pause();}}}
\entry{void midi_resume();}{266}{\code {\t {void midi_resume();}}}
\entry{int midi_seek(int target);}{266}{\code {\t {int midi_seek(int target);}}}
\entry{int get_midi_length(MIDI *midi);}{266}{\code {\t {int get_midi_length(MIDI *midi);}}}
\entry{void midi_out(unsigned char *data, int length);}{267}{\code {\t {void midi_out(unsigned char *data, int length);}}}
\entry{int load_midi_patches();}{267}{\code {\t {int load_midi_patches();}}}
\entry{extern volatile long midi_pos;}{267}{\code {\t {extern volatile long midi_pos;}}}
\entry{extern volatile long midi_time;}{268}{\code {\t {extern volatile long midi_time;}}}
\entry{extern long midi_loop_start;}{268}{\code {\t {extern long midi_loop_start;}}}
\entry{extern long midi_loop_end;}{268}{\code {\t {extern long midi_loop_end;}}}
\entry{extern void (*midi_msg_callback)(int msg, int byte1, int byte2);}{268}{\code {\t {extern void (*midi_msg_callback)(int msg, int byte1, int byte2);}}}
\entry{extern void (*midi_meta_callback)(int type, const unsigned char *data, int length);}{268}{\code {\t {extern void (*midi_meta_callback)(int type, const unsigned char *data, int length);}}}
\entry{extern void (*midi_sysex_callback)(const unsigned char *data, int length);}{268}{\code {\t {extern void (*midi_sysex_callback)(const unsigned char *data, int length);}}}
\entry{int load_ibk(char *filename, int drums);}{269}{\code {\t {int load_ibk(char *filename, int drums);}}}
\entry{AUDIOSTREAM *play_audio_stream(int len, int bits, int stereo, int freq, int vol, int pan);}{269}{\code {\t {AUDIOSTREAM *play_audio_stream(int len, int bits, int stereo, int freq, int vol, int pan);}}}
\entry{void stop_audio_stream(AUDIOSTREAM *stream);}{270}{\code {\t {void stop_audio_stream(AUDIOSTREAM *stream);}}}
\entry{void *get_audio_stream_buffer(AUDIOSTREAM *stream);}{270}{\code {\t {void *get_audio_stream_buffer(AUDIOSTREAM *stream);}}}
\entry{void free_audio_stream_buffer(AUDIOSTREAM *stream);}{271}{\code {\t {void free_audio_stream_buffer(AUDIOSTREAM *stream);}}}
\entry{int install_sound_input(int digi, int midi);}{272}{\code {\t {int install_sound_input(int digi, int midi);}}}
\entry{void remove_sound_input();}{273}{\code {\t {void remove_sound_input();}}}
\entry{int get_sound_input_cap_bits();}{273}{\code {\t {int get_sound_input_cap_bits();}}}
\entry{int get_sound_input_cap_stereo();}{273}{\code {\t {int get_sound_input_cap_stereo();}}}
\entry{int get_sound_input_cap_rate(int bits, int stereo);}{274}{\code {\t {int get_sound_input_cap_rate(int bits, int stereo);}}}
\entry{int get_sound_input_cap_parm(int rate, int bits, int stereo);}{274}{\code {\t {int get_sound_input_cap_parm(int rate, int bits, int stereo);}}}
\entry{int set_sound_input_source(int source);}{275}{\code {\t {int set_sound_input_source(int source);}}}
\entry{int start_sound_input(int rate, int bits, int stereo);}{275}{\code {\t {int start_sound_input(int rate, int bits, int stereo);}}}
\entry{void stop_sound_input();}{275}{\code {\t {void stop_sound_input();}}}
\entry{int read_sound_input(void *buffer);}{276}{\code {\t {int read_sound_input(void *buffer);}}}
\entry{extern void (*digi_recorder)();}{276}{\code {\t {extern void (*digi_recorder)();}}}
\entry{extern void (*midi_recorder)(unsigned char data);}{276}{\code {\t {extern void (*midi_recorder)(unsigned char data);}}}
\entry{void get_executable_name(char *buf, int size);}{277}{\code {\t {void get_executable_name(char *buf, int size);}}}
\entry{char *fix_filename_case(char *path);}{278}{\code {\t {char *fix_filename_case(char *path);}}}
\entry{char *fix_filename_slashes(char *path);}{278}{\code {\t {char *fix_filename_slashes(char *path);}}}
\entry{char *canonicalize_filename(char *dest, const char *filename, int size);}{279}{\code {\t {char *canonicalize_filename(char *dest, const char *filename, int size);}}}
\entry{char *make_absolute_filename(char *dest, const char *path, const char *filename, int size);}{279}{\code {\t {char *make_absolute_filename(char *dest, const char *path, const char *filename, int size);}}}
\entry{char *make_relative_filename(char *dest, const char *path, const char *filename, int size);}{280}{\code {\t {char *make_relative_filename(char *dest, const char *path, const char *filename, int size);}}}
\entry{int is_relative_filename(const char *filename);}{280}{\code {\t {int is_relative_filename(const char *filename);}}}
\entry{char *replace_filename(char *dest, const char *path, const char *filename, int size);}{280}{\code {\t {char *replace_filename(char *dest, const char *path, const char *filename, int size);}}}
\entry{char *replace_extension(char *dest, const char *filename, const char *ext, int size);}{281}{\code {\t {char *replace_extension(char *dest, const char *filename, const char *ext, int size);}}}
\entry{char *append_filename(char *dest, const char *path, const char *filename, int size);}{281}{\code {\t {char *append_filename(char *dest, const char *path, const char *filename, int size);}}}
\entry{char *get_filename(const char *path);}{282}{\code {\t {char *get_filename(const char *path);}}}
\entry{char *get_extension(const char *filename);}{282}{\code {\t {char *get_extension(const char *filename);}}}
\entry{void put_backslash(char *filename);}{283}{\code {\t {void put_backslash(char *filename);}}}
\entry{int file_exists(const char *filename, int attrib, int *aret);}{283}{\code {\t {int file_exists(const char *filename, int attrib, int *aret);}}}
\entry{int exists(const char *filename);}{283}{\code {\t {int exists(const char *filename);}}}
\entry{uint64_t file_size_ex(const char *filename);}{284}{\code {\t {uint64_t file_size_ex(const char *filename);}}}
\entry{time_t file_time(const char *filename);}{284}{\code {\t {time_t file_time(const char *filename);}}}
\entry{int delete_file(const char *filename);}{284}{\code {\t {int delete_file(const char *filename);}}}
\entry{int for_each_file_ex(const char *name, int in_attrib, int out_attrib, int (*callback)(const char *filename, int attrib, void *param), void *param);}{284}{\code {\t {int for_each_file_ex(const char *name, int in_attrib, int out_attrib, int (*callback)(const char *filename, int attrib, void *param), void *param);}}}
\entry{int al_findfirst(const char *pattern, struct al_ffblk *info, int attrib);}{285}{\code {\t {int al_findfirst(const char *pattern, struct al_ffblk *info, int attrib);}}}
\entry{int al_findnext(struct al_ffblk *info);}{286}{\code {\t {int al_findnext(struct al_ffblk *info);}}}
\entry{void al_findclose(struct al_ffblk *info);}{286}{\code {\t {void al_findclose(struct al_ffblk *info);}}}
\entry{uint64_t al_ffblk_get_size(struct al_ffblk *info);}{286}{\code {\t {uint64_t al_ffblk_get_size(struct al_ffblk *info);}}}
\entry{int find_allegro_resource(char *dest, const char *resource, const char *ext, const char *datafile, const char *objectname, const char *envvar, const char *subdir, int size);}{287}{\code {\t {int find_allegro_resource(char *dest, const char *resource, const char *ext, const char *datafile, const char *objectname, const char *envvar, const char *subdir, int size);}}}
\entry{int set_allegro_resource_path(int priority, const char *path);}{287}{\code {\t {int set_allegro_resource_path(int priority, const char *path);}}}
\entry{void packfile_password(const char *password);}{288}{\code {\t {void packfile_password(const char *password);}}}
\entry{PACKFILE *pack_fopen(const char *filename, const char *mode);}{289}{\code {\t {PACKFILE *pack_fopen(const char *filename, const char *mode);}}}
\entry{PACKFILE *pack_fopen_vtable(const PACKFILE_VTABLE *vtable, void *userdata);}{290}{\code {\t {PACKFILE *pack_fopen_vtable(const PACKFILE_VTABLE *vtable, void *userdata);}}}
\entry{int pack_fclose(PACKFILE *f);}{291}{\code {\t {int pack_fclose(PACKFILE *f);}}}
\entry{int pack_fseek(PACKFILE *f, int offset);}{291}{\code {\t {int pack_fseek(PACKFILE *f, int offset);}}}
\entry{int pack_feof(PACKFILE *f);}{291}{\code {\t {int pack_feof(PACKFILE *f);}}}
\entry{int pack_ferror(PACKFILE *f);}{292}{\code {\t {int pack_ferror(PACKFILE *f);}}}
\entry{int pack_getc(PACKFILE *f);}{292}{\code {\t {int pack_getc(PACKFILE *f);}}}
\entry{int pack_ungetc(int c, PACKFILE *f);}{292}{\code {\t {int pack_ungetc(int c, PACKFILE *f);}}}
\entry{int pack_putc(int c, PACKFILE *f);}{293}{\code {\t {int pack_putc(int c, PACKFILE *f);}}}
\entry{int pack_igetw(PACKFILE *f);}{293}{\code {\t {int pack_igetw(PACKFILE *f);}}}
\entry{int pack_iputw(int c, PACKFILE *f);}{293}{\code {\t {int pack_iputw(int c, PACKFILE *f);}}}
\entry{long pack_igetl(PACKFILE *f);}{293}{\code {\t {long pack_igetl(PACKFILE *f);}}}
\entry{long pack_iputl(long c, PACKFILE *f);}{294}{\code {\t {long pack_iputl(long c, PACKFILE *f);}}}
\entry{int pack_mgetw(PACKFILE *f);}{294}{\code {\t {int pack_mgetw(PACKFILE *f);}}}
\entry{int pack_mputw(int c, PACKFILE *f);}{294}{\code {\t {int pack_mputw(int c, PACKFILE *f);}}}
\entry{long pack_mgetl(PACKFILE *f);}{294}{\code {\t {long pack_mgetl(PACKFILE *f);}}}
\entry{long pack_mputl(long c, PACKFILE *f);}{294}{\code {\t {long pack_mputl(long c, PACKFILE *f);}}}
\entry{long pack_fread(void *p, long n, PACKFILE *f);}{295}{\code {\t {long pack_fread(void *p, long n, PACKFILE *f);}}}
\entry{long pack_fwrite(const void *p, long n, PACKFILE *f);}{295}{\code {\t {long pack_fwrite(const void *p, long n, PACKFILE *f);}}}
\entry{char *pack_fgets(char *p, int max, PACKFILE *f);}{295}{\code {\t {char *pack_fgets(char *p, int max, PACKFILE *f);}}}
\entry{int pack_fputs(const char *p, PACKFILE *f);}{296}{\code {\t {int pack_fputs(const char *p, PACKFILE *f);}}}
\entry{PACKFILE *pack_fopen_chunk(PACKFILE *f, int pack);}{296}{\code {\t {PACKFILE *pack_fopen_chunk(PACKFILE *f, int pack);}}}
\entry{PACKFILE *pack_fclose_chunk(PACKFILE *f);}{298}{\code {\t {PACKFILE *pack_fclose_chunk(PACKFILE *f);}}}
\entry{LZSS_PACK_DATA *create_lzss_pack_data(void);}{298}{\code {\t {LZSS_PACK_DATA *create_lzss_pack_data(void);}}}
\entry{void free_lzss_pack_data(LZSS_PACK_DATA *dat);}{298}{\code {\t {void free_lzss_pack_data(LZSS_PACK_DATA *dat);}}}
\entry{int lzss_write(PACKFILE *file, LZSS_PACK_DATA *dat, int size, unsigned char *buf, int last);}{298}{\code {\t {int lzss_write(PACKFILE *file, LZSS_PACK_DATA *dat, int size, unsigned char *buf, int last);}}}
\entry{LZSS_UNPACK_DATA *create_lzss_unpack_data(void);}{299}{\code {\t {LZSS_UNPACK_DATA *create_lzss_unpack_data(void);}}}
\entry{void free_lzss_unpack_data(LZSS_UNPACK_DATA *dat);}{299}{\code {\t {void free_lzss_unpack_data(LZSS_UNPACK_DATA *dat);}}}
\entry{int lzss_read(PACKFILE *file, LZSS_UNPACK_DATA *dat, int s, unsigned char *buf);}{299}{\code {\t {int lzss_read(PACKFILE *file, LZSS_UNPACK_DATA *dat, int s, unsigned char *buf);}}}
\entry{DATAFILE *load_datafile(const char *filename);}{300}{\code {\t {DATAFILE *load_datafile(const char *filename);}}}
\entry{DATAFILE *load_datafile_callback(const char *filename, void (*callback)(DATAFILE *d));}{301}{\code {\t {DATAFILE *load_datafile_callback(const char *filename, void (*callback)(DATAFILE *d));}}}
\entry{void unload_datafile(DATAFILE *dat);}{302}{\code {\t {void unload_datafile(DATAFILE *dat);}}}
\entry{DATAFILE *load_datafile_object(const char *filename, const char *objectname);}{303}{\code {\t {DATAFILE *load_datafile_object(const char *filename, const char *objectname);}}}
\entry{void unload_datafile_object(DATAFILE *dat);}{303}{\code {\t {void unload_datafile_object(DATAFILE *dat);}}}
\entry{DATAFILE *find_datafile_object(const DATAFILE *dat, const char *objectname);}{303}{\code {\t {DATAFILE *find_datafile_object(const DATAFILE *dat, const char *objectname);}}}
\entry{DATAFILE_INDEX *create_datafile_index(const char *filename);}{304}{\code {\t {DATAFILE_INDEX *create_datafile_index(const char *filename);}}}
\entry{DATAFILE *load_datafile_object_indexed(const DATAFILE_INDEX *index, int item)}{305}{\code {\t {DATAFILE *load_datafile_object_indexed(const DATAFILE_INDEX *index, int item)}}}
\entry{void destroy_datafile_index(DATAFILE_INDEX *index)}{305}{\code {\t {void destroy_datafile_index(DATAFILE_INDEX *index)}}}
\entry{const char *get_datafile_property(const DATAFILE *dat, int type);}{305}{\code {\t {const char *get_datafile_property(const DATAFILE *dat, int type);}}}
\entry{void register_datafile_object(int id, void *(*load)(PACKFILE *f, long size), void (*destroy)(void *data));}{306}{\code {\t {void register_datafile_object(int id, void *(*load)(PACKFILE *f, long size), void (*destroy)(void *data));}}}
\entry{void fixup_datafile(DATAFILE *data);}{306}{\code {\t {void fixup_datafile(DATAFILE *data);}}}
\entry{Macro DAT_ID(a, b, c, d);}{307}{\code {\t {Macro DAT_ID(a, b, c, d);}}}
\entry{fixed itofix(int x);}{313}{\code {\t {fixed itofix(int x);}}}
\entry{int fixtoi(fixed x);}{313}{\code {\t {int fixtoi(fixed x);}}}
\entry{int fixfloor(fixed x);}{314}{\code {\t {int fixfloor(fixed x);}}}
\entry{int fixceil(fixed x);}{314}{\code {\t {int fixceil(fixed x);}}}
\entry{fixed ftofix(double x);}{315}{\code {\t {fixed ftofix(double x);}}}
\entry{double fixtof(fixed x);}{315}{\code {\t {double fixtof(fixed x);}}}
\entry{fixed fixmul(fixed x, fixed y);}{316}{\code {\t {fixed fixmul(fixed x, fixed y);}}}
\entry{fixed fixdiv(fixed x, fixed y);}{317}{\code {\t {fixed fixdiv(fixed x, fixed y);}}}
\entry{fixed fixadd(fixed x, fixed y);}{317}{\code {\t {fixed fixadd(fixed x, fixed y);}}}
\entry{fixed fixsub(fixed x, fixed y);}{318}{\code {\t {fixed fixsub(fixed x, fixed y);}}}
\entry{extern const fixed fixtorad_r;}{319}{\code {\t {extern const fixed fixtorad_r;}}}
\entry{extern const fixed radtofix_r;}{319}{\code {\t {extern const fixed radtofix_r;}}}
\entry{fixed fixsin(fixed x);}{319}{\code {\t {fixed fixsin(fixed x);}}}
\entry{fixed fixcos(fixed x);}{320}{\code {\t {fixed fixcos(fixed x);}}}
\entry{fixed fixtan(fixed x);}{320}{\code {\t {fixed fixtan(fixed x);}}}
\entry{fixed fixasin(fixed x);}{321}{\code {\t {fixed fixasin(fixed x);}}}
\entry{fixed fixacos(fixed x);}{322}{\code {\t {fixed fixacos(fixed x);}}}
\entry{fixed fixatan(fixed x);}{322}{\code {\t {fixed fixatan(fixed x);}}}
\entry{fixed fixatan2(fixed y, fixed x);}{322}{\code {\t {fixed fixatan2(fixed y, fixed x);}}}
\entry{fixed fixsqrt(fixed x);}{323}{\code {\t {fixed fixsqrt(fixed x);}}}
\entry{fixed fixhypot(fixed x, fixed y);}{323}{\code {\t {fixed fixhypot(fixed x, fixed y);}}}
\entry{extern MATRIX identity_matrix;}{326}{\code {\t {extern MATRIX identity_matrix;}}}
\entry{extern MATRIX_f identity_matrix_f;}{326}{\code {\t {extern MATRIX_f identity_matrix_f;}}}
\entry{void get_translation_matrix(MATRIX *m, fixed x, fixed y, fixed z);}{326}{\code {\t {void get_translation_matrix(MATRIX *m, fixed x, fixed y, fixed z);}}}
\entry{void get_translation_matrix_f(MATRIX_f *m, float x, float y, float z);}{326}{\code {\t {void get_translation_matrix_f(MATRIX_f *m, float x, float y, float z);}}}
\entry{void get_scaling_matrix(MATRIX *m, fixed x, fixed y, fixed z);}{326}{\code {\t {void get_scaling_matrix(MATRIX *m, fixed x, fixed y, fixed z);}}}
\entry{void get_scaling_matrix_f(MATRIX_f *m, float x, float y, float z);}{326}{\code {\t {void get_scaling_matrix_f(MATRIX_f *m, float x, float y, float z);}}}
\entry{void get_x_rotate_matrix(MATRIX *m, fixed r);}{327}{\code {\t {void get_x_rotate_matrix(MATRIX *m, fixed r);}}}
\entry{void get_x_rotate_matrix_f(MATRIX_f *m, float r);}{327}{\code {\t {void get_x_rotate_matrix_f(MATRIX_f *m, float r);}}}
\entry{void get_y_rotate_matrix(MATRIX *m, fixed r);}{327}{\code {\t {void get_y_rotate_matrix(MATRIX *m, fixed r);}}}
\entry{void get_y_rotate_matrix_f(MATRIX_f *m, float r);}{327}{\code {\t {void get_y_rotate_matrix_f(MATRIX_f *m, float r);}}}
\entry{void get_z_rotate_matrix(MATRIX *m, fixed r);}{327}{\code {\t {void get_z_rotate_matrix(MATRIX *m, fixed r);}}}
\entry{void get_z_rotate_matrix_f(MATRIX_f *m, float r);}{327}{\code {\t {void get_z_rotate_matrix_f(MATRIX_f *m, float r);}}}
\entry{void get_rotation_matrix(MATRIX *m, fixed x, fixed y, fixed z);}{328}{\code {\t {void get_rotation_matrix(MATRIX *m, fixed x, fixed y, fixed z);}}}
\entry{void get_rotation_matrix_f(MATRIX_f *m, float x, float y, float z);}{328}{\code {\t {void get_rotation_matrix_f(MATRIX_f *m, float x, float y, float z);}}}
\entry{void get_align_matrix(MATRIX *m, fixed xfront, yfront, zfront, fixed xup, fixed yup, fixed zup);}{328}{\code {\t {void get_align_matrix(MATRIX *m, fixed xfront, yfront, zfront, fixed xup, fixed yup, fixed zup);}}}
\entry{void get_align_matrix_f(MATRIX *m, float xfront, yfront, zfront, float xup, yup, zup);}{329}{\code {\t {void get_align_matrix_f(MATRIX *m, float xfront, yfront, zfront, float xup, yup, zup);}}}
\entry{void get_vector_rotation_matrix(MATRIX *m, fixed x, y, z, fixed a);}{329}{\code {\t {void get_vector_rotation_matrix(MATRIX *m, fixed x, y, z, fixed a);}}}
\entry{void get_vector_rotation_matrix_f(MATRIX_f *m, float x, y, z, float a);}{329}{\code {\t {void get_vector_rotation_matrix_f(MATRIX_f *m, float x, y, z, float a);}}}
\entry{void get_transformation_matrix(MATRIX *m, fixed scale, fixed xrot, yrot, zrot, x, y, z);}{329}{\code {\t {void get_transformation_matrix(MATRIX *m, fixed scale, fixed xrot, yrot, zrot, x, y, z);}}}
\entry{void get_transformation_matrix_f(MATRIX_f *m, float scale, float xrot, yrot, zrot, x, y, z);}{330}{\code {\t {void get_transformation_matrix_f(MATRIX_f *m, float scale, float xrot, yrot, zrot, x, y, z);}}}
\entry{void get_camera_matrix(MATRIX *m, fixed x, y, z, xfront, yfront, zfront, fixed xup, yup, zup, fov, aspect);}{330}{\code {\t {void get_camera_matrix(MATRIX *m, fixed x, y, z, xfront, yfront, zfront, fixed xup, yup, zup, fov, aspect);}}}
\entry{void get_camera_matrix_f(MATRIX_f *m, float x, y, z, xfront, yfront, zfront, float xup, yup, zup, fov, aspect);}{331}{\code {\t {void get_camera_matrix_f(MATRIX_f *m, float x, y, z, xfront, yfront, zfront, float xup, yup, zup, fov, aspect);}}}
\entry{void qtranslate_matrix(MATRIX *m, fixed x, fixed y, fixed z);}{331}{\code {\t {void qtranslate_matrix(MATRIX *m, fixed x, fixed y, fixed z);}}}
\entry{void qtranslate_matrix_f(MATRIX_f *m, float x, float y, float z);}{331}{\code {\t {void qtranslate_matrix_f(MATRIX_f *m, float x, float y, float z);}}}
\entry{void qscale_matrix(MATRIX *m, fixed scale);}{331}{\code {\t {void qscale_matrix(MATRIX *m, fixed scale);}}}
\entry{void qscale_matrix_f(MATRIX_f *m, float scale);}{331}{\code {\t {void qscale_matrix_f(MATRIX_f *m, float scale);}}}
\entry{void matrix_mul(const MATRIX *m1, const MATRIX *m2, MATRIX *out);}{332}{\code {\t {void matrix_mul(const MATRIX *m1, const MATRIX *m2, MATRIX *out);}}}
\entry{void matrix_mul_f(const MATRIX_f *m1, const MATRIX_f *m2, MATRIX_f *out);}{332}{\code {\t {void matrix_mul_f(const MATRIX_f *m1, const MATRIX_f *m2, MATRIX_f *out);}}}
\entry{fixed vector_length(fixed x, fixed y, fixed z);}{332}{\code {\t {fixed vector_length(fixed x, fixed y, fixed z);}}}
\entry{float vector_length_f(float x, float y, float z);}{332}{\code {\t {float vector_length_f(float x, float y, float z);}}}
\entry{void normalize_vector(fixed *x, fixed *y, fixed *z);}{332}{\code {\t {void normalize_vector(fixed *x, fixed *y, fixed *z);}}}
\entry{void normalize_vector_f(float *x, float *y, float *z);}{332}{\code {\t {void normalize_vector_f(float *x, float *y, float *z);}}}
\entry{fixed dot_product(fixed x1, y1, z1, x2, y2, z2);}{333}{\code {\t {fixed dot_product(fixed x1, y1, z1, x2, y2, z2);}}}
\entry{float dot_product_f(float x1, y1, z1, x2, y2, z2);}{333}{\code {\t {float dot_product_f(float x1, y1, z1, x2, y2, z2);}}}
\entry{void cross_product(fixed x1, y1, z1, x2, y2, z2, *xout, *yout, *zout);}{333}{\code {\t {void cross_product(fixed x1, y1, z1, x2, y2, z2, *xout, *yout, *zout);}}}
\entry{void cross_product_f(float x1, y1, z1, x2, y2, z2, *xout, *yout, *zout);}{333}{\code {\t {void cross_product_f(float x1, y1, z1, x2, y2, z2, *xout, *yout, *zout);}}}
\entry{fixed polygon_z_normal(const V3D *v1, const V3D *v2, const V3D *v3);}{333}{\code {\t {fixed polygon_z_normal(const V3D *v1, const V3D *v2, const V3D *v3);}}}
\entry{float polygon_z_normal_f(const V3D_f *v1, const V3D_f *v2, const V3D_f *v3);}{333}{\code {\t {float polygon_z_normal_f(const V3D_f *v1, const V3D_f *v2, const V3D_f *v3);}}}
\entry{void apply_matrix(const MATRIX *m, fixed x, y, z, *xout, *yout, *zout);}{334}{\code {\t {void apply_matrix(const MATRIX *m, fixed x, y, z, *xout, *yout, *zout);}}}
\entry{void apply_matrix_f(const MATRIX_f *m, float x, y, z, *xout, *yout, *zout);}{334}{\code {\t {void apply_matrix_f(const MATRIX_f *m, float x, y, z, *xout, *yout, *zout);}}}
\entry{void set_projection_viewport(int x, int y, int w, int h);}{334}{\code {\t {void set_projection_viewport(int x, int y, int w, int h);}}}
\entry{void persp_project(fixed x, fixed y, fixed z, fixed *xout, fixed *yout);}{335}{\code {\t {void persp_project(fixed x, fixed y, fixed z, fixed *xout, fixed *yout);}}}
\entry{void persp_project_f(float x, float y, float z, float *xout, float *yout);}{335}{\code {\t {void persp_project_f(float x, float y, float z, float *xout, float *yout);}}}
\entry{extern QUAT identity_quat;}{336}{\code {\t {extern QUAT identity_quat;}}}
\entry{void get_x_rotate_quat(QUAT *q, float r);}{336}{\code {\t {void get_x_rotate_quat(QUAT *q, float r);}}}
\entry{void get_y_rotate_quat(QUAT *q, float r);}{336}{\code {\t {void get_y_rotate_quat(QUAT *q, float r);}}}
\entry{void get_z_rotate_quat(QUAT *q, float r);}{336}{\code {\t {void get_z_rotate_quat(QUAT *q, float r);}}}
\entry{void get_rotation_quat(QUAT *q, float x, float y, float z);}{336}{\code {\t {void get_rotation_quat(QUAT *q, float x, float y, float z);}}}
\entry{void get_vector_rotation_quat(QUAT *q, float x, y, z, float a);}{336}{\code {\t {void get_vector_rotation_quat(QUAT *q, float x, y, z, float a);}}}
\entry{void quat_to_matrix(const QUAT *q, MATRIX_f *m);}{336}{\code {\t {void quat_to_matrix(const QUAT *q, MATRIX_f *m);}}}
\entry{void matrix_to_quat(const MATRIX_f *m, QUAT *q);}{337}{\code {\t {void matrix_to_quat(const MATRIX_f *m, QUAT *q);}}}
\entry{void quat_mul(const QUAT *p, const QUAT *q, QUAT *out);}{337}{\code {\t {void quat_mul(const QUAT *p, const QUAT *q, QUAT *out);}}}
\entry{void apply_quat(const QUAT *q, float x, y, z, *xout, *yout, *zout);}{337}{\code {\t {void apply_quat(const QUAT *q, float x, y, z, *xout, *yout, *zout);}}}
\entry{void quat_interpolate(const QUAT *from, const QUAT *to, float t, QUAT *out);}{337}{\code {\t {void quat_interpolate(const QUAT *from, const QUAT *to, float t, QUAT *out);}}}
\entry{void quat_slerp(const QUAT *from, const QUAT *to, float t, QUAT *out, int how);}{338}{\code {\t {void quat_slerp(const QUAT *from, const QUAT *to, float t, QUAT *out, int how);}}}
\entry{int d_clear_proc(int msg, DIALOG *d, int c);}{342}{\code {\t {int d_clear_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_box_proc(int msg, DIALOG *d, int c);}{342}{\code {\t {int d_box_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_shadow_box_proc(int msg, DIALOG *d, int c);}{342}{\code {\t {int d_shadow_box_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_bitmap_proc(int msg, DIALOG *d, int c);}{342}{\code {\t {int d_bitmap_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_text_proc(int msg, DIALOG *d, int c);}{342}{\code {\t {int d_text_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_ctext_proc(int msg, DIALOG *d, int c);}{342}{\code {\t {int d_ctext_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_rtext_proc(int msg, DIALOG *d, int c);}{342}{\code {\t {int d_rtext_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_button_proc(int msg, DIALOG *d, int c);}{343}{\code {\t {int d_button_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_check_proc(int msg, DIALOG *d, int c);}{343}{\code {\t {int d_check_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_radio_proc(int msg, DIALOG *d, int c);}{343}{\code {\t {int d_radio_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_icon_proc(int msg, DIALOG *d, int c);}{344}{\code {\t {int d_icon_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_keyboard_proc(int msg, DIALOG *d, int c);}{344}{\code {\t {int d_keyboard_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_edit_proc(int msg, DIALOG *d, int c);}{344}{\code {\t {int d_edit_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_list_proc(int msg, DIALOG *d, int c);}{345}{\code {\t {int d_list_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_text_list_proc(int msg, DIALOG *d, int c);}{345}{\code {\t {int d_text_list_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_textbox_proc(int msg, DIALOG *d, int c);}{345}{\code {\t {int d_textbox_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_slider_proc(int msg, DIALOG *d, int c);}{346}{\code {\t {int d_slider_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_menu_proc(int msg, DIALOG *d, int c);}{346}{\code {\t {int d_menu_proc(int msg, DIALOG *d, int c);}}}
\entry{int d_yield_proc(int msg, DIALOG *d, int c);}{347}{\code {\t {int d_yield_proc(int msg, DIALOG *d, int c);}}}
\entry{extern int gui_mouse_focus;}{347}{\code {\t {extern int gui_mouse_focus;}}}
\entry{extern int gui_fg_color;}{347}{\code {\t {extern int gui_fg_color;}}}
\entry{extern int gui_bg_color;}{347}{\code {\t {extern int gui_bg_color;}}}
\entry{extern int gui_mg_color;}{347}{\code {\t {extern int gui_mg_color;}}}
\entry{extern int gui_font_baseline;}{348}{\code {\t {extern int gui_font_baseline;}}}
\entry{extern int (*gui_mouse_x)();}{348}{\code {\t {extern int (*gui_mouse_x)();}}}
\entry{extern int (*gui_mouse_y)();}{348}{\code {\t {extern int (*gui_mouse_y)();}}}
\entry{extern int (*gui_mouse_z)();}{348}{\code {\t {extern int (*gui_mouse_z)();}}}
\entry{extern int (*gui_mouse_b)();}{348}{\code {\t {extern int (*gui_mouse_b)();}}}
\entry{int gui_textout_ex(BITMAP *bmp, const char *s, int x, y, color, bg, centre);}{348}{\code {\t {int gui_textout_ex(BITMAP *bmp, const char *s, int x, y, color, bg, centre);}}}
\entry{int gui_strlen(const char *s);}{348}{\code {\t {int gui_strlen(const char *s);}}}
\entry{void gui_set_screen(BITMAP *bmp);}{349}{\code {\t {void gui_set_screen(BITMAP *bmp);}}}
\entry{BITMAP *gui_get_screen(void);}{349}{\code {\t {BITMAP *gui_get_screen(void);}}}
\entry{void position_dialog(DIALOG *dialog, int x, int y);}{349}{\code {\t {void position_dialog(DIALOG *dialog, int x, int y);}}}
\entry{void centre_dialog(DIALOG *dialog);}{350}{\code {\t {void centre_dialog(DIALOG *dialog);}}}
\entry{void set_dialog_color(DIALOG *dialog, int fg, int bg);}{350}{\code {\t {void set_dialog_color(DIALOG *dialog, int fg, int bg);}}}
\entry{int find_dialog_focus(DIALOG *dialog);}{350}{\code {\t {int find_dialog_focus(DIALOG *dialog);}}}
\entry{int offer_focus(DIALOG *dialog, int obj, int *focus_obj, int force);}{350}{\code {\t {int offer_focus(DIALOG *dialog, int obj, int *focus_obj, int force);}}}
\entry{int object_message(DIALOG *dialog, int msg, int c);}{351}{\code {\t {int object_message(DIALOG *dialog, int msg, int c);}}}
\entry{int dialog_message(DIALOG *dialog, int msg, int c, int *obj);}{351}{\code {\t {int dialog_message(DIALOG *dialog, int msg, int c, int *obj);}}}
\entry{int broadcast_dialog_message(int msg, int c);}{351}{\code {\t {int broadcast_dialog_message(int msg, int c);}}}
\entry{int do_dialog(DIALOG *dialog, int focus_obj);}{352}{\code {\t {int do_dialog(DIALOG *dialog, int focus_obj);}}}
\entry{int popup_dialog(DIALOG *dialog, int focus_obj);}{352}{\code {\t {int popup_dialog(DIALOG *dialog, int focus_obj);}}}
\entry{DIALOG_PLAYER *init_dialog(DIALOG *dialog, int focus_obj);}{352}{\code {\t {DIALOG_PLAYER *init_dialog(DIALOG *dialog, int focus_obj);}}}
\entry{int update_dialog(DIALOG_PLAYER *player);}{353}{\code {\t {int update_dialog(DIALOG_PLAYER *player);}}}
\entry{int shutdown_dialog(DIALOG_PLAYER *player);}{353}{\code {\t {int shutdown_dialog(DIALOG_PLAYER *player);}}}
\entry{extern DIALOG *active_dialog;}{353}{\code {\t {extern DIALOG *active_dialog;}}}
\entry{int do_menu(MENU *menu, int x, int y);}{354}{\code {\t {int do_menu(MENU *menu, int x, int y);}}}
\entry{MENU_PLAYER *init_menu(MENU *menu, int x, int y);}{355}{\code {\t {MENU_PLAYER *init_menu(MENU *menu, int x, int y);}}}
\entry{int update_menu(MENU_PLAYER *player);}{355}{\code {\t {int update_menu(MENU_PLAYER *player);}}}
\entry{int shutdown_menu(MENU_PLAYER *player);}{355}{\code {\t {int shutdown_menu(MENU_PLAYER *player);}}}
\entry{extern MENU *active_menu;}{356}{\code {\t {extern MENU *active_menu;}}}
\entry{extern void (*gui_menu_draw_menu)(int x, int y, int w, int h);}{356}{\code {\t {extern void (*gui_menu_draw_menu)(int x, int y, int w, int h);}}}
\entry{extern void (*gui_menu_draw_menu_item)(MENU *m, int x, int y, int w, int h, int bar, int sel);}{356}{\code {\t {extern void (*gui_menu_draw_menu_item)(MENU *m, int x, int y, int w, int h, int bar, int sel);}}}
\entry{int alert(const char *s1, *s2, *s3, const char *b1, *b2, int c1, c2);}{356}{\code {\t {int alert(const char *s1, *s2, *s3, const char *b1, *b2, int c1, c2);}}}
\entry{int alert3(const char *s1, *s2, *s3, const char *b1, *b2, *b3, int c1, c2, c3);}{357}{\code {\t {int alert3(const char *s1, *s2, *s3, const char *b1, *b2, *b3, int c1, c2, c3);}}}
\entry{int file_select_ex(const char *message, char *path, const char *ext, int size, int w, int h);}{357}{\code {\t {int file_select_ex(const char *message, char *path, const char *ext, int size, int w, int h);}}}
\entry{int gfx_mode_select(int *card, int *w, int *h);}{358}{\code {\t {int gfx_mode_select(int *card, int *w, int *h);}}}
\entry{int gfx_mode_select_ex(int *card, int *w, int *h, int *color_depth);}{358}{\code {\t {int gfx_mode_select_ex(int *card, int *w, int *h, int *color_depth);}}}
\entry{int gfx_mode_select_filter(int *card, int *w, int *h, int *color_depth, int (*filter)(int, int, int, int));}{359}{\code {\t {int gfx_mode_select_filter(int *card, int *w, int *h, int *color_depth, int (*filter)(int, int, int, int));}}}
\entry{extern int (*gui_shadow_box_proc)(int msg, struct DIALOG *d, int c);}{359}{\code {\t {extern int (*gui_shadow_box_proc)(int msg, struct DIALOG *d, int c);}}}
\entry{extern int (*gui_ctext_proc)(int msg, struct DIALOG *d, int c);}{359}{\code {\t {extern int (*gui_ctext_proc)(int msg, struct DIALOG *d, int c);}}}
\entry{extern int (*gui_button_proc)(int msg, struct DIALOG *d, int c);}{359}{\code {\t {extern int (*gui_button_proc)(int msg, struct DIALOG *d, int c);}}}
\entry{extern int (*gui_edit_proc)(int msg, struct DIALOG *d, int c);}{359}{\code {\t {extern int (*gui_edit_proc)(int msg, struct DIALOG *d, int c);}}}
\entry{extern int (*gui_list_proc)(int msg, struct DIALOG *d, int c);}{359}{\code {\t {extern int (*gui_list_proc)(int msg, struct DIALOG *d, int c);}}}
\entry{extern int (*gui_text_list_proc)(int msg, struct DIALOG *d, int c);}{359}{\code {\t {extern int (*gui_text_list_proc)(int msg, struct DIALOG *d, int c);}}}
\entry{Drivers JOY_TYPE_*/DOS}{360}{\code {\t {Drivers JOY_TYPE_*/DOS}}}
\entry{Drivers GFX_*/DOS}{363}{\code {\t {Drivers GFX_*/DOS}}}
\entry{Drivers DIGI_*/DOS}{366}{\code {\t {Drivers DIGI_*/DOS}}}
\entry{Drivers MIDI_*/DOS}{366}{\code {\t {Drivers MIDI_*/DOS}}}
\entry{extern int i_love_bill;}{367}{\code {\t {extern int i_love_bill;}}}
\entry{Drivers JOY_TYPE_*/Windows}{368}{\code {\t {Drivers JOY_TYPE_*/Windows}}}
\entry{Drivers GFX_*/Windows}{369}{\code {\t {Drivers GFX_*/Windows}}}
\entry{Drivers DIGI_*/Windows}{370}{\code {\t {Drivers DIGI_*/Windows}}}
\entry{Drivers MIDI_*/Windows}{371}{\code {\t {Drivers MIDI_*/Windows}}}
\entry{HWND win_get_window(void);}{371}{\code {\t {HWND win_get_window(void);}}}
\entry{void win_set_window(HWND wnd);}{371}{\code {\t {void win_set_window(HWND wnd);}}}
\entry{void win_set_wnd_create_proc(HWND (*proc)(WNDPROC));}{372}{\code {\t {void win_set_wnd_create_proc(HWND (*proc)(WNDPROC));}}}
\entry{HDC win_get_dc(BITMAP *bmp);}{372}{\code {\t {HDC win_get_dc(BITMAP *bmp);}}}
\entry{void win_release_dc(BITMAP *bmp, HDC dc);}{372}{\code {\t {void win_release_dc(BITMAP *bmp, HDC dc);}}}
\entry{void set_gdi_color_format(void);}{373}{\code {\t {void set_gdi_color_format(void);}}}
\entry{void set_palette_to_hdc(HDC dc, PALETTE pal);}{373}{\code {\t {void set_palette_to_hdc(HDC dc, PALETTE pal);}}}
\entry{HPALETTE convert_palette_to_hpalette(PALETTE pal);}{373}{\code {\t {HPALETTE convert_palette_to_hpalette(PALETTE pal);}}}
\entry{void convert_hpalette_to_palette(HPALETTE hpal, PALETTE pal);}{374}{\code {\t {void convert_hpalette_to_palette(HPALETTE hpal, PALETTE pal);}}}
\entry{HBITMAP convert_bitmap_to_hbitmap(BITMAP *bitmap);}{374}{\code {\t {HBITMAP convert_bitmap_to_hbitmap(BITMAP *bitmap);}}}
\entry{BITMAP *convert_hbitmap_to_bitmap(HBITMAP bitmap);}{374}{\code {\t {BITMAP *convert_hbitmap_to_bitmap(HBITMAP bitmap);}}}
\entry{void draw_to_hdc(HDC dc, BITMAP *bitmap, int x, int y);}{374}{\code {\t {void draw_to_hdc(HDC dc, BITMAP *bitmap, int x, int y);}}}
\entry{void blit_to_hdc(BITMAP *bitmap, HDC dc, int sx, sy, dx, dy, w, h);}{374}{\code {\t {void blit_to_hdc(BITMAP *bitmap, HDC dc, int sx, sy, dx, dy, w, h);}}}
\entry{void stretch_blit_to_hdc(BITMAP *bitmap, HDC dc, int sx, sy, sw, sh, int dx, dy, dw, dh);}{375}{\code {\t {void stretch_blit_to_hdc(BITMAP *bitmap, HDC dc, int sx, sy, sw, sh, int dx, dy, dw, dh);}}}
\entry{void blit_from_hdc(HDC hdc, BITMAP *bitmap, int sx, sy, dx, dy, w, h);}{375}{\code {\t {void blit_from_hdc(HDC hdc, BITMAP *bitmap, int sx, sy, dx, dy, w, h);}}}
\entry{void stretch_blit_from_hdc(HDC hcd, BITMAP *bitmap, int sx, sy, sw, sh, int dx, dy, dw, dh);}{375}{\code {\t {void stretch_blit_from_hdc(HDC hcd, BITMAP *bitmap, int sx, sy, sw, sh, int dx, dy, dw, dh);}}}
\entry{Drivers JOY_TYPE_*/Linux}{377}{\code {\t {Drivers JOY_TYPE_*/Linux}}}
\entry{Drivers GFX_*/Linux}{378}{\code {\t {Drivers GFX_*/Linux}}}
\entry{Drivers GFX_*/X}{379}{\code {\t {Drivers GFX_*/X}}}
\entry{Drivers DIGI_*/Unix}{380}{\code {\t {Drivers DIGI_*/Unix}}}
\entry{Drivers MIDI_*/Unix}{380}{\code {\t {Drivers MIDI_*/Unix}}}
\entry{void xwin_set_window_name(const char *name, const char *group);}{380}{\code {\t {void xwin_set_window_name(const char *name, const char *group);}}}
\entry{extern void *allegro_icon;}{381}{\code {\t {extern void *allegro_icon;}}}
\entry{Drivers GFX_*/BeOS}{381}{\code {\t {Drivers GFX_*/BeOS}}}
\entry{Drivers DIGI_*/BeOS}{382}{\code {\t {Drivers DIGI_*/BeOS}}}
\entry{Drivers MIDI_*/BeOS}{382}{\code {\t {Drivers MIDI_*/BeOS}}}
\entry{Drivers GFX_*/QNX}{383}{\code {\t {Drivers GFX_*/QNX}}}
\entry{Drivers DIGI_*/QNX}{383}{\code {\t {Drivers DIGI_*/QNX}}}
\entry{Drivers MIDI_*/QNX}{384}{\code {\t {Drivers MIDI_*/QNX}}}
\entry{PtWidget_t qnx_get_window(void);}{384}{\code {\t {PtWidget_t qnx_get_window(void);}}}
\entry{Drivers GFX_*/MacOSX}{385}{\code {\t {Drivers GFX_*/MacOSX}}}
\entry{Drivers DIGI_*/MacOSX}{386}{\code {\t {Drivers DIGI_*/MacOSX}}}
\entry{Drivers MIDI_*/MacOSX}{386}{\code {\t {Drivers MIDI_*/MacOSX}}}
\entry{void ASSERT(condition);}{393}{\code {\t {void ASSERT(condition);}}}
\entry{void TRACE(char *msg, ...);}{393}{\code {\t {void TRACE(char *msg, ...);}}}
\entry{void register_assert_handler(int (*handler)(const char *msg));}{394}{\code {\t {void register_assert_handler(int (*handler)(const char *msg));}}}
\entry{void register_trace_handler(int (*handler)(const char *msg));}{394}{\code {\t {void register_trace_handler(int (*handler)(const char *msg));}}}
\entry{void al_assert(const char *file, int line);}{395}{\code {\t {void al_assert(const char *file, int line);}}}
\entry{void al_trace(const char *msg, ...);}{395}{\code {\t {void al_trace(const char *msg, ...);}}}
\entry{Example exhello}{399}{\code {\t {Example exhello}}}
\entry{Example exmem}{400}{\code {\t {Example exmem}}}
\entry{Example expal}{401}{\code {\t {Example expal}}}
\entry{Example expat}{401}{\code {\t {Example expat}}}
\entry{Example exflame}{402}{\code {\t {Example exflame}}}
\entry{Example exdbuf}{403}{\code {\t {Example exdbuf}}}
\entry{Example exflip}{404}{\code {\t {Example exflip}}}
\entry{Example exfixed}{405}{\code {\t {Example exfixed}}}
\entry{Example exfont}{405}{\code {\t {Example exfont}}}
\entry{Example exmouse}{406}{\code {\t {Example exmouse}}}
\entry{Example extimer}{407}{\code {\t {Example extimer}}}
\entry{Example exkeys}{408}{\code {\t {Example exkeys}}}
\entry{Example exjoy}{409}{\code {\t {Example exjoy}}}
\entry{Example exsample}{410}{\code {\t {Example exsample}}}
\entry{Example exmidi}{411}{\code {\t {Example exmidi}}}
\entry{Example exgui}{412}{\code {\t {Example exgui}}}
\entry{Example excustom}{413}{\code {\t {Example excustom}}}
\entry{Example exunicod}{415}{\code {\t {Example exunicod}}}
\entry{Example exbitmap}{416}{\code {\t {Example exbitmap}}}
\entry{Example exscale}{416}{\code {\t {Example exscale}}}
\entry{Example exconfig}{417}{\code {\t {Example exconfig}}}
\entry{Example exdata}{418}{\code {\t {Example exdata}}}
\entry{Example exsprite}{419}{\code {\t {Example exsprite}}}
\entry{Example exexedat}{420}{\code {\t {Example exexedat}}}
\entry{Example extrans}{421}{\code {\t {Example extrans}}}
\entry{Example extruec}{423}{\code {\t {Example extruec}}}
\entry{Example excolmap}{423}{\code {\t {Example excolmap}}}
\entry{Example exrgbhsv}{424}{\code {\t {Example exrgbhsv}}}
\entry{Example exshade}{426}{\code {\t {Example exshade}}}
\entry{Example exblend}{427}{\code {\t {Example exblend}}}
\entry{Example exxfade}{428}{\code {\t {Example exxfade}}}
\entry{Example exalpha}{429}{\code {\t {Example exalpha}}}
\entry{Example exlights}{430}{\code {\t {Example exlights}}}
\entry{Example ex3d}{432}{\code {\t {Example ex3d}}}
\entry{Example excamera}{434}{\code {\t {Example excamera}}}
\entry{Example exquat}{435}{\code {\t {Example exquat}}}
\entry{Example exstars}{436}{\code {\t {Example exstars}}}
\entry{Example exscn3d}{438}{\code {\t {Example exscn3d}}}
\entry{Example exzbuf}{439}{\code {\t {Example exzbuf}}}
\entry{Example exscroll}{440}{\code {\t {Example exscroll}}}
\entry{Example ex3buf}{441}{\code {\t {Example ex3buf}}}
\entry{Example ex12bit}{442}{\code {\t {Example ex12bit}}}
\entry{Example exaccel}{444}{\code {\t {Example exaccel}}}
\entry{Example exspline}{445}{\code {\t {Example exspline}}}
\entry{Example exsyscur}{447}{\code {\t {Example exsyscur}}}
\entry{Example exupdate}{447}{\code {\t {Example exupdate}}}
\entry{Example exswitch}{449}{\code {\t {Example exswitch}}}
\entry{Example exstream}{450}{\code {\t {Example exstream}}}
\entry{Example expackf}{451}{\code {\t {Example expackf}}}
