- 
   Muchos cambios menores, muchas clarificaciones en la documentación.
-    
   Peter Wang corrigió la instalación de librerías compartidas bajo FreeBSD.
- 
   Peter Wang y Eric Botcazou corrigieron los problemas de autodetección de
   VGA y SVGAlib.
- 
   Eric Botcazou corrigió un problema bajo X11 cuando se usaba la extensión
   MIT X-SHM.
- 
   Eric Botcazou corrigió un interbloqueo durante la salida cuando se
   usaba una ventana de usuario junto con los temporizadores de Windows.
- 
   Eric Botcazou desactivó los backbuffers inservibles para el driver seguro
   de DirectX.
-    
   Peter Wang hizo que el driver de sonido Alsa use un modo no bloqueante
   durante la detección de ALSA PCM.
- 
   Sven Sandberg añadió soporte de enteros long long a usprintf() y otras
   funciones.
- 
   Robert J. Ohannessian corrigió el blender diferencial.
- 
   Peter Wang corrigió una condición de carrera cuando se cerraba el modo
   gráfico bajo X.
- 
   Elias Pschernig hizo que todos los diálogos activos se redibujen tras un
   cambio de aplicación.
- 
   Peter Wang hizo que fbcon sea un driver con prioridad, para que pueda
   aparecer antes que VGA.
- 
   Javier Gonzalez corrigió un fallo en el código de entrada DirectSound.
- 
   Eric Botcazou corrigió el SIGSEV de salida cuando se usaba la combinación
   de teclas de salida de emergencia bajo QNX.
- 
   Eric Botcazou corrigió el problema de llamadas C-a-ensamblador para los
   programas compilados con Borland C++.
- 
   Eric Botcazou limpió el caótico (y algo incorrecto) código de gestión de
   bitmaps de DirectDraw.
- 
   Sven Sandberg mejoró el algoritmo de subdivisión de bitmaps de vídeo.
- 
   Sven Sandberg corrigió los problemas de los makefiles en Windows
   (especialmente para Borland) cuando se compila Allegro bajo Win98.
- 
   Peter Wang quitó el parche que activaba los alias de funciones de punto
   fijo bajo IRIX.
- 
   Vincent Penquerc'h corrigió un problema con el temporizador SIGALRM y
   SWITCH_PAUSE.
- 
   Javier Gonzalez corrigió un problema de latencia con los flujos de audio.
- 
   Laurence Withers hizo que el exportador de fuentes use la paleta actual
   durante la generación de la salida.
- 
   Elias Pschernig realizó algunos cambios al grabber: añadió un gancho de
   salida; monitoriza si algo fue modificado; cuando sale del grabber y el
   fichero fue modificado, la ventana popup ahora tiene una tercera opción
   para salir y salvar; el título de la ventana muestra el nombre del
   fichero actual, y si éste ha sido modificado; corrigió las exportaciones
   de fuentes multicolor.
- 
   Sven Sandberg optimizó de nuevo la función create_light_table().
- 
   Attila Szilagyi corrigió el scroll horizontal con SVGAlib.
- 
   Eric Botcazou corrigió problemas de sincronización bajo QNX.
- 
   Grzegorz Adam Hankiewicz hizo que la tabla de contenidos del comienzo de
   cada sección de la documentación esté ordenada alfabéticamente.
- 
   Eric Botcazou corrigió la actualización de la pantalla tras un retorno
   del modo ahorro de energía en los drivers Windows de ventana y overlay.
- 
   Richard Reeve corrigió un fallo estúpido con la detección gcc 3.0.x.
- 
   Angelo Mottola corrigió la compilación estática de keyconf bajo BeOS
   debido al driver de teclado pckeys.
- 
   Eric Botcazou corrigió el fallo no-devolver-el-foco-tras-salir bajo
   Windows.
- 
   Michael Bukin corrigió un fallo en la versión C de textprintf en bitmaps
   de 24 bpp, tras ser descubierto por Bertrand Coconnier.
- 
   Eric Botcazou corrigió un fallo en la rutina de conversión de color MMX
   de 32 a 15 bpp.
- 
   Eric Botcazou corrigió un problema de enlazado de DLL bajo Borland C++
   Builder 4.
- 
   Sven Sandberg hizo que exaccel responda mejor al usuario.
- 
   Sven Sandberg corrigió un problema de nombres cortos bajo DOS.
- 
   Muchos cambios menores.
- 
   Eric Botcazou modularizó los drivers VGA/Modo-X bajo Linux.
- 
   Peter Wang corrigió el fallo que provocaba un segfault en Modo-X bajo
   Linux con threads.
- 
   Peter Wang hizo que X11 use la señal SIGTERM en vez de exit() cuando se
   usa la combinación de tres teclas ctrl+alt+fin. Esto soluciona el
   problema de cuelgues de sonido cuando se cerraban algunos programas.
- 
   Eric Botcazou añadió soporte de os_version y os_revision al port QNX y
   añadió una sección específica sobre QNX a la documentación.
- 
   Peter Wang añadió una zona muerta para las lecturas digitales de los ejes
   del joystick bajo Linux, tal y como sugirió Goerge Foot e hizo que el
   driver mirase en /dev/input/js# antes que /dev/js#.
- 
   Peter Wang renombró las funciones de punto fijo para que usen el prefijo
   "fix" en vez de "f", para evitar conflictos de nombres con algunas libc.
   La compatibilidad hacia atrás se provee mediante funciones estáticas
   inline.
- 
   Peter Wang solucionó dos problemas con salidas de emergencia bajo
   Linux/Unix.
- 
   Eric Botcazou cambió la lógica de actualización del driver gráfico Photon
   para QNX.
- 
   Eric Botcazou añadió documentación sobre la utilidad wfixicon, con la
   ayuda de Laurence Withers.
- 
   Angelo Mottola hizo que allegro_message bajo BeOS sea unicode y escribió
   un nuevo driver de teclado para BeOS (usando el sistema de pckeys
   compartidas).
- 
   Eric Botcazou corrigió un problema con el parche de David Capello que
   robaba/devolvía el foco del ratón.
- 
   Peter Wang hizo que pasar NULL a install_allegro() como el parámetro
   atexti_ptr signifique que allegro_exit() no será instalada como rutina
   atexit(), tal y como sugirió Javier Gonzalez.
- 
   Lorenzo Petrone añadió la utilidad gfxinfo.
- 
   Eric Botcazou añadió soporte fetch_mode_list() al driver Photon Direct
   bajo QNX.
- 
   Peter Wang hizo que desktop_color_depth() se capaz de devolver 15 bpp
   bajo X.
- 
   Grzegorz Adam Hankiewicz actualizó las cadenas de textos traducidas al
   español.
- 
   Peter Wang corrigió un problema con la secuencia de cierre de X.
- 
   Eric Botcazou arregló el proceso de compilación bajo QNX, reorganizó el
   formato del código fuente del port QNX y arregó otras cosas.
- 
   Peter Wang desactivó el código SVGAlib que listaba los modos gráficos dado
   que estaba causando problemas con otros drivers.
- 
   Angelo Mottola añadió notas sobre BeOS al documento de compatibilidad ABI.
- 
   Eric Botcazou corrigió un fallo en el código de bloqueo de Windows que
   provocaba cuelgues del grabber en eventos de cambio de aplicación.
- 
   Eric Botcazou corrigió un fallo en el manejo de sub-bitmaps recursivos
   bajo Windows.
- 
   Eric Botcazou corrigió un fallo que evitaba cargar packfiles antiguos que
   usaban password de protección en el grabber.
- 
   Lorenzo Petrone añadió dos respuestas al FAQ sobre problemas con DGA2.
- 
   Grzegorz Adam Hankiewicz reorganizó la estructura del directorio docs.
- 
   Stepan Roh actualizó la traducción al cheqo.
- 
   Javier Gonzalez corrigió un fallo con el driver DirectSound relacionado
   con modos de reproducción con bucles.
- 
   David Capello corrigió un problema con los submenús que se superponían
   a sus padres, donde el foco volvería al menú padre en vez de al hijo.
- 
   3.9.40: Eric Botcazou activó el soporte SSE bajo Linux. También redujo el
   retardo del código de inicio del Sidewinder bajo DOS. Hizo que los
   defines _ALL_DLL de MinGW32 sean consistentes con otras plataformas.
- 
   3.9.40: Henrik Stokseth mejoró el make install para que sólo instale los
   ficheros de cabecera necesarios de include/allegro/plataforma.
- 
   3.9.40: Vincent Penquerc`h actualizó 7 ficheros makefiles tras separar las
   cabeceras.
- 
   3.9.40: Robert J. Ohannessian añadió dos nuevos puntos de entrada a la
   estructura GFX_VTABLE.
- 
   3.9.40: Eric Botcazou sustituyó los sprintf() por snprintf() en el código
   Linux/Unix. Incrementó el retraso del código de cambio de tarea de
   Windows. Corrigió el selector de modo gráfico he hizo que use unicode.
   Añadió el programa de verificación filetest. Corrigió más problemas de
   cadenas unicode. Unificó el manejo de variables de directorios de
   sistema en los ficheros makefile de Windows. Hizo dos cadenas del
   selector gráfico traducibles.
- 
   3.9.40: Ben Davis añdió soporte para temporizadores con parámetros bajo
   Windows.
- 
   3.9.40: Eric Botcazou corrigió el fallo de las rutinas ensamblador cuando
   eran usadas con sub-bitmaps. Corrigió un problema de la nueva
   organización de ficheros de cabecera para plataformas que no tienen
   soporte de ensamblador.
- 
   3.9.40: George Foot y Eric Botcazou corrigieron las funciones en C
   fceil() y ffloor().
- 
   3.9.40: Chris Graham sugirió añadir un nuevo bit para ficheros
   comprimidos en Windows NTFS.
- 
   3.9.40: Henrik Schmidt y Eric Botcazou encontraron una solución
   alternativa al problema de cambio de tarea bajo Windows.
- 
   3.9.40: Eric Botcazou rehizo el proceso de compilación para Borland C++.
   Ahora funciona para BC++ 5.5. Hizo de pack_fdopen() una función interna
   exportada. Cambió el código de flujos de audio de 16 bits de DirectSound
   a la versión 3.9.38.
- 
   3.9.40: Vincent Penquerc'h contribuyó una gran reorganización/separación
   de los ficheros de cabecera de Allegro. Henrik y Eric hicieron algunas
   tareas de limpieza y corrección relacionadas.
- 
   3.9.40: Peter Wang actualizó la documentación de put_backslash.
- 
   3.9.40: Eric Botcazou modificó la forma en que las superficies DirectDraw
   son enumeradas. Corrigió errores/avisos de compilación con BC++. Hizo de
   generate_optimized_palette_ex() una función estática. Solucionó las
   limitaciones de al_findfirst() y for_each_file() para DOS. Movió código
   dependiente de plataforma fuera de src/fsel.c.
- 
   3.9.40: Peter Wang actualizó la documentación de temporizadores para
   plataformas no DOS. Añadió un documento de compatibilidad ABI.
- 
   3.9.40: Javier Gonzalez eliminó todas las referencias a la compilación
   con RSXNT.
- 
   3.9.40: Vincent Penquerc'h hizo que los usuarios puedan proveer su propia
   rutina ustrdup().
- 
   3.9.40: Robin Burrows corrigió dos problemas con el código DirectDraw.
- 
   3.9.40: Peter Wang corrigió el problema donde XUnlockDisplay era llamado
   tras XCloseDisplay.
- 
   3.9.40: Eric Botcazou eliminó el antiguo controlador Sidewinder en
   ensamlador. Hizo limpieza de uso de buffers en DIGMID. Corrigió el
   soporte unicode del driver DIGMID. Cambió todas las ocurrencias de
   SEND_MESSAGE() por object_message().
- 
   3.9.40: Annie Testes descubrió un desorden en la secuencia de cierre bajo
   X.
- 
   3.9.40: Eric Botcazou incrementó el tamaño de los buffers de nombres de
   ficheros a 1024 bytes.
- 
   3.9.40: Sven Sandberg mejoró el script fix.bat.
- 
   3.9.40: David Capello corrigió un problema con los clicks del ratón
   perdidos en la GUI.
- 
   3.9.40: Vincent Penquerc'h eliminó dos tamaños fijos de lista codificados
   a cañón en el grabber.
- 
   3.9.40: Peter Wang añadió una pequeña clarificación sobre
   mouse_accel_factor.
- 
   3.9.40: Eric Botcazou hizo que las funciones de depuración usen cadenas
   ASCII. Añadió algunos defines para tener compatibilidad hacia atrás con
   las anteriores banderas cpu_*. Corrigió un problema de compilación bajo
   DJGPP.
- 
   3.9.40: Henrik Stokseth añadió soporte de fetch_mode_list() para VBE/AF.
- 
   3.9.40: Robert J. Ohannessian reescribió el mecanismo de obtención de
   capacidad de la CPU y añadió algunas nuevas banderas.
- 
   3.9.40: Eric Botcazou corrigió varios problemas del cursor de ratón bajo
   Windows. Actualizó la documentación sobre drivers DIGI_DIRECTX.
- 
   3.9.40: Javier Gonzalez corrigió los flujos de audio bajo Windows.
- 
   3.9.40: Peter Wang mejoró el driver XDGA2 eliminando scrolls
   innecesarios, que además mejoró el rendimiento al requerir menos bloqueos
   y desbloqueos. La corrección original era de Michael Bukin.
- 
   3.9.40: Eric Botcazou y Javier Gonzalez añadieron documentación sobre
   enlazado estático bajo MSVC/MinGW32.
- 
   3.9.40: Peter Wang arregló los sonames para las versiones de depuración y
   trazado de la librería. También añadió comprobaciones al 'configure' para
   saber si ld soporta -export-modules antes de activar los módulos.
- 
   3.9.40: Annie Testes encontró cadenas ASCII que debían ser convertidas.
   También añadió la función pack_fdopen().
- 
   3.9.40: Robert J. Ohannessian clarificó algunas instrucciones de Dev-C++.
   Corrigió el script fix.bat bajo MinGW32/Win2k.
- 
   3.9.40: Marcel Smit corrigió un fallo de los polígonos con corrección de
   perspectiva que se dibujaban perpendiculares a la cámara. (dz=0)
- 
   3.9.40: Peter Wang hizo estática install_timer_int. También movió
   allegro_404_char a la API pública.
- 
   3.9.40: Laurence Withers añadió documentación sobre allegro_404_char.
- 
   3.9.40: Eric Botcazou corrigió un pequeño fallo con la auto apertura de
   los menús. También corrigió un problema de color en los drivers en modo
   ventana de Windows con escritorios de 8 bits.
- 
   3.9.40: Salvador Eduardos Tropea corrigió declaraciones inline friend con
   cuerpos. (problema del gcc 3.0.x)
- 
   3.9.40: Peter Wang mejoró el comportamiento entre menús que se abren con
   el ratón y la navegación con teclado. También aclaró la documentación de
   ustrtok_r().
- 
   3.9.40: Henrik Stokseth sustituyó mmxtest con un programa de verificación
   de capacidades en ensamblador más completo.
- 
   3.9.40: Eric Botcazou reactivó la paralelización completa en Pentiums para
   cinco rutinas de conversión de color. Aplicó optimizaciones xor vs. mov y
   %ecx vs. %edx en lo que se refiere al tamaño del código no MMX. Actualizó
   la documentación sobre mouse_accel_factor.
- 
   3.9.40: Peter Wang eliminó el uso de buffers estáticos por uconvert() en
   algunos sitios.
- 
   3.9.40: David A. Capello hizo que d_menu_proc robe/devuelva el foco
   cuando sea activado/desactivado.
- 
   3.9.40: Henrik Stokseth añadió detección de falta de espacio de entorno
   al script fix.bat.
- 
   3.9.40: Eric Botcazou corrigió un comportamiento no ANSI de la versión C
   de usprintf().
- 
   3.9.40: Seunghwan Ji hizo que makedoc genere ficheros html y rtf
   correctos en Coreano.
- 
   3.9.39: Robert J. Ohannessian añadió las opciones -? y --help al dat.
- 
   3.9.39: Sven Sandberg y Grzegorz Adam Hankiewicz corrigieron algunos
   errores en la documentación.
- 
   3.9.39: Annie Testes corrigió algunos problemas relacionados con el
   soporte unicode.
- 
   3.9.39: Henrik Stokseth añadió la función interna _al_sane_realloc() con
   comportamiento garantizado. Se usó para corregir un agujero de memoria y
   actualizó el FAQ.
- 
   3.9.39: Eric Botcazou y Peter Wang actualizaron la documentación sobre:
   bits de atributos de ficheros, request_scroll y request_video_bitmap.
- 
   3.9.39: Eric Botcazou unificó el uso de temporizadores internos en los
   drivers de Windows. También hizo que digitest use el volúmen máximo del
   mezclador de Allegro.
- 
   3.9.39: Paul Hampson mejoró de nuevo el driver de joystick DOS SNESpad.
- 
   3.9.39: Eric Botcazou rediseñó el mecanismo de bloqueo del driver DGA2.
   También corrigió algunos agujeros de memoria.
- 
   3.9.39: Peter Wang añadió soporte para obtener modos de vídeo disponibles
   en los drivers X11 y DGA a pantalla completa.
- 
   3.9.39: Robert J. Ohannessian corrigió el código de masked blit SSE para
   16 bits y eliminó instrucciones no usadas en otros blitters.
- 
   3.9.39: Salvador Eduardos Tropea añadió algunos arreglos para GCC 3.x.
- 
   3.9.39: Peter Wang añadió un chequeo para verificar si un módulo listado
   en modules.lst existe antes de intentar cargarlo.
- 
   3.9.39: Charles Wardlaw hizo que alert/alert3 usen fondo transparente para
   la etiqueta de texto.
- 
   3.9.39: Eric Botcazou añadió la función flush_config_file() al API.
   También añadió el método hfill() a la estructura GFX_VTABLE.
- 
   3.9.39: Peter Wang corrigió algunos agujeros de memoria.
- 
   3.9.39: Eric Botcazou arregló dos warnings de compilación con gcc >; 2.95.
- 
   3.9.39: Johan Peitz contribuyó el icono 'Alex the Allegator'.
- 
   3.9.39: Angelo Mottola corrigió el fallo de pantalla completa segura y
   fetch_mode_list() para BeOS.
- 
   3.9.39: Peter Wang actualizó la función fetch_mode_list() de los drivers
   XDGA2 y SVGAlib.
- 
   3.9.39: Henrik Stokseth reescribió la API de listas de modos, actualizó
   el código y la documentación.
- 
   3.9.39: Grzegorz Adam Hankiewicz actualizó todas las URLs en la
   documentación de Allegro.
- 
   3.9.39: Eric Botcazou corrigió el script cmplog para perl 5.6.1.
- 
   3.9.39: Peter Wang añadió una pregunta al FAQ.
- 
   3.9.39: Peter Wang corrigió el subsistema de sonido que accidentalmente
   estropeó al introducir módulos dinámicos.
- 
   3.9.39: Eric Botcazou corrigió un warning de compilación. También añadió
   soporte de escritorios 8-bit para el driver windows en ventana. Corrigió
   los desplazamientos en los conversores de 8-bit. Corrigió un fallo en la
   rutina de conversión de color 8->;8.
- 
   3.9.39: Javier Gonzalez contribuyó soporte de looping bidireccional para
   el driver directsound.
- 
   3.9.39: Robert J. Ohannessian y Henrik Stokseth hicieron una gran
   actualización de las instrucciones de instalación para Mingw32.
- 
   3.9.39: Eric Botcazou limpió la información de versión de la dll de
   windows y permitió que los makefiles de windows usen reglas implícitas
   con algunos objetivos. Corrigió un problema de compilación con MSVC.
- 
   3.9.39: Henrik Stokseth añadió soporte para crear RPMs con SuSE Linux.
- 
   3.9.39: Peter Wang corrigió algunos errores pequeñísimos. Corrigió el
   makefile para unix. Corrigió la desactivación de módulos dinámicos.
- 
   3.9.39: Eric Botcazou y Grzegorz Adam Hankiewicz terminaron la traducción
   del fichero allegro.spec.
- 
   3.9.39: Eric Botcazou reañadió una pregunta del FAQ sobre problemas de
   versiones con DirectX.
- 
   3.9.39: Grzegorz hizo de fbcon un módulo.
- 
   3.9.39: Peter Wang quitó allegro-enduser.spec porque ya no hace falta.
   También contribuyó una reescritura del fichero allegro.spec, y actualizó
   los scripts para generar el rpm. El nuevo fichero allegro.spec está basado
   en uno que contribuyó Osvaldo Santana Neto. Peter también permitió al
   configure pasar parámetros a allegro-config (para los módulos). Ahora
   _unix_find_resource también busca en /usr/[local/]share/allegro los
   ficheros .dat.
- 
   3.9.39: Javier Gonzalez contribuyó soporte de reproducción de sonidos
   hacia atrás al driver directsound.
- 
   3.9.39: Eric Botcazou corrigió un problema con la reproducción hacia atrás
   del programa digitest.
- 
   3.9.39: Salvador Eduardos Tropea hizo una pequeña actualización de la
   sección cygwin de readme.mgw.
- 
   3.9.39: Peter Wang corrigió un problema con el make BSD y los separadores
   de deirectorio Mac ':'. Documentó la variable gfx_cardw.
- 
   3.9.39: Sven Sandberg corrigió un molesto efecto colateral que ocurría al
   tener clear() como función inline en Watcom.
- 
   3.9.39: Laurence Withers corrigió un fallo que colgaba el selector de
   modos de vídeo.
- 
   3.9.39: Peter Wang quitó la parte asíncrona SIGIO dado que no es necesaria
   cuando se usan pthreads. Actualizó la documentación para mencionar los
   módulos dinámicos. Añadió una opción al configure para desactivar la
   compilación con pthreads.
- 
   3.9.39: Burton Radons corrigió un fallo en su blender dissolve.
- 
   3.9.39: Eric Botcazou corrigió un fallo de los menús causado por la
   auto-apertura.
- 
   3.9.39: Henrik Stokseth actualizó los makefiles para que usen
   -mcpu=pentium en vez de la opción deprecada -mpentium del gcc. También
   hizo que los scripts de empaquetado ejecuten autoconf y borren ficheros
   ocultos o adicionales.
- 
   3.9.39: Eric Botcazou limpió el código de sonido de windows. También
   clarificó el código básico de las funciones de menús. Corrigió un problema
   con unicode. Eliminó las referencias a ALLEGRO_NO_FINDFIRST. Añadió una
   interfaz unificada al_find*(). Hizo una traducción portuguesa del antiguo
   fichero portugués (Br). Arregló algunos ficheros de configuración de
   teclado. Cambió los delimitarores de fin de línea de pl.cfg a \r\n.
- 
   3.9.39: Grzegorz Godlewski contribuyó una localización al Polaco. También
   añadió soporte para tablas altgr mayores y menores.
- 
   3.9.39: Eric Botcazou corrigió un fallo de la utilidad keyconf causado por
   la separación en secciones.
- 
   3.9.38: Robert J. Ohannessian añadió lo siguiente al conversor de colores:
   rutinas de copia de color necesarias en el port BeOS, soporte para
   conversión cruzada entre colores de 15 y 16 bits, soporte para
   conversiones a 8 bits, soporte para rectángulos de cualquier anchura y
   añadió dos nuevas rutinas MMX.
- 
   3.9.38: Henrik Stokseth reescribió get_gfx_mode_list() e igualmente el
   selector de modo para que use esta rutina. También añadió la función
   fetch_mode_list() para los drivers DirecX, VGA, Mode-X y Xtended.
- 
   3.9.38: Angelo Mottola corrigió problemas con SMP en el port BeOS.
- 
   3.9.38: Eric Botcazou corrigió algunos problemas en el código no MMX del
   conversor de colores.
- 
   3.9.38: Sven Sandberg mejoró spline() para DRAW_MODE_TRANS.
- 
   3.9.38: Peter Wang renombró clear() a clear_bitmap(). clear() todavía
   existe por razones de compatibilidad hacia atrás.
- 
   3.9.38: Stephan Roh hizo que el generador de fractales funcione en
   procesadores no Intel.
- 
   3.9.38: Eric Botcazou hizo un modo de cambio de dispositivo válido de
   SWITCH_NONE bajo DOS.
- 
   3.9.38: Angelo Mottola hizo que el port BeOS use las nuevas rutinas
   unificadas de conversión de colores.
- 
   3.9.38: Peter Wang añadió un chequeo para ver si el dispositivo de
   visualización es local bajo X11.
- 
   3.9.38: Eric Botcazou y Sven Sandberg arreglaron la compilación con
   Watcom 10.6.
- 
   3.9.38: Elias Pschernig contribuyó un adjuntador de recursos de iconos
   para el port Windows y añadió soporte para librerías compartidas bajo
   BeOS.
- 
   3.9.38: Angelo Mottola añadió la utilidad bfixicon.
- 
   3.9.38: Stephan Roh hizo que el tiempo nativo de Allegro tenga el formato
   de time_t ANSI.
- 
   3.9.38: Peter Wang añadió la función ustrtok_r().
- 
   3.9.38: Robert J. Ohannessian optimizó algunos masked_blits con
   instrucciones SSE.
- 
   3.9.38: Angelo Mottola corrigió un error en la salida de los flujos de
   audio y máquinas SMP, y añadió soporte de triple buffering al port BeOS.
- 
   3.9.38: Angelo Mottola añadió soporte fetch_mode_list() al driver a
   pantalla completa de BeOS.
- 
   3.9.38: Eric Botcazou cambió el escema de aceleración de ratón bajo
   Windows.
- 
   3.9.38: Peter Wang añadió soporte fetch_mode_list() al driver svgalib.
- 
   3.9.38: Peter Wang añadió temporizadores pthread y eliminó las
   dependencias de SIGALRM.
- 
   3.9.38: Henrik Stokseth añadió detección de Windows XP.
- 
   3.9.38: Andreas Kluge corrigió un fallo de ajuste de volumen en DOS para
   el driver Soundscape.
- 
   3.9.38: Angelo Mottola reescribió el driver de sonido BeOS para que use
   la clase BSoundPlayer.
- 
   3.9.38: Robert J. Ohannessian añadió detección SSE y SSE2.
- 
   3.9.38: Connelly Barnes corrigió un fallo de panoramización con
   DirectSound.
- 
   3.9.38: Eric Botcazou añadió soporte de cambio de tarea al programat test.
- 
   3.9.38: Eric Botcazou modificó el mecanismo de cambio de tarea bajo
   Windows.
- 
   3.9.38: Angelo Mottola añadió soporte de cambio de tarea al driver a
   pantalla completa de BeOS y arregló y limpió otras cosas.
- 
   3.9.38: Henrik Stokseth añadió código para conseguir más información del
   SO bajo Unix.
- 
   3.9.38: Nimrod Abing corrigió un error en las rutinas de configuración
   relacionado con la sección NULL.
- 
   3.9.38: Eric Botcazou arregló un cuelgue del driver en ventana de Windows
   en sistemas rápidos.
- 
   3.9.38: Ronaldo Hideki Yamada hizo grandes cambios del port PowerMac y
   añadió un driver midi.
- 
   3.9.38: Henrik Stokseth generalizó el soporte de optimizaciones
   específicas de procesadores en algunos ficheros makefile.
- 
   3.9.38: Evert Glebbeek puso set_gfx_mode a dieta y añadió la variable de
   configuración para indicar la tarjeta a usar con GFX_AUTODETECT_WINDOWED.
- 
   3.9.38: Robert J. Ohannessian hizo que blit no convierta entre
   profundidades de color en bitmaps de vídeo (para AllegroGL).
- 
   3.9.38: Peter Wang hizo que fix_filename_slashes() maneje ambos tipos de
   separadores.
- 
   3.9.38: Grzegorz Adam Hankiewicz implementó un parámetro de makedoc para
   verificar líneas de documentación largas (>;77).
- 
   3.9.38: Owen Rudge contribuyó un script de recursos para la versión DLL.
- 
   3.9.38: Sven Sandberg hizo las funciones de rotación más rápidas, más
   precisas y ahora funcionan con cualquier bitmap. Además eliminó
   rotate_scaled_sprite_flip().
- 
   3.9.38: Angelo Mottola añadió soporte fetch_mode_list() para DGA2.
- 
   3.9.38: David A. Capello hizo que el programa test use polígonos
   transparentes.
- 
   3.9.38: Owen Rudge constribuyó el script mkdata.bat.
- 
   3.9.38: Grzegorz Adam Hankiewicz añadió reload_config_texts().
- 
   3.9.38: Eric Botcazou añadió una mejora al mecanismo de construcción para
   los ficheros que definen la exportación de las DLL.
- 
   3.9.38: Eric Botcazou añadió un nuevo ejemplo unicode y realizo toneladas
   de pequeños arreglos.
- 
   3.9.37: Johan Peitz corrigió y mejoró el driver Win32 de joystick.
- 
   3.9.37: Sven Sandberg añadió teclas Ctrl + cursor a d_edit_proc().
- 
   3.9.37: Eric Botcazou cambió el color de máscara a fucsia en el driver
   overlay de Windows.
- 
   3.9.37: Eric Botcazou deshizo algunos cambios realizados al núcleo de
   temporización de la última versión porque causaban problemas con el
   reproductor MIDI, y quitó el driver temporización Windows multihilo.
- 
   3.9.37: Henrik Stokseth actualizó el código de detección de SO, y añadió
   la variable os_multitasking.
- 
   3.9.37: Eric Botcazou corrigió un problema en las rutinas de
   configuración, donde los valores en la sección NULL estaban ocultando
   entradas duplicadas en otras secciones.
- 
   3.9.37: Eric Botcazou hizo que el programa setup use funciones Unicode.
- 
   3.9.37: Henrik Stokseth unificó los scripts fix*, y les añadió opciones.
- 
   3.9.37: Peter Wang añadió soporte de carga de módulos dinámicamente bajo
   Unix. Los drivers SVGAlib, ALSA digital, ALSA MIDI, ESD y DGA2 serán
   compilados como módulos cuando sea posible. Esto elimina dependencias
   externas en la librería principal y mejora la transportabilidad de
   binarios bajo Linux.
- 
   3.9.37: Eric Botcazou hizo algunos cambios y correcciones a las funciones
   de cadenas Unicode, y su uso en la librería. Las funciones antiguas ahora
   se comportan exáctamente como sus equivalentes libc, mientras que las
   nuevas funciones (las que llevan 'z') se comportan de forma más razonable.
   Este cambio afecta la mayoría del código que usa funciones Unicode.
- 
   3.9.37: Bertrand Coconnier cambió la API de render de escenas integrada
   reciéntemente, corrigió un fallo, y añadió un nuevo programa de ejemplo.
   El cambio del API afecta a todo el código que use funciones de escena.
- 
   3.9.37: Laurence Withers envolvió el registro de tipos de bitmaps en un
   constructor. Donde éstos estén disponibles, se debería reducir el tamaño
   del ejecutable al usar enlace estático (a no ser que use los cargadores
   de bitmaps, por supuesto).
- 
   3.9.37: Ben Davis modificó la escala de set_volume_per_voice. Por favor
   mire la documentación si la ha usado anteriormente.
- 
   3.9.37: Eric Botcazou parcheó un fallo del ratón bajo DOS en Win2k.
- 
   3.9.37: Eric Botcazou añadió soporte del modo VGA 13h bajo DirectX 5 y
   versiones posteriores.
- 
   3.9.37: Henrik Stokseth añadió la función get_gfx_mode_list(), y su
   implementación para el driver VESA.
- 
   3.9.37: Eric Botcazou y Annie Testes se esforzaron por evitar
   desbordamientos de buffer (particularmente aquellos que tienen que ver
   con funciones Unicode).
- 
   3.9.37: Eric Botcazou corrigió un fallo con los mickeys del ratón e hizo
   limpieza en el subsystema de entrada del usuario bajo Windows.
- 
   3.9.37: Eric Botcazou cambió dos cosas en lo referente al manejo del color
   0 en modos de paleta.
- 
   3.9.37: Eric Botcazou añadió una opción a las herramientas grabber y dat
   para preservar la transparencia.
- 
   3.9.37: Eric Botcazou corrigió un cuelgue cuando se usaba alt-tab en un
   programa con page flipping bajo Windows.
- 
   3.9.37: Peter Wang añadió added gui_menu_draw_menu y
   gui_menu_draw_menu_item para permitir personalizar el aspecto de los menús
   de la interfaz gráfica (hasta cierto punto).
- 
   3.9.37: Angelo Mottola añadió soporte para las nuevas constantes
   GFX_AUTODETECT_FULLSCREEN y GFX_AUTODETECT_WINDOWED, sobre las cuales
   todos nos pusimos de acuerdo de todo corazón :-)
- 
   3.9.37: Eduard Bloch hizo que las variables de configuración que existen
   pero están vacías devuelvan el valor por defecto.
- 
   3.9.37: Elias Pschernig añadió el modo COLORCONV_KEEP_TRANS.
- 
   3.9.37: Henrik Stokseth añadió soporte para compilar con Cygwin. Funciona
   en modo compatibilidad con Mingw.
- 
   3.9.37: Angelo Mottola hizo que los submenús de la interfaz
   automáticamente se abran cuando el ratón ha estado sobre ellos el tiempo
   suficiente. (Esto es un viejo parche que finalmente se ha aceptado.)
   Eriq hizo algunas modificaciones relacionadas más tarde.
- 
   3.9.37: Eric Botcazou hizo que clear_keybuf() no limpie el array key[].
- 
   3.9.37: Sven Sandberg añadió la opción --quick a los scripts fix.
- 
   3.9.37: Angelo Mottola hizo _un montón_ de trabajo en el port QNX
   (demasiado como para documentarlo aquí).
- 
   3.9.37: Eric Botcazou hizo que el código de conversión ensamblador Win32
   esté disponible para otros ports, y añadió algunos conversores más. Isaac
   Cruz añadió uno también.
- 
   3.9.37: Eric Botcazou restructuró el formato del fichero de configuración.
   Algunas variables que no tenían sección, están ahora en una.
- 
   3.9.37: George Foot añadió un sistema multihilo para manejar eventos
   asíncronos, en vez de usar SIGALRM (bajo Unix).
- 
   3.9.37: George Foot corrigió algunos problemas con pack_fgets().
- 
   3.9.36: Eric Botcazou hizo que set_keyboard_rate(0, 0) desactive la
   repetición del teclado, tal y como indica la documentación.
- 
   3.9.36: Annie Testes añadió ganchos font_height, render_char y
   char_length a la tabla FONT_VTABLE.
- 
   3.9.36: Eric Botcazou hizo algunos cambios menores relacionados con
   AllegroGL en el código de manipulación de ventana, y corrigió dos fallos
   menores del ratón que Javier Gonzalez había encontrado (ambos bajo
   Windows).
- 
   3.9.36: Eric Botcazou añadió la función get_desktop_resolution() para
   Windows y X. Joshua Haberman añadió la versión BeOS.
- 
   3.9.36: Angelo Mottola comenzó un port a QNX.
- 
   3.9.36: Robert Ohannessian corrigió el órden src/dest en los blenders
   aditivos.
- 
   3.9.36: Eric Botcazou mejoró el soporte de ventanas externas en Windows.
- 
   3.9.36: Peter Wang actualizó el driver SVGAlib para la versión 2.
- 
   3.9.36: Peter Wang añadió una versión a pantalla completa del driver
   X-Window. El driver original era de Benjamin Joel Stover.
- 
   3.9.36: Peter Wang hizo que el grabber use file_select_ex(). Esto está
   aquí sólo para que no se sorprenda :-)
- 
   3.9.36: Eric Botcazou corrigió pequeños fallos del código DirectSound de
   entrada.
- 
   3.9.36: Eric Botcazou corrigió el estado NumLock bajo X, que antes no se
   correspondía con el de los LEDs.
- 
   3.9.36: Eric Botcazou reactivó el temporizador multi-hilo bajo Windows.
- 
   3.9.36: Eric Botcazou y Javier Gonzalez hicieron que el sistema de
   repetición del teclado sea más eficiente.
- 
   3.9.36: Eric Botcazou corrigió algunos blitters en ensamblador, y un
   fallo en la alteración de la velocidad de los temporizadores.
- 
   3.9.36: Peter Wang hizo que el teclado numérico devuelva valores ASCII /
   * - + incluso cuando NumLock está desactivado, en la consola Linux.
- 
   3.9.36: Ronaldo Hideki Yamada hizo una grán actualización del port de
   Mac, incluyendo algunos ficheros PPC nuevos.
- 
   3.9.36: El driver GGI ha sido eliminado, debido a que no es capaz de
   funcionar. No será soportado hasta que alguien lo reescriba.
- 
   3.9.36: Eric Botcazou corrigió un problema con el driver GDI cuando se
   compilaba con MSVC.
- 
   3.9.36: Algunas correcciones MIDI por Javier Gonzalez y Eric Botcazou.
- 
   3.9.36: Grzegorz Adam Hankiewicz mejoró la función de tratamiento de
   líneas del fichero fb.modes para el driver fbcon.
- 
   3.9.36: Grzegorz Adam Hankiewicz cambió el comportamiento de GFX_SAFE.
   Esto significa que "set_gfx_mode(GFX_SAFE, ...)" ahora devuelve un error
   si no es capaz de entrar en modo gráfico, tal y como cualquier otro driver.
- 
   3.9.36: Eric Botcazou corrigió el control de volúmen bajo Windows.
- 
   3.9.36: Eric Botcazou añadió compatibilidad con DirectX 3.
- 
   3.9.36: Nick Kochakian añadió rutinas de entrada al driver DirectSound.
   También fue modificado por Javier Gonzalez.
- 
   3.9.35: Eric Botcazou hizo que Windows recupere el volúmen original del
   sonido tras la finalización de un programa Allegro.
- 
   3.9.35: Eric Botcazou corrigió el looping de sonidos del driver
   DirectSound.
- 
   3.9.35: Grzegorz Adam Hankiewicz corrigió algunos problemas de color en
   el juego demo.
- 
   3.9.35: Angelo Mottola implementó el gancho de botón de cierre para X11.
- 
   3.9.35: Eric Botcazou corrigió _el_ fallo de teclado de Windows 2000.
- 
   3.9.35: Eric Botcazou hizo algunos cambios al mecanismo de bloqueo/
   desbloqueo del port Windows.
- 
   3.9.35: Laurence Withers hizo que algunos módulos eviten dependencias de
   enlazado.
- 
   3.9.35: Javier Gonzalez añadió soporte para el botón de cierre de
   Windows.
-   
   3.9.35: Eric Botcazou mejoró el manejo del ratón con el driver GFX_GDI, y
   corrigió también otros fallos del ratón.
- 
   3.9.35: Peter Wang hizo que set_mouse_sprite(NULL) regenere el bitmap de
   la flecha por defecto (usando la paleta actual).
- 
   3.9.35: Eric Botcazou hizo que las primitivas aceleradas por hardware se
   detengan cuando el usuario cambia a otra aplicación en Windows.
- 
   3.9.35: Tom St Denis corrigió el recorte de objetos transparentes.
- 
   3.9.35: Eric Botcazou y Javier Gonzalez mejoraron el cambio a otras
   aplicaciones en Windows y otras cosas.
- 
   3.9.35: Peter Wang hizo que el driver de joystick para Linux use las
   constatnes estándar.
- 
   3.9.35: Sven Sandberg cambió la API de Z-buffer.
- 
   3.9.35: Peter Wang hizo que el sprite del ratón por defecto sea
   independiente de la paleta en modos de 8bpp.
- 
   3.9.35: Bertrand Coconnier añadió documentación sobre la fusión de P3D.
- 
   3.9.35: Angelo Mottola corrigió desktop_color_depth() y añadió soporte
   para el botón de cierre del port BeOS.
- 
   3.9.35: Ben Davis añadió el esqueleto de set_window_close_button() y
   set_window_close_hook().
- 
   3.9.35: Peter Wang hizo públicas las variables mouse_sprite, mouse_x_focus
   y mouse_y_focus.
- 
   3.9.35: Robert Ohannessian y Javier Gonzalez corrigieron el fallo de
   limpieza de subbitmaps.
- 
   3.9.35: Peter Wang renombró GFX_XDFS a GFX_XDGA_FULLSCREEN.
- 
   3.9.35: Henrik Stokseth actualizó el sistema de compilación cruzada.
- 
   3.9.35: Tomohiko Sugiura añadió algunas teclas y renombro algunas teclas
   JP.
- 
   3.9.35: Eric Botcazou añadió una interfaz DirectDraw2, con soporte de
   frecuencias de refresco.
- 
   3.9.35: Bertrand Coconnier fusionó la librería P3D de Calin Andrian.
- 
   3.9.35: Javier Gonzalez hizo que allegro_message() use el título de
   set_window_title() bajo Windows.
- 
   3.9.35: Andreas Kluge corrigió los fallos de división en la clase de
   punto fijo.
- 
   3.9.35: Stepan Roh documentó los bits FA_*.
- 
   3.9.35: Peter Wang añadió ganchos para permitir cambiar el aspecto de los
   diálogos estándar.
- 
   3.9.35: Peter Wang cambió el comportamiento y posicionado de las ventanas
   bajo X.
- 
   3.9.35: David A. Capello hizo que dotted_rect() evite cambios de banco.
- 
   3.9.35: Eric Botcazou corrigió un bloqueo bajo Windows que ocurría
   bloqueando/desbloqueando bitmaps con la CPU muy cargada. Recibió ayuda
   de Javier Gonzalez para encontrar el fallo.
- 
   3.9.35: Stepan Roh corrigió un fallo con la constante FA_RDONLY bajo Unix.
- 
   3.9.35: Eric Botcazou hizo limpieza del subsistema gráfico de Windows.
- 
   3.9.35: "Sask Allegro" añadió soporte para más de dos joysticks en el
   port Windows.
- 
   3.9.34: Ben Davis hizo que la aspa en modos ventana bajo Windows no
   simule la tecla Esc, en preparación para un nuevo comportamiento (de la
   próxima WIP).
- 
   3.9.34: Laurence Withers corrigió un problema con los acentos en keyconf.
- 
   3.9.34: Javier Gonzalez añadió DIGMID a la lista Windows de controladores
   MIDI.
- 
   3.9.34: Eric Botcazou hizo limpieza en el subsistema DirectDraw.
- 
   3.9.34: Eric Botcazou hizo que el controlador overlay DirectDraw funcione
   con código que use page flipping y triple buffering, entre otras cosas.
- 
   3.9.34: Bertrand Coconnier mejoró la precisión subtexel en la aplicación
   de texturas.
- 
   3.9.34: Javier Gonzalez corrigió la velocidad de movimiento del ratón
   bajo Windows.
- 
   3.9.34: Ben Davis adaptó las funciones de polígonos para que manejar
   vértices compartidos, y modificó y clarificó el alineamiento de
   coordenadas de texturas en el código y en la documentación.
- 
   3.9.34: Grzegorz Adam Hankiewicz escribió la documentación de las
   funciones Unicode, adaptando documentación de djgpp y gcc.
- 
   3.9.34: Eric Botcazou corrigió un problema con el triple buffering con el
   driver DirectDraw acelerado por hardware.
- 
   3.9.34: Henrik Stokseth añadió soporte para compilar versiones de otras
   plataformas en el proceso de compilación de mingw32.
- 
   3.9.34: Grzegorz Adam Hankiewicz actualizó más ejemplos para GFX_SAFE.
- 
   3.9.34: Ben Davis añadió set_volume_per_voice(), hizo que las voces
   silenciosas continúen siendo reproducidas y corrigió otros fallos menores.
- 
   3.9.34: Ben Davis corrigió un fallo en create_rgb_table().
- 
   3.9.34: Angelo Mottola añadió rutinas para cambio de modo para BeOS y
   corrigió algunos fallos.
- 
   3.9.34: Laurence Withers Actualizó la documentación sobre `const'.
- 
   3.9.34: Ronaldo Hideki Yamada contribuyó la versión macintosh de Allegro.
- 
   3.9.34: Grzegorz Adam Hankiewicz cambió y documentó el nuevo
   comportamiento de GFX_SAFE (ahora la profundidad del color es indefinida),
   actualizó el driver fbcon para aprovechar esto, y actualizó los programas
   de ejemplo.
- 
   3.9.34: Peter Pavlovic corrigió un fallo causado por el escalado del
   selector de ficheros.
- 
   3.9.34: Bertrand Coconnier corrigió fallos relacionados con poly3d();
   quitó versiones C nunca llamadas de las funciones por scanline de
   POLYTYPE_FLAT y versiones hicolor/truecolor de POLYTYPE_GCOL; hizo que las
   rutinas clip3d() y clip3d_f() funcionen con polígonos con Z-buffer.
- 
   3.9.34: Stepan Roh añadió la versión C de masked_stretch_blit().
- 
   3.9.34: Angelo Mottola trabajó más en la versión BeOS: aceleración por
   hardware (rect, hline, vline, clear_to_color, blit); correción del ratón
   en modos de ventana; desktop_color_depth(); yield_timeslice();
- 
   3.9.34: Peter Wang actualizó retroactivamente los ficheros CHANGES y
   AUTHORS desde la antigua 3.9.33 hasta el presente usando logs de CVS y
   archivos de emails, y casi con toda seguridad trastocó algo.
- 
   3.9.34: Angelo Mottola añadió un driver en ventana para BeOS
   (originalmente escrito por Peter Wang), un driver MIDI para BeOS, soporte
   de la ruedecilla del ratón para BeOS y realizó muchas otras correcciones y
   cambios al código BeOS y la documentación.
- 
   3.9.34: Laurence Withers corrigió la salida de fuentes de dat2s para el
   nuevo subsistema de fuentes.
- 
   3.9.34: Peter Wang hizo al driver SVGAlib más robusto.
- 
   3.9.34: Peter Wang cambió la forma de seleccionar los protocolos
   Intellimouse en la consola Linux.
- 
   3.9.34: Eric Botcazou añadió file_select_ex y revirtió file_select al
   antiguo comportamiento.
- 
   3.9.34: Laurence Withers añadió la función ugetcx().
- 
   3.9.34: Laurence Withers diseñó e implementó una nueva estructura FONT,
   que debería proveer muchas ventajas sobre la antigua.
- 
   3.9.34: Eric Botcazou hizo más correcciones al código Windows.
- 
   3.9.34: Bertrand Coconnier añadió el render de polígonos 3D por Z-buffer,
   (derivado de la librería P3D de Calin Andrian), y un ejemplo para ésto.
- 
   3.9.34: Michael Bukin añadió la posibilidad de personalizar las
   equivalencias keycode a scancode bajo X.
- 
   3.9.34: Peter Wang añadió soporte de ruedecilla del ratón a d_textbox_proc
   y d_slider_proc, e hizo que el selector de ficheros pueda reescalarse.
- 
   3.9.34: Tom Fjellstrom añadió el driver MIDI ALSA.
- 
   3.9.34: Eric Botcazou hizo algunos cambios al controlador de Windows en
   modo ventana.
- 
   3.9.34: Grzegorz Adam Hankiewicz actualizó la documentación y el programa
   makedoc para producir mejor salida .texi. La nueva versión funciona muy
   bien con el programa texi2dvi, que produce salida independiente del
   dispositivo lista para ser impresa. También documentó los nuevos comandos
   unix del makefile.
- 
   3.9.34: George Foot añadió la opción --env al script allegro-config.
- 
   3.9.34: Benjamin Stover corrigió cosas con argumentos variables en
   unicode.c y añadió un remedio a los defines necesarios en fbcon.c.
- 
   3.9.34: Robin Burrows añadió un driver de sonido Windows waveOut.
- 
   3.9.34: Eric Botcazou cambió desktop_color_depth() para Windows.
- 
   3.9.34: Angelo Mottola añadió soporte para cambio de líneas y refresco
   al driver DGA2.
- 
   3.9.34: Bertrand Coconnier añadió subdivisión de scanlines y corrigió el
   dibujado de polígonos 3D.
- 
   3.9.34: Angelo Mottola añadió el driver de joystick para BeOS.
- 
   3.9.34: Angelo Mottola añadió el driver DGA2.
- 
   3.9.34: Robin Burrows añadió un driver Windows que usa el mezclador de
   Allegro.
- 
   3.9.34: Stepan Roh añadió un remedio a la rutina fceil definida en las
   cabeceras Irix.
- 
   3.9.34: Michael Bukin cambió la forma de limpiar una pantalla DGA.
- 
   3.9.34: Tomohiko Sugiura añadió un controlador sidewinder más agresivo.
- 
   3.9.34: Tomohiko Sugiura añadió tres teclas japonesas.
- 
   3.9.34: Stepan Roh hizo las funciones C correctas según `const'.
- 
   3.9.34: Bertrand Coconnier corrigió el blending en las funciones atex_lit
   de scanlines.
- 
   3.9.34: Michael Bukin modificó text_mode para que vuelva al modo previo.
- 
   3.9.34: Peter Pavlovic corrigió la visualización de la barra del grabber
   y mejoró el scroll de los objetos GUI.
- 
   3.9.34: anarko hizo que los objetos GUI recuperen el modo de texto.
- 
   3.9.34: Laurence Withers añadió un gancho para destruir fuentes.
- 
   3.9.34: Vincent Penquerc'h modificó los eventos de pulsación/soltado del
   ratón para que tengan mayor prioridad que los eventos de doble click.
- 
   3.9.34: Eric Botcazou mejoró el control del mapa de colores en XDGA.
- 
   3.9.34: Robin Burrows contribuyó nuevo código de page flipping para el
   subsistema DirectDraw, que ahora funciona en cualquier tarjeta de vídeo.
- 
   3.9.33: Henrik Stokseth actualizó el makefile de mingw32, la
   documentación y mandó otras correcciones y actualizaciones. Ya no
   necesitará otra vez MSVC para compilar las DLLs de Allegro. ;o)
- 
   3.9.33: Peter Puck contribuyó actualizaciones al código win32 de Allegro,
   con lo que consiguí que la versión mingw32 funcione completamente.
- 
   3.9.33: Michael Bukin cambió el manejo de la autorepetición bajo X, el
   manejo de sched_yield bajo Unix, corrigió _add_exit_func, y añadió una
   lista de diálogos activos al GUI.
- 
   3.9.33: Vincent Penquerc'h aceleró bastante la versión C de la rutina de
   dibujado de sprites RLE.
- 
   3.9.33: Peter Wang mejoró la carga de paletas TGA.
- 
   3.9.33: Laurence Withers hizo más funciones correctas según `const'.
- 
   3.9.33: Isaac Cruz movió el bloqueo de bitmaps bajo Windows aun fichero
   .S separado, cambió la lógica de actualización del controlador en modo
   ventana, y añadió una implementación acelerada de vline.
- 
   3.9.33: Stephen Kittelson corrigió un faloo en pckeys.c, y cambió los
   valores ASCII devueltos por algunas extrañas combinaciones de teclas.
- 
   3.9.33: Peter Wang hizo que algunas funciones fuesen correctas con el
   contexto de la palabra reservada 'const'.
- 
   3.9.33: Peter Pavlovic hizo modificaciones estéticas al sistema de menús
   de la interfaz gráfica del usuario.
- 
   3.9.33: Javier Gonzalez sugirió que los diálogos de selección de modo y
   fichero usasen popup_dialog.
- 
   3.9.33: Vincent Penquerc'h añadió el comando install-gzipped-man al
   makefile, parcheó algunos controles de EINTR, e hizo que el controlador
   OSS detectase si el dispositivo es de 16 bits o nó.
- 
   3.9.33: Peter Pavlovic modificó el mapa de teclado eslovaco e hizo que
   el selector de ficheros detecte las unidades disponibles bajo Windows.
- 
   3.9.33: Peter Wang añadió sonido (sólo salida) al controlador de BeOS.
- 
   3.9.33: Sven Sandberg corrigió un fallo en la definición de ustrdup,
   añadió la función uwidth_max, contrinuyó la función d_yield_proc, e
   hizo que varios diálogos la usasen.
- 
   3.9.33: Michael Bukin hizo que el controlador DGA limpie la memoria de
   vídeo y centre la pantalla cuando no se esté a pantalla completa.
- 
   3.9.33: Eduard Bloch sugirió mejores métodos para encontrar el
   ejecutable bajo Unix.
- 
   3.9.33: Andrew Geers añadió sprites rotados e invertidos.
- 
   3.9.33: George Foot hizo que el makefile de Unix funcione con usuarios
   que no son el superusuario.
- 
   3.9.33: Grzegorz Adam Hankiewicz hizo que los ficheros de configuración
   de lenguajes estén forzados a minúsculas.
- 
   3.9.33: Grzegorz Adam Hankiewicz añadió documentación para findfirst(),
   findnext(), y findclose(), y corrigió la documentación de
   get_executable_name().
- 
   3.9.33: Stephan Roh contribuyo parches para compilar Allegro bajo IRIX.
- 
   3.9.33: John Harger hizo cambios para mejorar la estabilidad de AllegroGL
   bajo Windows.
- 
   3.9.33: Sven Sandberg corrigió un fallo en la versión C a 16bpp del blit
   con escalado.
- 
   3.9.33: George Foot corrigió un fallo en las rutinas de blit con máscara
   en 8bpp para i386, notificado por Damian Yerrick.
- 
   3.9.33: Eduard Bloch solucionó un congelamiento en el código de detección
   de ESD.
- 
   3.9.33: Vincent Penquerc'h añadió eventos de pulsación/soltura de los
   botones del ratón.
- 
   3.9.33: Peter Wang solucionó un conflicto con SVGAlib.
- 
   3.9.33: Vincent Penquerc'h añadió las propiedades XCRP e YCRP a los
   objetos bitmap almacenados en ficheros de datos.
- 
   3.9.33: Vincent Penquerc'h hizo que el sistema GUI no mande mensajes
   MSG_DRAW a los objetos ocultos.
- 
   3.9.33: Chris La Mantia apuntó que su código de textprintf_right, de
   alguna forma había mutado.
- 
   3.9.33: Peter Wang añadió una solución al fallo de algunos servidores X
   al indicar movimiento del ratón.
- 
   3.9.33: Eric Botcazou alteró el código DGA para que trabaje mejor en
   modos de 32bpp.
- 
   3.9.33: Daniel Nilsson afinó exstars y exlights.
- 
   3.9.33: Isaac Cruz corrigió un fallo grave con el bloqueo de subbitmaps,
   y añadió soporte para desktop_color_depth y yield_timeslice bajo Windows.
- 
   3.9.33: Peter Cech hizo que uisspace() reconozca carácteres no ASCII de
   espaciado
- 
   3.9.32: S.Sakamaki añadió una función para controlar la velocidad de
   refresco de la pantalla con el controlador DOS VESA 3.0 (esto podría
   estar soportado por otros controladores si alguien lo implementa).
- 
   3.9.32: S.Suzuki añadió controladores DOS para las tarjetas con interfaz
   para joysticks IF-SEGA /PCI, /PCI2, e /ISA
- 
   3.9.32: Fabrizio Gennari añadió controladores DOS para joysticks
   multisistema con conectores de 9 pins (Atari, Commodore 64, MSX).
- 
   3.9.32: Peter Pavlovic mejoró el soporte de carácteres acentuados en el
   controlador de teclado.
- 
   3.9.32: Sven Sandberg optimizó el scroll de la lista de elementos del GUI
   para ignorar redibujados si no puede mantener la velocidad de
   actualización.
- 
   3.9.32: Olly Betts trabajó en hacer que se pueda compilar la versión
   djgpp desde Linux.
- 
   3.9.32: Isaac Cruz mejoró el driver ddraw en modo ventana, añadiendo
   soporte para diferentes conversiones de color entre profundidades
   distintas.
- 
   3.9.32: Vincent Penquerc'h añadió una función al grabber para actualizar
   una selección.
- 
   3.9.32: muchas correcciones de varias personas.
- 
   3.9.32: zipup.sh ahora genera dependencias usando únicamente herramientas
   estándar de Unix y gcc, por lo que puede configurarse para soportar todas
   las plataformas sin la necesidad de tener esos compiladores (es decir,
   puedo crear dependencias para Watcom, BeOS y Mingw32 desde mi máqina
   Linux). No obstante, esto requiere algo de cooperación por parte de las
   plataformas indicadas: necesitan activar su propio comando "make depend"
   para sobreescribir los defines estándar del gcc, y envolver cualquier
   cabecera no estándar con "#ifndef SCAN_DEPEND".
- 
   3.9.32: corregido (espero :-) el fallo con las zonas temporales no GMT
   del código de actualización de ficheros de datos.
- 
   3.9.32: reescritura de la rutina Unicode usprintf() para obtener ayuda de
   la libc convirtiendo datos en coma flotante (esto es demasiado difícil
   para que seamos capaces de hacerlo nosotros :-)
- 
   3.9.31: Henrik Stokseth trabajó en una versión nativa de Mingw32. Todavía
   es incompleta, y es improbable que funcione ahora ya que hubo otros
   cambios en el código Windows desde que empezó. Por el momento esta
   versión se enlaza estáticamente, usando makefile.mgs, y makefile.mgw
   todavía existe para la versión dependiente de MSVC. El objetivo final es
   conseguir que la versión nativa crée una DLL aparte de la versión
   estática, momento en el cual se podrían mezclar ambos makefiles en
   makefile.mgw y borrar makefile.mgs. Oh si, todavía no hay documentación
   sobre esta versión nativa.
- 
   3.9.31: Greg Hackmann contribuyó el port de Borland C++ Builder. Al igual
   que las versiones RSXNT y Mingw32, esto es un cliente de la DLL de MSVC,
   y no es capaz de compilar Allegro por sí mismo, pero permite crear
   programas con Allegro usando el compilador de Borland.
- 
   3.9.31: Robert Ohannessian añadió optimización para la función clear()
   de 8 y 16 bits, y Jose Antonio Luque optimizó las rutinas blit() y
   masked_blit() de 16 bits.
- 
   3.9.31: Vincent Penquerc'h añadió la función yield_timeslice() (por el
   momento sólo implementada bajo DOS y Unix).
- 
   3.9.31: se añadió la función desktop_color_depth() (por el momento sólo
   implementada bajo X: pronto será el turno de la versión Windows).
- 
   3.9.31: Isaac Cruz añadió soporte para los modos en ventana a diferentes
   profundidades de color que el escritorio, y bitmaps de sistema acelerados
   por hardware.
- 
   3.9.31: Jose Antonio Luque mejoró el controlador de joystick de Windows.
- 
   3.9.31: James Hyman añadió soporte para difuminar imágenes truecolor a
   modos con paleta.
- 
   3.9.31: Chris La Mantia añadió las funciones textout_right(),
   textprintf_right(), textprintf_justify().
- 
   3.9.31: Sven Sandberg añadió la función ustrrchr(), y mejoró usprintf()
   en el manejo de grandes números en coma flotante.
- 
   3.9.31: Peter Pavlovic añadió un mapa de teclado eslovaco y la
   traducción de los mensajes de sistema.
- 
   3.9.31: Manni Heumann corrigió algunos problemas con el mapa de teclado
   alemán.
- 
   3.9.31: Michael Bukin mejoró el control de teclado y ratón bajo X, y
   corrigió algunos problemas con la compilación en sistemas no GNU.
- 
   3.9.31: muchas correcciones y ajustes de varias personas (lo siento, mi
   paciencia tecleando se ha acabado, por lo que no tendrás la lista
   completa :-)
- 
   3.9.31: Peter Wang añadió soporte de entrada para el controlador OSS
   de Linux.
- 
   3.9.31: David Kuhling optimizó el código i386/gcc de fsqrt(), y añadió
   la rutina fhypot().
- 
   3.9.30: corregido el fallo de doble XOR que hacía tan fácil la
   desencriptación de claves de un fichero de datos. El nuevo código todavía
   puede leer ficheros encriptados con el estilo antiguo, pero los datos
   escritos con esta versión no podrán ser accedidos por versiones anteriores
   de Allegro.
- 
   3.9.30: se hizo posible que la sintaxis de fichero.dat#objeto y
   load_datafile() y load_datafile_object() funcionen correctamente en todas
   las posibles combinaciones.
- 
   3.9.30: Vincent Penquerc'h añadió la función scare_mouse_area().
- 
   3.9.30: se cambió el mecanismo de fijación de superficies DirectX para
   mejorar el rendimiento del dibujado acelerado por hardware
- 
   3.9.30: George Foot mejoró el código Linux de control de los LEDs, e hizo
   visible el estado interno del driver X visible vía xalleg.h.
- 
   3.9.30: se añadió la consideración de EINTR en las rutinas de
   lectura/escritura. Espero haber hecho esto correctamente: estaría muy bien
   que alguien experto en estas lides pudiese echar un vistazo a file.c.
- 
   3.9.30: el controlador de ratón ya funciona correctamente bajo Windows en
   modo ventana.
- 
   3.9.30: se corrigieron varios problemas con el cambio primer plano/tarea
   de fondo de Windows (las teclas se quedaban presionadas, los
   temporizadores no se paraban, y no se estaba informando correctamente de
   todos los modos de cambio al programa).
- 
   3.9.30: se hizo que el controlador de teclado liberase todas las teclas
   presionadas al perder el foco de entrada, para evitar que las teclas se
   quedasen atascadas al cambiar de ventana con alt+tab.
- 
   3.9.30: ahora los parámetros del script allegro-lib son compatibles con el
   estándar usado por GTK, ESD, etc, y el script se renombró a
   allegro-config. Esto cambia la sintaxis para enlazar programas Allegro
   bajo Unix: lea los detalles de este nuevo método en readme.uni.
- 
   3.9.30: George Foot mejoró el sistema de bibliotecas compartidas bajo
   Unix.
- 
   3.9.30: Joerg Rueppel añadió la función find_datafile_object().
- 
   3.9.30: Peter Wang mejoró el driver SVGAlib.
- 
   3.9.30: Peter Wang mejoró el driver de joystick para Linux.
- 
   3.9.29: se hizo que el código Windows esté de acuerdo con las otras
   plataformas en el tema de cómo deben comportarse los bitmaps de vídeo.
- 
   3.9.29: se corrigieron algunos problemas con el la ruedecilla del ratón
   en la versión Windows.
- 
   3.9.29: se añadieron las funciones set_write_alpha_blender(),
   set_add_blender() y create_blender_table(), y se hizo que la versión de 32
   bits de draw_trans_sprite() pueda usar imágenes origen de 8 bits junto con
   set_write_alpha_blender(). Aparte de ser útil en general, usar estas
   rutinas reduce la longitud del código fuente de mi programa que compite en
   el SpeedHack :-)
- 
   3.9.29: se añadió un comando uninstall al makefile de Linux.
- 
   3.9.29: ahora el controlador de ratón del servidor X oculta el cursor por
   software Allegro cuando el ratón se mueve fuera de la ventana
- 
   3.9.29: se añadió una emulación simple de vsync() por temporización al
   código para X, para que por ejemplo el juego demo de gusanos funcione
   bien.
- 
   3.9.29: Isaac Cruz añadió un driver GFX_DIRECTX_WIN.
- 
   3.9.29: Keith Gerdes hizo algunas mejoras al driver overlay de DirectX.
- 
   3.9.29: Andrew Geers añadió soporte de scroll al draw_trans_sprite() del
   grabber que visualiza imágenes.
- 
   3.9.29: Peter Wang añadió un driver X DGA alternativo que incluye soporte
   para funcionar a pantalla completa.
- 
   3.9.29: Peter Wang añadió el evento MSG_WHEEL al GUI, e hizo que
   d_list_proc() lo use.
- 
   3.9.29: Lucas Vignoli Reis añadió traducciones de los mensajes y mapa de
   teclado en Portugués (Brasil).
- 
   3.9.29: Peter Wang añadió driver MIDI Linux OSS para sintetizadores de
   música FM y soporte de mezclador al driver digital OSS.
- 
   3.9.29: George Foot añadió scripts para generar diferentes formatos de
   distribuciones Linux.
- 
   3.9.29: Michael Bukin arregló los problemas de portabilidad de quantize.c.
- 
   3.9.29: se añadió un script zipwin.sh. para crear distribuciones binarias
   para Windows, incluyendo un fichero bat que puede generar los programas de
   soporte de MSVC sin tener instalada ninguna herramienta GNU.
- 
   3.9.29: corregido el fallo del color al dibujar una fuente con la versión
   Windows.
- 
   3.9.29: se añadieron versiones aceleradas por hardware de rectfill() y
   hline() a la versión Windows, y se solucionaron algunos fallos con la
   aceleración (las funciones clear no estaban siendo recortadas
   correctamente, y se indicaba poder hacer dibujado XOR a pesar de que ni si
   quiera está soportado).
- 
   3.9.29: Michael Bukin corrigió el fallo de X cuanado se dibujaba sobre un
   sub-bitmap de la pantalla.
- 
   3.9.28: varias actualizaciones de documentación.
- 
   3.9.28: se añadió la autodetección de parámtros al driver Unix OSS.
- 
   3.9.28: ahora es posible llamar recursivamente a la versión Unix de
   for_each_file().
- 
   3.9.28: se añadió la rutina load_datafile_callback().
- 
   3.9.28: se ha racionalizado el uso de las variables de configuración de
   sonido, para que ahora puedan ser compartidas más fácilmente. Por ejemplo
   sb_freq ha cambiado a  sound_freq.
- 
   3.9.28: Antti Koskipaa añadió un driver DOS para las tarjetas WSS (Windows
   Sound System).
- 
   3.9.28: el código de flujo de audio ahora es capaz de mezclar múltiples
   buffers en uno grande, por lo que seguirá funcionando correctamente
   incluso si el usuario provee un buffer más pequeño que el tamaño actual
   de transferencia de la tarjeta. Ahora incluso puede reproducir buffers
   individuales de un byte, ¡siempre y cuando sea capaz de rellenarlos con la
   frecuencia necesaria!
- 
   3.9.28: el código de temporización de Windows es más robusto, por lo que
   no se volverá a bloquear cuando se instalen contadores de alta frecuencia.
- 
   3.9.28: Teijo Hakala añadió soporte de rueda al driver de ratón de
   Windows.
- 
   3.9.28: Peter Wang añadió soporte de rueda al driver de ratón de X.
- 
   3.9.28: Andrew Geers añadió las opciones -ppassword y -nosound al grabber.
- 
   3.9.28: Keith Gerdes arregló el driver en modo overlay de DirectDraw.
- 
   3.9.28: Isaac Cruz corrigió el fallo al dibujar en sub bitmaps de
   superficies DirectDraw con aceleración por hardware.
- 
   3.9.28: Peter Wang añadió soporte para modos gráfjcos con bancos del
   driver SVGAlib.
- 
   3.9.28: Peter Wang corrigió algunos problemas con el driver de sonido ESD,
   y añadió el driver ALSA.
- 
   3.9.28: la velocidad de los fundidos de pantalla ahora está controla por
   temporizadores para evitar problemas con algunos sistemas (ej: DGA cuando
   la profundidad de color es distinta a la ideal) donde pueden ser
   extremadamente lentos.
- 
   3.9.28: se corrigieron varios fallos de desbordamiento que provocaban una
   reducción del rendimiento en sistemas Unix muy cargados.
- 
   3.9.28: ahora el juego demo muestra los créditos de autores.
- 
   3.9.28: se cambió el sistema de instalación de páginas info. Ahora crea un
   fichero dir en el mismo directorio que la página info, en vez de jugar con
   enlaces simbólicos, y se usa autoconf para localizar el programa
   install-info.
- 
   3.9.28: se añadió el script allegro-lib a la instalacióu Unix, el cual
   puede ser ejecutado por ficheros make para obtener la línea de comando
   adecuada para compilar programas con Allegro.
- 
   3.9.28: se añadió salida en formato man a la utilidad makedoc. No funciona
   muy bien con apropos debido a la falta del sumario de una línea para cada
   función, pero el formateo básico parece estar bien: por favor comunicad
   cualquier problema que veáis.
- 
   3.9.28: parches de George Foot para el manejo de la consola Linux, teclado
   y manipulación de ficheros.
- 
   3.9.28: muchas mejoras de Michael Bukin, en particular mejora del
   rendimiento en X, mejor comportamiento del ratón en X y soporte gráfico
   para DGA.
- 
   3.9.27: Robert J. Ragno hizo mejoras en el Wingman, PSX y el código de
   entrada del mando de gases de joystick.
- 
   3.9.27: Peter Wang añadió soporte a la rueda de los ratones al código de
   ratón de Linux (esto aparece como una nueva variable de estado mouse_z).
- 
   3.9.27: Patrick Hogan hizo que los flujos de audio de Windows funcionen
   correctamente.
- 
   3.9.27: Sven Sandberg optimizó las rutinas de splines.
- 
   3.9.27: Tomohiko Sugiura añadió las teclas japonesas KEY_YEN y KEY_YEN2 al
   controlador de teclado.
- 
   3.9.27: Chris Robinson escribió una versión en punto fijo de clip3d_f(),
   llamada (¡sorpresa) clip3d().
- 
   3.9.27: Sven Sandberg mejoró el algoritmo de ordenación del selector de
   ficheros.
- 
   3.9.27: Henrik Stokseth mejoró la detección de SO en la versión Windows.
- 
   3.9.27: Sven Sandberg hizo tablas precalculadas con redondeos más precisos
   para las operaciones trigonométricas en punto fijo.
- 
   3.9.27: George Foot hizo que el driver fbcon reinicie la paleta al salir.
- 
   3.9.27: mucho código nuevo de Michael Bukin para X: ¡esto funciona ahora
   brillantemente!
- 
   3.9.27: se añadió el path de la biblioteca de funciones X al wrapper de
   liballeg.a para Linux. Creo que prefiero la idea de Michael sobre tener
   un script que devuelva esta información, así que en el futuro posiblemente
   cambiemos a este método.
- 
   3.9.27: corregidos varios fallos tanto en la versión C como i386 del
   código RLE de sprites (principalmente relacionado con modos coloreados y
   formatos hicolor).
- 
   3.9.27: se añadieron varias correcciones de la 3.12 para que WARNMODE=1
   compile limpiamente con gcc 2.95.
- 
   3.9.27: Knut Pape mejoró el fichero readme de Mingw32.
- 
   3.9.26: se reescribió el driver de Sidewinder para DOS, tras recibir el
   pad que me mandó powerjaw. Todavía no me funciona en modo DOS, pero si
   bajo Windows, que es mejor que antes y tan bueno como cualquier otro
   código que he podido localizar. Si alguien conoce de algún código que
   funcione mejor que esto, ¡por favor comunicádmelo!
- 
   3.9.26: biestables más flexibles para seleccionar el modo de
   set_color_conversion().
- 
   3.9.26: Robert J. Ragno añadió un driver para dispositivos Gravis GrIP.
- 
   3.9.26: Gorka Olaizola añadió un fichero .spec para paquete RPM de Redhat.
- 
   3.9.26: Stepan Roh actualizó la traducción al Checo y añadió soporte de
   múltiples páginas de códigos a la utilidad textconv, y la función
   ustrtod() que usa Unicode.
- 
   3.9.26: se añadió la función ustrdup() a las funciones Unicode.
- 
   3.9.26: Sven Sandberg optimizó las rutinas matemáticas en punto fijo de
   gcc para que colapsen expresiones constantes durante la compilación.
- 
   3.9.26: Stefan T. Boettner añadió un driver SVGAlib decente para Linux.
- 
   3.9.26: varios cambios de Vincent Penquerc'h (añadió la opción mezclar
   ficheros de datos al grabber, correcciones al GUI, optimizó el cálculo de
   splines y corrigió la versión de 24 bits del código C de dibujado).
- 
   3.9.26: parches para Linux de Michael Bukin que mejoran el driver de
   sonido OSS, el manejo de SIGALRM, y el controlador de teclado X.
- 
   3.9.26: muchos parches para Linux de George Foot (arreglo del controlador
   de ratón, biblioteca compartida y script de configuración y varias otras
   cosas).
- 
   3.9.25: se corrigió pckeys.c para dejar datos útiles en el array key[]
   cuando se emulan las teclas numéricas vs. teclas cursores con numlock.
- 
   3.9.25: corregido un conjunto de problemag con el modo SWITCH_BACKGROUND
   (estúpidamente había olvidado desactivar un montón de funciones gráficas
   que podían hacer cosas malas si eran llamadas cuando la consola de Allegro
   no estaba activa).
- 
   3.9.25: se añadieron las funciones pivot_sprite() y pivot_scaled_sprite()
   (gracias a Matt Jallo por la sugerencia).
- 
   3.9.25: se añadió ustrerror() al soporte estándar de funciones Unicode.
- 
   3.9.25: se corrigió el objeto GUI d_edit_proc() para que maneje el
   movimiento de foco shift+tab correctamente.
- 
   3.9.25: un montón de parches para Linux de George Foot (activación
   correcta de fbcon, diferentes tipos de ratón y soporte para configurarlos
   desde el programa setup, correcciones al soporte de bibliotecas dinámicas,
   exedat ya no destruye los permisos, y posiblemente más cosas que he
   olvidado).
- 
   3.9.24: corregidos los fallos del código de sonido y fbcon Linux (esto es
   más una versión urgente porque no funcionaban en la versión 3.9.23).
- 
   3.9.24: James Arthur escribió algo de documentación para las funciones
   blender truecolor con estilo Photoshop.
- 
   3.9.23: Michael Bukin añadió un controlador de sonido OSS al código Linux,
   y el principio de un controlador ESD.
- 
   3.9.23: muchos parches para Linux de George Foot, incluyendo soporte de
   biblioteca dinámica.
- 
   3.9.23: Ole Laursen hizo que las funciones Unicode utolower() y utoupper()
   entiendan todo el conjunto de caracteres de 16 bits.
- 
   3.9.23: Pavlos Touboulidis hizo que file_select() sea capaz de incluir o
   excluir ficheros basándose en sus atributos.
- 
   3.9.23: el objeto GUI d_check_proc() ahora puede imprimir texto a la
   derecha de la marca, se selecciona con un valor distinto de cero en el
   campo d1.
- 
   3.9.23: cambié de opinión sobre cómo debería funcionar GFX_SAFE, y se
   quitaron los parches que emulaban las diferentes profundidades de color.
   Ahora el driver GFX_SAFE puede cambiar la profundidad de color si no le
   gusta lo que se le pide, y es problema del programador detectar y tratar
   esto.
- 
   3.9.23: corregidos los problemas con el renderizado de polígonos usando
   MMX en la versión MSVC.
- 
   3.9.23: se añadió la opción strictwarn del script de configuración, y se
   corrigió todo lo indicaba. Los avisos no son muy estrictos: en algún
   momento me dedicaré a que compile limpiamente tanto con -W como con
   -Wall -Werror.
- 
   3.9.22: corregidas algunas condiciones de carrera potenciales que
   introduje en mis correcciones previas al código de temporización de
   Windows.
- 
   3.9.22: ahora set_display_switch_callback() es capaz de instalar varias
   funciones de enganche, se añadió la rutina
   remove_display_switch_callback(), y escribí el programa de ejemplo
   exswitch.
- 
   3.9.22: se ajustó la sintaxis del ensamblador en línea de MSVC en un
   intento de evitar los conflictos entre las versiones del compilador.
- 
   3.9.22: un sistema GFX_SAFE más flexible. Además de poder indicar valores
   seguros para cada plataforma, ahora puede pasar ceros en la resolución, y
   si el controlador activa una profundidad de color no solicitada,
   graphics.c enganchará unas rutinas de emulación para que todo funcione
   bien.
- 
   3.9.22: George Foot añadió una función al controlador de teclado para
   convertir scancodes a ASCII (implementado en DOS, Windows, Linux y X).
   Esto es necesario para controlar la combinación alt+tecla correctamente
   cuando se usan mapas de teclado inusuales como el Dvorak.
- 
   3.9.22: parches de George para Linux, mejoran el cambio de consola,
   soporte de biblioteca compartida y otras buenas cosas.
- 
   3.9.22: parche para Windows de Stefan añade muchas cosas geniales,
   incluyendo soporte de ventana.
- 
   3.9.22: Peter Wang hizo funcionar al controlador GGI correctamente.
- 
   3.9.22: Johan Venter hizo algunas mejoras más a los makefiles de RSXNT y
   Mingw32.
- 
   3.9.22: actualización del makefile de Watcom para permitir forzar
   manualmente la detección de la versión 10.6 vs 11.0, en caso de fallo.
- 
   3.9.21: parche para Windows de Stefan, que añade soporte para el nuevo
   sistema de cambio de resolución.
- 
   3.9.21: más parches para BeOS de Jason Wilkins.
- 
   3.9.21: Johan Venter corrigió algunos problemas con los makefiles de
   RSXNT y Mingw32.
- 
   3.9.21: ejecuté "configure --enable-asm=no", y corregí todo lo que no
   funcionaba. En particular había un fallo en modos de dibujado con relleno,
   los sprites RLE no funcionaban, y había olvidado añadir las funciones de
   sprites RGBA en C. A aquellos que les gustan estas cosas les interesará
   saber que los tests consideran el código C de dibujado un 20% más lento
   que hline(), 10% más lento que rectfill(), 50% más lento con blitting, y
   40% más lento con draw_sprite(), lo cual no está nada mal. ¡Incluso es más
   rápido dibujando sprites translúcidos o coloreados! Así que habrá que
   comprobar eso.
- 
   3.9.21: muchos nuevos parches para Linux de George Foot.
- 
   3.9.21: se añadió soporte VBE/AF para Linux.
- 
   3.9.21: se terminó el driver fbcon para Linux.
- 
   3.9.21: se hizo que el cambio de consola bajo Linux funcione de forma más
   completa, con ayuda de las funciones de dispsw.c. El modo en segundo plano
   ahora debería funcionar, pero no está probado.
- 
   3.9.21: Carsten Schmidt añadió un driver GGI para Linux (está algo
   retrasado y no funciona, pero es un buen comienzo en caso de que alguien
   quiera trabajar en él).
- 
   3.9.21: se mejoró el sistema de configuración y compilado bajo Unix. Se
   movieron más cosas a makefile.lst, por lo que ya no hay listas de ficheros
   en ninguna otra parte. Ahora el proceso sabe cómo crear las utilidades de
   ficheros de datos, y convertir la documentación (esto puede causar
   problemas en sistemas que no dispongan de makeinfo: estaría bien que
   alguien que conozca autoconf mejore esto). Se hicieron los drivers VGA de
   Linux (vga y modo-x) configurables.
- 
   3.9.21: se añadió la secuencia ctrl+alt+end para abortar al controlador de
   teclado de Linux.
- 
   3.9.21: cambios en la estructura de directorios: se movió ufile.c
   al directorio misc, para que BeOS pueda compartirlo. Se movieron varios
   scripts de ayuda al directorio misc, incluyendo a cmplog.pl, que compara
   dos ficheros log de rendimiento generados por test.exe.
- 
   3.9.21: el controlador de ratón PS2 para Linux ahora detecta el botón
   central. Se añadió también un factor de escalado para hacerlo más sensible
   en modos SVGA.
- 
   3.9.20: se comenzó a escribir un driver para fbcon bajo Linux. Funciona,
   pero todavía no es capaz de cambiar la resolución.
- 
   3.9.20: parches de Stefan para Windows, añaden control de joystick y los
   comienzos de un driver para modos de vídeo en ventana.
- 
   3.9.20: se movieron todos los listados de ficheros (incluso los
   específicos de cada plataforma) a makefile.lst, para evitar cualquier
   duplicación y tener un lugar centralizado que mencione todos los ficheros
   que usemos.
- 
   3.9.20: se eliminó la función install_lost_bitmap_callback() en favor de
   otra más genérica: set_display_switch_mode(). Se actualizó el código
   Windows para usar estas nuevas rutinas.
- 
   3.9.20: se introdujo un parche de Michael Bukin (añade soporte de ratón).
- 
   3.9.20: Vincent Penquerc'h optimizó el código de blitting de gráficos de
   256 colores a truecolor para evitar repetir conversiones de la paleta de
   colores.
- 
   3.9.20: James Hyman añadió soporte de cadenas entrecomilladas a
   get_config_argv().
- 
   3.9.20: Peter Cech optimizó las rutinas de sprites con canal alfa. Shawn
   las optimizó un poco más al expandirlas en versiones especializadas para
   las profundidades de color más comunes.
- 
   3.9.20: Richard Davies hizo algunas mejoras al driver de pad PSX.
- 
   3.9.20: se añadió un parámetro de driver de sistema a allegro.cfg, y
   rutinas de enganche para que los sistemas Unix busquen los datos de
   configuración en /etc/ y ~/.
- 
   3.9.20: se movió la emulación Posix de findfirst() a libc.c, quitándola de
   autoconf y compilaciones específicas BeOS.
- 
   3.9.20: más parches para BeOS de Jason Wilkins. ¡Las rutinas gráficas ya
   funcionan ahí!
- 
   3.9.20: se mejoró el driver VBE/AF para que sepa que las líneas verticales
   se pueden implementar con un rectfill. Esto permite dibujar líneas
   verticales con patrón de relleno, y dibujar las líneas en hardware que no
   soporte esta rutina acelerada por hardware.
- 
   3.9.20: George Foot realizó mucho trabajo para que la versión Linux modo
   consola funcione de modo realmente convincente.
- 
   3.9.20: las listas de controladores de sonido de Windows ahora son
   generadas dinámicamente en base a los dispositivos existentes, para que se
   pueda seleccionar cuál usar.
- 
   3.9.19: escribí la primera partelde la Guía del Hacker de Allegro, mi
   (probablemente futil :-) intento de documentar al menos las partes más
   delicadas del código de Allegro.
- 
   3.9.19: finalmente documenté las funciones Unicode.
- 
   3.9.19: más parches para BeOS de Jason Wilkins.
- 
   3.9.19: Michael Bukin realizó algunos cambios más al código X (los
   temporizadores ahora estan implementados), y añadió una implementación
   completa (?) en C del código de dibujado. Máquinas no-Intel, ¡aquí
   venimos! Si define ALLEGRO_USE_C antes de compilar la biblioteca para
   djgpp, podrá probar una versión en C puro de test.exe, el juego demo, etc.
- 
   3.9.19: se añadió el script findtext.sh, que escanea el código fuente y
   crea una lista de todas las cadenas disponibles para traducir. También
   puede comparar esta lista contra un fichero de traducción ya existente,
   para ver si se han añadido nuevos mensajes.
- 
   3.9.19: Stepan Roh actualizó el mapa de teclado checo para que soporte
   Unicode, añadió a keyconf soporte para usar fuentes no estandar, y añadió
   los carácteres Latin Extended-A (de U+0100 a U+017F) a la fuente por
   defecto.
- 
   3.9.19: Grzegorz Adam Hankiewicz actualizó la traducción al español con
   cadenas en formato UTF-8 (propiamente acentuadas). Se ordenó la fuente
   del programa setup a Latin-1 para que sea mostrada correctamente. Se
   corrigió el fallo de dat2s, que convertía incorrectamente la fuente
   resultante de múltiples rangos.
- 
   3.9.19: Chris La Mantia realizó cambios cosméticos al objeto GUI
   d_slider_proc().
- 
   3.9.19: Richard Davies añadió soporte para pads de la N64.
- 
   3.9.19: añadí keyboard_ucallback() (me olvidé de esta al añadir el
   soporte Unicode).
- 
   3.9.19: se hicieron algunos cambios a setup.c para que pueda ser incluído
   dentro de otros programas (gracias a Grzegorz Adam Hankiewicz por la
   sugerencia).
- 
   3.9.18: se añadió soporte para imágenes RGBA de 32 bits. Ahora puede leer
   imágenes TGA con canal alpha desde el grabber, o puede importar una imagen
   normal y luego el canal alpha desde un bitmap en escala de grises. Puede
   salvar estos canales alpha como parte de un fichero de datos, llamar la
   función makeacol(r, g, b, a), y más importante aún, llamar a
   set_alpha_blender() y luego draw_trans_sprite() para mostrarlos. Compruebe
   exalpha.c. Hay bastantes posibilidades de optimizar las versiones de 15,
   16 y 24 bits de _blender_alpha*(), en caso de que alguien quiera mejorar
   esto. Creo que sería beneficioso escribir versiones específicas para cada
   profundidad de color y quedarnos con la versión genérica actual como
   versión de seguridad.
- 
   3.9.18: más parches Unix de Michael Bukin. Ahora todo compila sin
   problemas, a pesar de que todavía no haga nada interesante.
- 
   3.9.18: Jason Wilkins contribuyó los comienzos de un port para BeOS
   (todavía no es funcional, pero compila).
- 
   3.9.18: Revin Guillen añadió la función position_dialog().
- 
   3.9.18: mejoras de portabilidad: se cambió el makefile para que sea
   generado, el cual normalmente incluye makefile.all, pero puede ser
   completamente reemplazado por autoconf, y se movieron las emulaciones
   de las funciones libc a código fuente compartido.
- 
   3.9.18: numerosas correcciones.
- 
   3.9.17: Burton Radons cambió las funciones truecolor de pixel blending
   para que usen una función callback en vez de la tabla previa. Esto puede
   romper la compatibilidad con código antiguo, pero debería resultar
   eternamente compatible y el nuevo método es mucho más flexible. También
   añadió un conjunto completo de funciones blender, incluyendo modos
   Photoshop como quemar, diferencia, luminosidad, etc.
- 
   3.9.17: Richard Davies añadió soporte para joypads PSX.
- 
   3.9.17: corregido el fallo de dat2s al manejar imágenes truecolor.
- 
   3.9.17: Jason Wilkins mejoró las rutinas matemáticas de cuaterniones, y
   añadió algo de documentación sobre ellos.
- 
   3.9.17: Neil Townsend añadió parámetros callback a los controladores de
   temporización.
- 
   3.9.17: Gunter Ladwig añadió emulación del tercer botón del ratón, que
   puede ser activada mediante el fichero de configuración (por defecto está
   activado si tiene un ratón de dos botones.
- 
   3.9.16: se aplicaron algunos parches de Michael Bukin, que añaden un
   sistema base de compilación Unix. Sin embargo todavía no funciona :-)
- 
   3.9.16: se incluyó nuevo código de Stefan. Ahora funcionan más cosas
   geniales de la versión Windows, ej: aceleración por hardware, triple
   buffering, sonido...
- 
   3.9.16: se añadió un ejemplo sobre cómo escribir un salvapantallas para
   Windows usando Allegro. Si alguien sabe cómo hacer que aparezca un nombre
   representativo en el diálogo de selección de Windows, ¡por favor dígamelo!
   (he creado la tabla de cadenas según MSDN es necesaria, pero no funciona).
- 
   3.9.16: Andy Goth añadió el objeto de diálogo d_text_list_proc(), que le
   permite alterar la selección tecleando los primeros caracteres de una
   entrada de la lista.
- 
   3.9.16: Ole Laursen actualizó la traducción danesa de los mensajes.
- 
   3.9.16: Calvin French añadió el parámetro -w (siempre actualizar) al
   programa dat.exe.
- 
   3.9.16: Joerg Rueppel añadió al dat.exe una comparación de caracteres más
   flexible para los nombres de los objetos.
- 
   3.9.16: se añadieron los biestables GFX_HW_SYS_TO_VRAM_BLIT y
   GFX_HW_SYS_TO_VRAM_BLIT_MASKED, y funciones de blitting más flexibles a la
   vtable.
- 
   3.9.16: se añadieron los métodos lock_voice() y unlock_voice() al driver
   de sonido digital, para implementar los flujos de audio bajo Windows.
- 
   3.9.16: ahora _handle_timer_tick() devuelve el espacio deseado hasta la
   siguiente interrupción.
- 
   3.9.15: Michael Rickmann añadió un port a Mingw32. Este funciona
   actualmente como la versión RSXNT, usando MSVC para construir la DLL, pero
   se convertirá en un port completo cuando el núcleo del código Windows se
   estabilice un poco.
- 
   3.9.15: Vincent Penquerc'h añadió la bandera D_DIRTY a los objetos GUI, y
   yo lo extendí con un nuevo código de retorno D_REDRAWME para los
   controladores.
- 
   3.9.15: se cambió la sintaxis de la función callback de
   create_color_table(). Esto rompe la API, pero es la única forma de hacer
   que funcione con las diferentes convenciones de llamada de los
   compiladores.
- 
   3.9.15: se añadieron a la estructura vtable ganchos para crear sub
   bitmaps (para que el bitmap pueda saber cuándo es clonado).
- 
   3.9.15: "make install" es ahora un comando separado, no ejecutado
   automáticamente. Esto significa que debe ejecutar "make" y "make install"
   como dos operaciones separadas, o si quiere las tres versiones de la
   biblioteca, "make all" y entonces "make installall".
- 
   3.9.15: se añadió la macro END_OF_MAIN(), la cual hace funcionar la magia
   de WinMain() correctamente en cualquier combinación de código C y C++.
- 
   3.9.15: Olly Betts modificó el makefile de djgpp para soportar compilación
   cruzada desde una máquina Linux.
- 
   3.9.15: Andy Goth añadió un modo VGA modificado de 256x256.
- 
   3.9.15: actualización mayor de la documentación (de ahora en adelante iré
   añadiendo un número de versión a cada comentario de este fichero).
- 
   Se incluyó el nuevo código de Stefan. La versión Windows se acerca cada
   vez más a estar completa, incluyendo soporte para ratón y bitmaps de
   vídeo, aunque el código de ratón todavía no me funciona correctamente.
- 
   Se reescribió fix_filename_path() para evitar llamar a _fixpath(). La
   nueva versión es más portable, aunque cosas como leer el directorio
   actual a través de múltiples unidades necesitan ajustes para funcionar
   con diferentes compiladores.
- 
   Corregidas varias cosas que impedían funcionar la versión Watcom. Ahora
   se ejecuta todo sin problemas, ¡incluyendo joyas como exdodgy y la opción
   shell edit del grabber! Según test.exe, gcc 2.8.1 es un 10% más rápido
   que Watcom 10.6 para la mayoría de las cosas, aunque por alguna razón
   textout() es el doble de rápido en la versión Watcom.
- 
   Se corrigieron varias cosas para que funcione la versión RSXNT. Ahora
   todos los tests y ejemplos compilan con RSXNT, y funcionan de forma
   idéntica a los originales de MSVC.
- 
   Se añadieron las rutinas matemáticas de cuaterniones de Jason Wilkins.
- 
   Andy Goth añadió un soporte más flexible a la configuración de gfx_card.
- 
   Se añadió la función masked_stretch_blit() (cambio trivial, el código
   podía hacerlo, pero faltaba el punto de entrada de la API.
- 
   Se añadieron las rutinas Windows GDI por Marian Dvorsky.
- 
   Se añadió un poll de DMA al driver de la Soundscape, para asegurarnos de
   que nunca perderá la sincronización durante la transferencia.
- 
   Incluí varias cosas que han estado cogiendo polvo en mi disco duro durante
   décadas (traducciones suecas y noruegas, varios parches de Michael Bukin,
   nuevo código de generación de paletas por Michal Mertl, y correcciones al
   driver Soundscape por Andreas Kluge).
- 
   Grabber ahora reconoce y manipula fuentes Unicode.
- 
   Ahora se pasa atexit() como parámetro a install_allegro(), para evitar
   problemas con la desinicialización de la DLL.
- 
   Se hizo que el reproductor FLIC active las variables "sucias" cuando se
   limpia el bitmap en un punto de comienzo/loop (esto hacía que a veces no
   se limpiase el contenido previo de la pantalla).
- 
   Se corrigieron varios fallos en el grabber.
- 
   Se cambiaron las utilidades de ficheros de datos para que enlacen con
   datedit y las rutinas plugin como una librería. Esto le hace la vida más
   fácil a terceros que quieran usar esas rutinas (duplicar el enlazado de
   plugins no es muy divertido).
- 
   Se reemplazaron las referencias errno con el puntero allegro_errno, para
   evitar problemas con múltiples versiones al enlazar con la DLL. ¡La
   versión MSVC de dat ahora funciona perfectamente!
- 
   Se añadió el driver system_none para herramientas de línea de comando o
   otra situaciones neutrales.
- 
   Hice una nueva animación para la demo. ¡Mi primer render con Max!
- 
   Se incluyeron parches para Windows de Stefan. ¡Whoah! Esto es genial.
   Funciona (más o menos :-) en dos plataformas. Ahora puedo morir feliz...
- 
   El selector de ficheros ahora se ajusta a plataformas sin listado de
   directorio (ej: Unix).
- 
   Se añadió la paleta global default_palette (la normal de la BIOS IBM), y
   set_gfx_mode() la selecciona.
- 
   Se modificó el driver DIGMID para evitar usar enteros de 64 bits o coma
   flotante dentro de la interrupción.
- 
   Se añadieron las rutinas de depuración ASSERT() y TRACE(), y montones de
   aserciones a lo largo del código de la biblioteca.
- 
   El formato de pixel por defecto en modos truecolor antes de activar el
   modo de vídeo es BGR en vez de RGB. Esto debería mostrar los fallos en el
   soporte BGR y capturar los errores donde la gente esté cargando gráficos
   antes de ajustar el modo de vídeo.
- 
   Corregido el fallo de detección de desbordamiento en fmul().
- 
   Reescribí gpro.c y sw.c para evitar usar ensamblador en línea. El código
   SW es muy feo (traducción literal de la rutina en ensamblador), pero estoy
   dispuesto a mejorarlo si recibo respuesta de alguien que lo pruebe. Si
   tiene un Gamepad Pro o un Sidewinder, y era capaz de usarlo con Allegro
   3.11, estoy _realmente_ interesado en oír si esta nueva versión funciona o
   no...
- 
   Numerosos cambios para hacer los programas de soporte más portables.
- 
   Se añadió la función get_executable_name().
- 
   El fichero sound.cfg ya no está soportado. Use allegro.cfg en su lugar.
- 
   Se añadieron versiones de las funciones inline _putpixel() y _getpixel()
   para todas las profundidades de color.
- 
   La función check_cpu() ahora es llamada automáticamente por
   allegro_init().
- 
   Se añadieron objetos bitmap de sistema, que existen en la memoria ram pero
   son accedidos de forma similar a las superficies en memoria de vídeo (esto
   puede mejorar la aceleración por hardware en algunas plataformas).
- 
   Se añadieron las funciones enable_triple_buffer(),
   timer_can_simulate_retrace(), y timer_is_using_retrace(). Esto permite a
   los programas manejar correctamente la interrelación entre triple
   buffering, el modo de sincronización con el retrazo, y el SO actual, sin
   tener que incluir código específico del DOS.
- 
   Las rutinas GUI ahora llaman apropiadamente las funciones de polling y
   hacen acquire/release de la pantalla cuando es apropiado.
- 
   Corregido un verdadero error show-stopping que provocaba cuelgues del
   VBE/AF en algunas máquinas (llamar funciones del driver con el selector de
   memoria segmentada %es).
- 
   Se añadió la función allegro_message().
- 
   Se añadieron rutinas tontas de cambio de banco que pueden emular acceso
   lineal a una pantalla en modo-X, aunque de forma lenta. El único resultado
   práctico de esto es que las rutinas de polígonos ahora funcionan en
   modo-X, pero ayuda a hacer las cosas más robustas en general (si una
   rutina no sabe nada sobre el modo-X, ahora se ejecutará más lentamente de
   lo normal, en vez de no funcionar en absoluto).
- 
   Los drivers SB, Adlib, y joystick estándar tienen una instancia propia
   para cada variante de hardware, en vez de un solo driver que pretendía
   existir bajo múltiples códigos de identificación.
- 
   Se reescribió el polling de joystick para evitar código ensamblador en
   línea.
- 
   Se convirtieron los ficheros de traducción al formato UTF-8. Estos pueden
   usar ahora cualquier carácter Unicode, por lo que las vocales acentuadas,
   etc, pueden ser usadas sin problemas.
- 
   Los scancodes se han convertido de un formato dependiente del hardware a
   una codificación abstracta específica de Allegro. Esto simplifica mucho el
   código y evita problemas cuando dos teclas diferentes generan el mismo
   scancode.
- 
   Se añadió la función genérica find_allegro_resource(), la cual elimina un
   montón de código duplicado de config.c, digmid.c, y pckeys.c.
- 
   El módulo de temporización ahora se auto instala cuando alguien intenta
   usarlo.
- 
   Las funciones de teclado ahora pueden alterar la velocidad de repetición.
- 
   Port a Watcom.
- 
   Se añadió la ID especial del driver GFX_SAFE.
- 
   Ahora se usa VDS para detectar win95 incluso cuando se está ocultando.
- 
   Se añadió fixver.sh para parchear números de versiones y fechas al lanzar
   una nueva versión (requiere bash, fileutils, shutils, etc, para ejecutarse
   bajo DOS).
- 
   Se añadió zipup.sh para crear ficheros zip y diff de distribución, el cual
   limpia automáticamente el árbol de directorios (ej: pregenera los ficheros
   de dependencia para todos los compiladores soportados).
- 
   Se añadieron funciones poll de entrada.
- 
   Restructuración importante del código, se añadieron drivers de sistema,
   nuevo código para tratar la entrada del usuario, temporizadores,
   conversión de scancodes de teclado, acceso a ficheros, etc.
- 
   Se añadió soporte completo de textos Unicode, incluyendo funciones para
   manipular cadenas, un nuevo formato para las fuentes, la utilidad
   textconv, un nuevo mensaje GUI MSG_UCHAR, y una función ureadkey().
- 
   Se añadieron fuentes monocromas de tamaño variable, reemplazando el
   antiguo formato fijo 8x8. Como resultado, el biestable
   GFX_HW_TEXTOUT_FIXED ha sido renombrado a GFX_HW_GLYPH.
- 
   Nuevo sistema para acceder a la memoria de vídeo, usando bmp_select(),
   bmp_write*(), y bmp_unwrite_line(). Esto es equivalente a las funciones
   farptr de djgpp, pero portables a diferentes plataformas.
- 
   Reorganización drástica de la estructura de directorios, el sistema de
   ficheros make, etc.
- 
   Se mejoró la utilidad makedoc para simplificar la tarea de añadir enlaces
   y direcciones de email a la documentación.
- 
   Se añadió un parche para que el código VESA funcione con drivers Trio64 S3
   estropeados.
- 
   Se quitó el código de detección del procesador 386DX vs. 386SX (a veces
   cascaba).
- 
   Se corrigieron algunas incompatibilidades con gcc 2.95. Esta versión es en
   el resto idéntica a la versión 3.11.
- 
   Se limpiaron algunos sitios donde la memoria no era liberada durante el
   cierre del sistema. Un detalle cosmético, ya que el SO la liberará por
   nosotros, pero es bueno hacer todas estas cosas bien.
- 
   Alessandro Monopoli tradujo al Italiano los mensajes de sistema.
- 
   Henrik Stokseth añadió código para distinguir entre win95 y win98.
- 
   Se ha quitado a Creative Labs del fichero THANKS, debido a su negativa de
   proporcionar documentación sobre la tarjeta SB Live.
- 
   Se cambió el nombre de la biblioteca de funciones. Después de años
   pensando que Allegro era una palabra sin un sentido particular, descubrí
   que de hecho es un acrónimo recursivo de "Allegro Low Level Game
   Routines".
- 
   Se estableción una nueva lista de correo (conductors@canvaslink.com) para
   las personas que trabajan en Allegro. Por favor, mande sus contribuciones
   de código a esta lista en vez de a mí directamente (Shawn Hargreaves),
   porque esto permitirá que el desarrollo de Allegro continúe aun cuando no
   esté por aquí o esté ocupado con otra cosa en el momento.
- 
   Andreas Kluge escribió un controlador para las tarjetas Ensoniq
   Soundscape.
- 
   Más localización: traducción de los mensajes de sistema al sueco por Sven
   Sandberg, Anton Ragnarsson y Erik Sandberg, traducción de los mensajes de
   sistema al finlandés por Antti Haapala, y traducción de los mensajes de
   sistema y mapa de teclado rusos por Dmitriy Kazimirow.
- 
   La función midi_out() ahora actualiza correctamente el estado de los
   controladores de pan/volumen/bend.
- 
   Kester Maddock añadió un controlador para el joystick Wingman Warrior.
- 
   Se solucionaron algunos problemas con los controladores del Sidewinder,
   Gamepad Pro y joypad SNES.
- 
   Se cambió el controlador de la SB16 para que use un modo de salida de 16
   bits con signo, en lugar del antiguo formato sin signo. Esperemos que
   esto mejore la compatibilidad con las copias baratas de hardware.
- 
   Se añadió el parámetro de entorno WARNMODE al makefile. Los
   desarrolladores de Allegro deberían usarlo para recibir mensajes de aviso
   más estrictos, pero será desactivado por defecto para que las versiones
   de distribución sean más permisivas respecto a diferentes versiones de
   compilador/biblioteca libc.
- 
   Solucionado el problema al leer las posiciones arriba e izquierda en
   joysticks digitales.
- 
   Solucionado (creo, todavía espero información detallada sobre esto :-) el
   problema con los temporizadores corriendo muy rápido en algunas placas
   madre.
- 
   Solucionado el fallo estúpido cuando get_align_matrix() no se preocupaba
   de poner ceros en el vector de translación.
- 
   Solucionado el fallo de los sprites rotados que aparecían invertidos en
   modo-X y modos hi/truecolor.
- 
   Solucionado el fallo de la utilidad dat que truncaba los nombres largos
   al formato 8.3.
- 
   Se renombró el fichero ChangeLog a CHANGES, para evitar problemas en
   sistemas 8.3.
- 
   Varias otras correcciones menores.
- 
   Cambios entre la beta 3.1 y versión final: varios fallos corregidos,
   Antoine Mathys añadió un mapa de teclado suizo, Thomas Wolf añadió una
   traducción alemana del sistema de mensajes.
- 
   Cambios entre las versiones 3.1 alpha y beta: varios fallos corregidos,
   las rutinas FLIC ahora pueden leer de ficheros de datos, se incluyeron
   las optimizaciones para rotar sprites por Ivan Baldo.
- 
   Peter Cech añadió soporte para cambiar mediante una combinación de teclas
   entre el mapa de teclado americano y el mapa de teclado personalizado.
- 
   Neil Townsend mejoró la precisión de las rutinas de temporización.
- 
   Se añadió el programa de ejemplo exlights, que enseña un modo para hacer
   efectos de luz coloreada en modo hicolor (y también porque hace que el
   número total de ejemplos sea un bonito número redondo :-)
- 
   Se añadió el programa test afinfo, que hace lo mismo que vesainfo pero
   para los controladores VBE/AF.
- 
   Michael Bukin hizo muchos parches de portabilidad y corrigió algunos
   fallos, incluyendo algunas mejoras al reproductor de ficheros FLIC y un
   sistema de manejo de ficheros más racional.
- 
   Se quitaron los controladores de chips específicos de SVGA de la
   distribución principal de la biblioteca. En su lugar, estos controladores
   estarán disponibles tanto como un paquete adicional como parte del
   proyecto FreeBE/AF.
- 
   Se añadió el soporte de extensión FreeBE/AF al controlador VBE/AF de
   Allegro (acceso farptr a la memoria de vídeo, y las exportaciones libc y
   pmode necesarias para futura compatibilidad con los controladores SciTech
   Nucleus).
- 
   Se corrigió un fallo con la función vline translúcida y dibujo con patrón
   en las profundidades de color de 15 bits.
- 
   Se corrigió un puntero NULL en las rutinas de configuración.
- 
   Se corrigió un error en el órden de proceso que causaba que los datos se
   perdiesen al llamar a set_config_file() con el mismo nombre de fichero
   que el fichero de configuración actual.
- 
   Stepan Roh añadió una traducción de los mensajes de sistema en
   Checoslovaco.
- 
   Ole Laursen añadió una traducción de los mensajes de sistema en Danés.
- 
   Grzegorz Ludorowski hizo una nueva animación introductoria para la demo.
- 
   Calin Andrian añadió rutinas de conrtrol de rendimiento de polígonos 3d
   al programa test.exe.
- 
   Peter Cech añadió al grabber soporte para la fuente 8x8 de la BIOS.
- 
   Stepan Roh añadió un mapa de teclado checoslovaco.
- 
   Se renombró el fichero de traducción español de SP a ES.
- 
   Calin Andrian añadió un conjunto completo de rutinas de renderización de
   polígonos truecolor, con soporte para optimizaciones MMX y 3DNow! y un
   nuevo modo de dibujo, junto con una nueva función de recorte de
   polígonos. Un cambio menor es que ahora el modo POLYTYPE_FLAT está
   implementado con llamadas a hline(), por lo que responderá al ajuste
   actual de drawing_mode().
- 
   Se cambiaron los números ID de controladores de gráficos/sonido/joysticks
   a una lista con cadenas descriptivas de 4 caracteres, para que sea más
   legible y flexible. Se añadrieron funciones de configuración para
   leer/escribir datos en este formato. Los datos de configuración de sonido
   son compatibles con los viejos, pero tendrá que actualizar manualmente
   cualquier número de controlador gráfico o de joystick que esté almacenado
   en su fichero de configuración.
- 
   Michael Bukin contribuyó _un montón_ de parches para mejorar la
   portabilidad y robustez de prácticamente toda la biblioteca. El único
   cambio visible externamente es que las macros usadas para declarar listas
   de controladores han sido rediseñadas a una sintáxis más portable, a
   pesar de que la antigua sigue estando disponible como una macro de
   compatibilidad.
- 
   Burton Radons hizo más optimizaciones de la función de fundido truecolor
   de pixels.
- 
   Martijn Versteegh añadió un mecanismo de enganche para extender el
   sistema de configuración, que puede ser usado para proveer información
   extendida sobre el estado del sistema o para rutinas personalizadas para
   paquetes añadidos.
- 
   Se rediseñaron las utilidades grabber y dat para soportar módulos
   "plugin" de código fuente, que pueden ser usados para extender el sistema
   con tipos de objetos adicionales, rutinas importar/exportar, y comandos
   de menú.
- 
   Ivan Baldo añadió una opción de difuminado a las rutinas de conversión de
   color de 15/16 bits.
- 
   Kerry High añadió un controlador para el pad de la SNES.
- 
   Se añadió un parámetro a los objetos GUI d_text_proc() y d_ctext_proc(),
   para que usen una fuente personalizada apuntada por el campo dp2.
- 
   Michael Tanczos solucionó algunos fallos en el reproductor de ficheros
   FLIC.
- 
   Cloud Wu optimizó las funciones de fundido de pixels truecolor.
- 
   Paul Pinault añadió una traducción francesa al sistema de mensajes de
   error.
- 
   Grzegorz Adam Hankiewicz añadió una traducción española al sistema de
   mensajes de error, y añadió un nuevo (pero no documentado :-) parámetro
   de línea de comando al juego demo.
- 
   Se solucionaron los clicks en la mezcla interpolada de samples.
- 
   Se solucionó un fallo en el que position_mouse() no actualizaba la
   variable mouse_pos.
- 
   Se solucionó un fallo de scroll horizontal en modo-X mientras el
   temporizador que simula el retrazo estaba activo.
- 
   Se añadió un fichero language.dat, que puede ser usado para proveer
   versiones traducidas de textos de sistema (ej: mensajes de error), de un
   modo similar al existente keyboard.dat. Si quiere usar este mecanismo
   para su propio código, sustuya sus cadenas constantes con llamadas a
   get_config_text("texto"). Esto permitirá que sean traducidas incluyendo
   una línea al estilo "texto=textotraducido" en la sección relevante de
   language.dat.
- 
   Se añadió un campo de nombre ASCII a los ficheros de mapas de teclado,
   para hacer el programa setup algo más amistoso.
- 
   Se incrementó el número máximo de canales de sonido de 32 a 64.
- 
   Se modificó el cargador de parches DIGMID para soportar samples de 16
   bits, para evitar la reducción automática a 8 bits.
- 
   Se añadió una opción de interpolación al mezclador de sonido (quality=2).
- 
   Salvador Eduardo Tropea añadió soporte real de 16 bits al mezclador de
   sonido (quality=1).
- 
   Lee Killough añadió una rutina de bajo nivel al controlador de teclado.
- 
   Se quitó el código en coma flotante del controlador DIGMID para evitar
   potenciales sobrecargas de la pila de la FPU.
- 
   Jim Flynn quitó los cálculos en coma flotante del controlador MIDI AWE32
   (éstos aveces podían producir sobrecargas de pila).
- 
   Salvador Eduardo Tropea mejoró el sustema de ficheros de datos para
   evitar enlazar código no usado.
- 
   Romano Signorelli contribuyó la función Bresenham de dibuado de arcos.
- 
   Thomas Wolf corrigió unos errores del mapa de teclado Alemán.
- 
   Grzegorz Adam Hankiewicz mejoró el ejemplo excolmap.
- 
   Sven Sandberg optimizó las rutinas trigonométricas de punto fijo.
- 
   Solucionados algunos fallos estúpidos del código de joystick.
- 
   Se añadió la opción "compress" al makefile, basada en una sugerencia de
   Grzegorz Adam Hankiewicz.
- 
   Se añadieron funciones vacías aquire/release bitmap a allegro.h para
   mantener la compatibilidad con la versión Windows.
- 
   Se añadieron referencias cruzadas al formato Info de la documentación.
- 
   Martin Fuller arregló un fallo muy obscuro en la lectura de ficheros .bmp
   comprimidos.
- 
   El controlador de señal de salida de emergencia ahora recupera
   correctamente el controlador previo, en vez de resetear la acción por
   defecto.
- 
   Sven Sandberg optimizó la función create_light_table().
- 
   George Foot corrigió un fallo cuando la rutina get_mouse_mickeys() era
   llamada siendo ambos parámetros la misma variable.
- 
   Se cambió el término de licencia de "swapware" a "giftware". Mire la web
   de Allegro para leer una explicación de este cambio.
- 
   Se añadieron aun más operadores (esta vez de tipo long y double) a la
   clase fija.
- 
   Marius Fodor añadió soporte para el Sidewinder y el Gravis Gamepad Pro.
   ¡Lo siento por haber tardado tanto en incluir este código!
- 
   Stefan Schimanski optimizó la rutina de blit invertido (para imágenes que
   se sobreescriben)
- 
   Se añadió a las rutinas GUI el movimiento hacia atrás del foco con las
   teclas shift+tab.
- 
   Grzegorz Adam Hankiewicz añadió un nuevo ejemplo que enseña cómo crear y
   usar una tabla de mapeado de color propia.
- 
   Se reescribió el sistema joystick (mejor API y nueva estructura driver).
- 
   Modificada la clase fija para que funcione bien con gcc 2.8.0.
- 
   Añadido el fichero help.txt "cómo conseguir soporte técnico".
- 
   La variable midi_pos ahora es negada, en vez de ajustada a -1, al final
   del fichero MIDI. Esto puede usarse para medir el tamaño del fichero.
- 
   Se añadió un gancho de render a la estructura font, para uso de los
   addons de texto.
- 
   Se mejoró la rutina VBE/AF de salida de texto.
- 
   Corregido el error en el cual el driver VBE/AF interpretaba colores de
   cursores hardware.
- 
   Pedro Cardoso contribuyó un modo trucado VGA 80x80.
- 
   El driver VBE/AF ahora soporta tanto drivers tontos con framebuffer como
   drivers acelerados.
- 
   Se añadió más soporte de aceleración al driver VBE/AF (cursores hardware,
   líneas, líneas verticales, triángulos, salida de texto de ancho fijo, y
   blits opacos/enmascarados desde memoria de sistema a la pantalla).
- 
   Se añadió la función scare_mouse(), basada en ideas de Martijn Versteegh.
- 
   Grabber ahora almacena el estado del diálogo "grab from grid" en
   allegro.cfg.
- 
   Sven Sandberg solucionó un problema con los anchos de save_bitmap() que
   eran redondeados hacia arriba.
- 
   La bandera _timer_installed es ahora globalmente visible.
- 
   Ove Kaaven añadió soporte de framebuffer lineal al driver nativo mach64.
- 
   Erik Sandberg optimizó las funciones draw_sprite() y draw_trans_sprite()
   de 8 bits.
- 
   Michal Mertl solucionó un agujero de memoria en la función
   generate_optimized_palette()
- 
   Se añadió la definición ALLEGRO_DATE a allegro.h.
- 
   Michael Bukin optimizó la rutina de dibujado de líneas y solucionó el
   problema de las funciones fadd()/fsub() inline en ensamblador.
- 
   Solucionados los problemas potenciales causados por la diferencia de
   tiempo entre las variables de estado del ratón y el puntero que estaba
   siendo redibujado.
- 
   Michal Mertl optimizó el código de área de recorte para las líneas,
   rectángulos y círculos.
- 
   Maiolino Carmelo contribuyó un mapa de teclado Italiano.
- 
   Solucionados los bloqueos causados por las funciones de LED del teclado
   en algunas plataformas/hardware.
- 
   Se añadieron las funciones nuevas create_video_bitmap() y
   show_video_bitmap().
- 
   Se añadió una opción para medir la velocidad en el programa test.
- 
   El controlador de teclado ahora actualiza correctamente el estado de las
   teclas control y alt en la BIOS cuando se cierra.
- 
   Solucionado un problema que evitaba que el driver DIGMID leyese patches
   almacenados en ficheros de datos añadidos a ficheros ejecutables.
- 
   Cambiada la prioridad por defecto de los samples de 255 a 128.
- 
   Solucionados algunos problemas con tamaños virtuales de pantalla en el
   driver VBE/AF.
- 
   Añadidos dos ejemplos nuevos.
- 
   El driver VBE/AF ahora tiene soporte total para dibujado acelerado por
   hardware.
- 
   Añadido soporte VBE 3.0, incluyendo las nuevas rutinas de triple buffer.
- 
   Se escribió una rutina para seleccionar la entrada de sonido (micrófono,
   línea o CD).
- 
   Se añadió soporte decente para samples estéreo. Esto requería un
   parámetro extra a la función play_audio_stren(), por lo que tendrás que
   cambiar todos los programas que usen esto. ¡Lo siento mucho por romper tu
   código antiguo!
- 
   Solucionados los fallos de autodetección de la SB16 y la grabación de
   samples a 16 bits.
- 
   Añadido soporte a la interfaz de driver bruto SB MIDI.
- 
   Se escribió un nuevo programa de test que demuestra las características
   de entrada de audio.
- 
   Ove Kaaven añadió soporte de entrada de audio (samples) y MIDI.
- 
   La función pack_fopen() ahora entiende los ficheros de datos anidados
   como estructuras de directorio, usando nombres de fichero como
   "graphics.dat#level1/sprites/zdurgle".
- 
   Charles Mac Donald me enseñó cómo activar el modo VGA 160x120, y
   resoluciones de modo-X 400x* de más confianza.
- 
   Guilherme Silveira y Theuzifan Sumachingun modificaron ambos
   independientemente el seleccionador de ficheros para que enseñase sólo
   letras de unidades válidas.
- 
   Carsten Sorensen añadió un driver para la tarjeta de sonido ESS
   AudioDrive.
- 
   Przemek Podsiadly añadió versiones hicolor de las rutinas de polígonos
   3d.
- 
   Ove Kaaven añadió soporte truecolor al driver nativo ATI mach64.
- 
   Patrick Hogan añadió una función draw_goraud_sprite().
- 
   Ben Chauveau añadió el driver para tarjetas Tseng ET6000.
- 
   Marco Campinoti añadió soporte truecolor al driver nativo Tseng ET4000.
- 
   Marco Marmulla añadió soporte de 16 bits a la rutina load_voc().
- 
   Se añadieron mapas de teclado Daneses, Suecos y Noruegos.
- 
   Se añadió un gancho a las funciones GUI para escalar u offsetting la
   posición del ratón.
- 
   Se solucionó un fallo que causaba un bloqueo cuando llamabas
   set_leds(-1).
- 
   Michael Bevin optimizó la función create_trans_table().
- 
   Ahora es posible enseñar un puntero de ratón sin tener que instalar el
   controlador de ratón.
- 
   Se añadió la función create_sample().
- 
   Se hizo que las funciones de fundido _blender_map y las banderas
   _mouse_installed, _keyboard_installed, y _sound_installed sean visibles
   globalmente.
- 
   Se añadió un modo joystick de 8 botones.
- 
   Chris La Mantia solucionó un problema visual menor de d_icon_proc().
- 
   Se añadió el formato de texto enriquecido (.rtf) a la documentación.
- 
   Se añadieron operadores de incremento/decremento postfix a la clase fija
   de C++, y el operador de negación unary es ahora correcto.
- 
   La utilidad pat2dat ahora puede importar instrumentos de ficheros
   SoundFont de la AWE32.
- 
   Optimizado el cargador de patches DIGMID y corregidos varios fallos.
- 
   Ove Kaaven corrigió el driver de la ATI Mach64.
- 
   El fichero de configuración ahora puede mencionar varios drivers de video
   posibles, usando líneas de la forma gfx_driver=x, gfx_driver2=x, etc.
- 
   Mejoradas las funciones de ayuda del controlador nativo SVGA, haciendo
   más fácil el añadir soporte truecolor a los drivers de nivel de registro.
- 
   Hacer doble click en un objeto de fuente en el grabber the permite ahora
   ver los carácteres extendidos así como los ASCII normales.
- 
   Markus Oberhumer corrigió el problema potencial de la Video-7 del código
   de inicialización.
- 
   Markus Oberhumer, Bitland y Sormuras me enviaron las tablas de los mapas
   de teclado alemanes. Coordinación de esfuerzo: ¿quién la necesita? :-)
- 
   Mathieu Lafon mejoró el mapa de teclado francés.
- 
   Corregidos algunos fallos del sistema de reserva de voces MIDI.
- 
   Añadida ls opción -k (guarda nombres) a la utilidad dat.
- 
   El programa de setup ahora usa la variable de entorno ALLEGRO para
   localizar el fichero keyboard.dat.
- 
   Solucionado un problema con los carácteres < y > de la documentación
   HTML.
- 
   Se añadieron los parámetros de intrumentos de George mejorados para el
   driver AWE32.
- 
   La utilidad pat2dat ahora puede reducir samples de 16 a 8 bits (salva
   espacio, y el driver DIGMID en todo caso sólo usa 8 bits).
- 
   Se añadió otra versión del controlador del raton, esta vez en un intento
   de que funcione mejor bajo Windows NT.
- 
   Frodo Baggins añadió un mapa de teclado portugués.
- 
   Se añadió la función "shell" como herramienta externa al grabber.
- 
   Se añadió la función "box grab" al grabber, la cual usa el color #255
   para determinar los bordes de un sprite a seleccionar.
- 
   Santeri Saarimaa añadió un mapa de teclado finlandés.
- 
   La utilidad pat2dat por fin está completa, y el driver DIGMID ahora
   funciona mucho mejor.
- 
   Mathieu Lafon añadió soporte para las teclas Pausa e Imprime Pantalla, y
   cambió el array key[] a un campo de bits que indica si una o varias
   teclas normales y extendidas están siendo pulsadas. Esto sigue siendo
   compatible con la sintaxis "if (key[KEY_*])", pero también permite
   distinguir entre, por ejemplo, la tecla Enter del teclado numérico y la
   que está al lado de la tecla shift (mayúsculas).
- 
   Solucionado un fallo con el manejo de las variables de configuración que
   no corresponden a ninguna sección.
- 
   El fichero makefile ahora intenta detectar y avisar a la gente de los
   errores de instalación más comunes.
- 
   La versión HTML de la documentación ahora usa la extensión corta .htm si
   es creada en un sistema con LFN desactivado.
- 
   Los ficheros de mapas de teclado ahora solo salvan las teclas que son
   diferentes del mapa de teclado de EE.UU. ¡Esto hace los mapas de teclado
   mucho más pequeños!
- 
   Se ha cambiado la fuente y el mapa de teclado por defecto que usa la
   página de códigos 437 del DOS al estándar ISO (primera parte de Unicode).
   Si tienes una configuración de teclado usando la página de códigos
   antigua, ésta tendrá que ser actualizada, pero no te preocupes, tengo un
   script que puede hacer esto fácilmente.
- 
   Corregido un fallo con la detección de los formatos de fuentes (fijas o
   proporcionales) cuando se recogen desde un fichero bitmap.
- 
   Se ha añadido un punto modificable de repetición al reproductor MIDI
   (gracias a George por solucionar esto...)
- 
   Se reescribió el controlador del ratón para que dé la posición usando
   sólo los contadores mickey del driver con int 0x33. Ojalá esto solucione
   el problema de los drivers defectuosos de Logitech...
- 
   Añadida la variable mouse_pos conteniendo los valores de los ejes X e Y
   en un espacio de 32 bits, para permitir leerlos de una vez durante bucles
   rápidos.
- 
   El grabber ahora puede hacer selecciones múltiples y tiene un nuevo
   comando "ungrab" que copia de un objeto bitmap al portapapeles (puedes
   usar esto para hacer paletas de imágenes truecolor, o para re-grabar un
   área más pequeña de la imagen).
- 
   Se añadió la posibilidad de hacer múltiples selecciones en el objeto
   lista GUI.
- 
   Theuzifan mejoró la detección de cpu para chips Cyrix.
- 
   Mathieu Lafon añadió un mapa de teclado francés.
- 
   Richard Mitton escribió un programa de ejemplo demostrando como emular un
   modo de color de 12 bits truecolor en una tarjeta de 8 bits.
- 
   Michal Mertl añadió una rutina para generar paletas optimizadas para una
   imagen truecolor específica.
- 
   Se han optimizado las funciones getr/g/b(). Convertir ahora imágenes de
   diferentes profundidades de color debería de ser mucho más rápido ahora.
- 
   Scott Harrison añadió código para detectar OpenDOS, y se usa el modo
   i_love_bill si su versión de EMM386 está en uso.
- 
   Se añadieron algunos programas de ejemplo.
- 
   La utilidad makedoc ahora convierte los códigos de caracteres de DOS a
   los extendidos de Windows al crear ficheros HTML.
- 
   Ettore Perazzoli optimizó espectacularmente la función blit lineal del
   modo-X.
- 
   Se añadió una opción grid a la utilidad dat, para especificar que región
   del bitmap quieres coger.
- 
   Arreglado el fallo al dibujar bitmaps truecolor en bitmaps de modo-X.
- 
   Arreglado el fallo que impedía cambiar el volumen de la tarjeta Adlib
   cuando sólo los drivers MIDI estaban instalados.
- 
   El grabber se puede ejecutar en otros modos de vídeo que 64x480 (sin
   embargo, no es muy bonito en resoluciones bajas :-)
- 
   Se añadió un nuevo scancode falso para la tecla extendida / (la del
   teclado numérico) para que las dos teclas puedan ser distinguibles.
- 
   Joaquin Hierro Díaz hizo un mapa de teclado español.
- 
   La utilidad de setup se puede usar ahora para seleccionar un mapa de
   teclado y para calibrar el joystick, así como para el hardware de sonido.
- 
   Moví algunos documentos a otros sitios, para que la gente ojalá encuentre
   más rápido el fichero faq.txt, y para acercarme al modo de distribución
   estándar de GNU.
- 
   Mejorado el sistema de configuración de teclado. Ahora hay una utilidad
   para seleccionar el mapa de teclado, y éstos pueden ser leídos desde
   ficheros externos, y soportan correctamente las teclas alt-gr y los
   acentos.
- 
   Los ítems de los menús ahora se pueden desactivar, tienen ahora signos de
   marcado, pueden alinearse el texto a la derecha para enseñar atajos de
   teclado, hay un nuevo campo "void *dp" en la estructura del menú, y hay
   rutinas de clickeado callback usan el puntero global "active_menu" para
   determinar qué opción fue llamada, si alguna rutina es compartida por
   varios ítems de menú.
- 
   Peter Palotas añadió un callback de entrada a las rutinas de teclado, y
   banderas de evento al callback del ratón.
- 
   Se añadió la opción -pal a la utilidad dat.
- 
   Grzegorz Ludorowski hizo algunos gráficos nuevos para la demo.
- 
   Se movió parte del código a nuevos ficheros y se añadieron varios macros
   para que puedas quitar drivers de gráficos y sonido en el momento de
   enlazar tu programa.
- 
   Fabian Nuñez añadió soporte para el joystick Logitech Wingman Extreme.
- 
   Chris La Mantia contribuyó con un objeto de diálogo d_slider_proc().
- 
   Sean Gugler añadió una rutina para cambiar el estado de los LEDs del
   teclado.
- 
   Gearge Foot añadió funciones de pausa y búsqueda al reproductor MIDI.
- 
   Se añadió la posibilidad de unir ficheros de datos (de hecho, cualquier
   fichero) al final de tu programa ejecutable.
- 
   Se incluyó del driver de la AWE32. ¡Larga vida a George!
- 
   Ahora se pueden leer ficheros TGA con compresión RLE.
- 
   Se añadió una función de callback de movimiento para el ratón (útil para
   detectar eventos de doble click).
- 
   Stefan Eilert añadió soporte para dos joysticks.
- 
   Seymour Shlien contribuyó una rutina para dibujar texto justificado.
- 
   Krzysztof Krzyzaniak contribuyó un cargador de ficheros .VOC.
- 
   Se añadió la función rotate_scaled_sprite().
- 
   Ahora hay soporte para teclados Dvorak.
- 
   Salvador Eduardo Tropea añadió el modo VGA 320x100.
- 
   Se implementaron funciones para dibujar ficheros RLE translúcidos e
   iluminados en los modos truecolor.
- 
   Se actualizó el la utilidad de setup de sonido.
- 
   La utilidad dat puede crear ficheros makefile para poder reconstruir un
   fichero automáticamente cuando un fichero fuente cambia.
- 
   Se solucionaron algunos problemas de las funciones de conversión
   RGB <-> HSV.
- 
   Soporte truecolor añadido al grabber y al cargar imágenes.
- 
   Phil Frisbie añadió código para detectar el tipo de CPU.
- 
   Michal Mertl añadió los modos gráficos de 24 bits. ¡Hurra!
- 
   Se añadieron funciones para reproducir canales de datos de audio digital.
- 
   Chris La Mantia contribuyó un objeto de icono bitmap GUI.
- 
   Doug Eleveld añadió un objeto de caja de texto GUI, y un sistema mejorado
   de ayuda para el grabber.
- 
   Ahora se soportan los mapas de teclado UK y AZERTY. Se pueden añadir más
   fácilmente si me mandas la tabla scancode -> ASCII apropiada...
- 
   Se añadieron las funciones get_align_matrix(), qtranslate_matrix(), y
   qscale_matrix().
- 
   Se añadió la función draw_character() para usar sprites como máscaras
   monocromas de pixel.
- 
   Ahora es seguro pasar la misma matriz como entrada y salida de la función
   matrix_mul().
- 
   Paul Bartrum contribuyó algunas funciones para dibujar elipses.
- 
   Se añadieron callbacks al driver MIDI, permitiéndote introducir tu propio
   código en las notas midi o marcas de eventos.
- 
   Se añadió una función para medir el movimiento del ratón en mickeys
   (diferencia desde la última llamada) así como en coordenadas absolutas de
   pantalla.
- 
   VolkerOth posibilitó el scroll de los objetos d_edit_proc, si la cadena
   de texto es más larga que el espacio disponible.
- 
   Se añadió la habilidad de distinguir entre las teclas izquierda y derecha
   de Control y Alt.
- 
   Fabian Nuñez añadió soporte para las teclas extra del teclado Microsoft.
- 
   Se añadieron los campos *dp2 y *dp3 a la estructura de diálogo. Esto no
   debería romper código existente, pero te permitirá almacenar más datos
   cuando crees objetos propios.
- 
   Las funciones packfile ahora pueden abrir y leer objetos de un fichero de
   datos, usando nombres falsos de la forma "nombre.dat#nom_objeto". Esto
   significa que todas las rutinas de Allegro de acceso a ficheros (como
   load_pcx() o set_config_file()) pueden leer de objetos de ficheros de
   datos al igual que de ficheros individuales.
- 
   Se añadieron los programas miditest y digitest para permitir un testeo
   más riguroso de las rutinas de sonido y los patches, y el programa
   vesainfo para chequear a qué resoluciones se puede acceder en una tarjeta
   de vídeo.
- 
   Jan Hubicka escribió una versión más rápida de create_rgb_table().
- 
   La utilidad grabber ahora escala la vista previa de un bitmap si la
   imagen es demasiado larga para caber en la pantalla.
- 
   Jorrit Rouwe incorporó nuevas y mejores definiciones de instrumentos FM
   al driver MIDI de Adlib.
- 
   Se añadió una función para cargar patches .IBK para uso del driver Adlib.
- 
   Se añadió el directorio allegro/ a la estructura del árbol del fichero
   zip, por lo que ahora puedes descomprimir Allegro en tu directorio djgpp.
- 
   Richard Mitton añadió soporte para joysticks con 6 botones.
- 
   Modos gráficos truecolor (15, 16, y 32 bits).
- 
   Rutinas de sonido vastamente mejoradas (API más flexible, ahora soporta
   hasta 32 voces simultáneas en la SB, driver MIDI basado en samples, puede
   invertir samples, hacer efectos de volumen/pan/pitch, los comandos MIDI
   se pueden ejecutar en tiempo real así como desde un fichero, y muchas más
   cosas).
- 
   Ahora se puede actualizar el estado de los diálogos GUI de forma
   ascendente desde tus propios bucles de control, con la función
   update_dialog(), en vez de pasar el control totalmente a do_dialog().
- 
   Los ficheros comprimidos (incluyendo ficheros de datos) pueden ser
   encriptados con un password.
- 
   Añadida la función masked_blit(), que ignora los pixels cero.
- 
   Se añadió código para detectar la ejecución bajo Linux DOSEMU, y en ese
   caso se usa una versión del código de temporización que usa menos
   recursos.
- 
   Se añadió un mecanismo de configuración estandarizado. El formato para la
   información salvada de calibración de joystick ha cambiado, por lo que
   los ficheros de joystick existentes ya no son válidos.
- 
   Se añadió la rutina textprintf(), que usa un formato de cadena como
   printf().
- 
   Se añadió una versión TexInfo de la documentación ((gracias por la ayuda,
   Francois!)
- 
   Jonas Petersen añadió la función save_bmp(), y añadió soporte para el
   formato BMP de OS/2.
- 
   TBD/FeR añadió las resoluciones 320x600 y 360x600 al driver de modo-X.
- 
   Matthew Bowie añadió soporte para joysticks de 4 botones.
- 
   Dave Thomson añadió funciones de conversión RGB <-> HSV.
- 
   Se añadió la variable ''freeze_mouse_flag', que puede ser usada para
   congelar el puntero a una posición específica.
- 
   Se añadió la variable 'key_led_flag', que ahora puede ser usada para
   evitar que el LED de estado de las teclas bloq.mayús, bloq.num y
   scroll-lock cambie.
- 
   El reproductor midi ahora inicializa midi_pos a -1 cuando la música acaba
   de tocar.
- 
   Adrian Oboroc escribió una función para cargar LBM.
- 
   Las fuentes ahora pueden contener caracteres ASCII por encima de 127.
- 
   Chris Wigman hizo una intro mejor para el juego demo.
- 
   Se añadieron rutinas de translucencia, mezcla de color e iluminación
   (basadas en código de Owen Embury e ideas de Nathan Albury).
- 
   Se añadieron funciones matemáticas 3d y de manipulación de matrices.
- 
   Se añadieron dibujadores de polígonos texturizados y con sombreado
   goraud.
- 
   Tim Gunn contribuyó código para leer y escribir ficheros TGA.
- 
   Se arreglaron los problemas de los sprites rotatorios no circulares.
- 
   Se añadieron barras de desplazamiento al objeto GUI listbox.
- 
   Seymour Shlien escribió una función para dibujar curvas bezier.
- 
   Se añadieron las funciones de punto fijo fadd() y fsub(), que chequean el
   desbordamiento.
- 
   Se añadieron las funciones pack_fseek() y manipulación de chunks a las
   rutinas de ficheros.
- 
   Se mejoró la estructura de los ficheros de datos y el programa grabber.
- 
   Se escribió una utilidad para convertir ficheros de datos del grabber en
   código asm enlazable.
- 
   Salvador Eduardo Tropea mejoró las rutinas de teclado (mejor manejo de
   scancodes extendidos, soporte de LED del teclado, y detección de
   bloq.mayús, bloq.num y alt+teclado numérico).
- 
   Se arreglaron las funciones packfile y el selector de ficheros para que
   funcionen con los nombres largos de win95.
- 
   Seymour Shlien contribuyó un lector de ficheros BMP.
- 
   Añadida una función de enganche al código de teclado, permitiéndote usar
   código GUI sin instalar el controlador de teclado.
- 
   Solucionado el cuelgue producido por intentar acceder a unidades de disco
   no existentes.
- 
   Francois Charton escribió un driver para la tarjeta gráfica Paradise.
- 
   Chris La Mantia contribuyó el botón de radio de diálogo GUI y añadió la
   bandera de objeto D_DISABLED.
- 
   Markus F.X.J. Oberhumer arregló las funciones de scroll de Video-7.
- 
   Se convirtió la documentación en formato HTML.
- 
   Se añadió código para detectar Windows NT.
- 
   Mark Habersack añadió soporte para nuevos chipsets Trident.
- 
   Se trabajó más en el driver VBA/AF (ahora funciona, pero todavía no
   soporta funciones de aceleración por hardware).
- 
   Arreglados los fallos del reproductor FLIC y cargador de samples WAV.
- 
   Se añadió el modo especial 'windows friendly' al código del temporizador.
   ¡Ahora incluso puedes ejecutar demo.exe bajo Windows 3.1!
- 
   Se reorganizó la estructura de directorios para permitir una versión
   Linux. El fichero liballeg.a ahora se encuentra en lib/djgpp.
- 
   Se añadió soporte para las fuentes de formato BIOS 8x16.
- 
   Solucionado un problema de desbordamiento al rotar sprites grandes.
- 
   Se arregló un problema con la recuperación del modo texto después de
   ejecutar programas que usan Allegro.
- 
   Arreglado el fallo en el banco.S.
- 
   install_mouse() ahora ajusta el rango a (0,0,SCREEN_W,SCREEN_H).
- 
   install_sound() no ajusta automáticamente el volumen al máximo.
- 
   Se añadieron los operadores ++ y -- a la clase fija.
- 
   Makefile ahora copia liballeg.a a lib, y allegro.h a include.
- 
   Se hicieron algunos cambios para trabajar con LFN=y (por si usas unzip o
   winzip en vez de pkunzip).
- 
   Se añadió el fichero manifest.
- 
   Instrucciones de instalación clarificadas.
- 
   Soporte de modo-X (gracias a Jonathan Tarbox y Dominique Biesmans por
   sugerir esto y luego ayudar a implementarlo).
- 
   Sprites compilados.
- 
   Jonathan Tarbox contribuyó un reproductor FLI/FLC.
- 
   Se añadieron modos de dibujo con patrón.
- 
   Se añadió un simulador de la interrupción de retrazo vertical.
- 
   polygon() ahora puede manejar figuras cóncavas o con intersecciones.
   También se cambiaron los parámetros un poco. Perdón si esto estropea tu
   código viejo, pero es más eficiente de este modo.
- 
   Añadido stretch_sprite().
- 
   Se escribió la rutina floodfill().
- 
   Rutinas de fundido de paleta más flexibles.
- 
   Se añadió set_volume() al código de sonido.
- 
   David Calvin escribió una utilidad para configurar el sonido.
- 
   Mejorado el GUI. Se añadieron menús emergentes/de persiana, entrada de
   joystick, cajas de alerta de tres botones, mejor manejo del foco con los
   cursores, un nuevo objeto de atajo de teclado (d_keyboard_proc()), y el
   carácter '&' para marcar los atajos de teclado. El GUI ahora puede ser
   usado con otras fuentes que no sean 8x8 al alterar el puntero global
   'font'.
- 
   Fabian Nuñez añadió soporte para el joystick CH Flightstick Pro (me
   gusta: quiero uno :-) y el botón central del ratón.
- 
   El mánager de teclado ahora responde al estado de las teclas ctrl y alt,
   y hay una nueva función simulate_keypress().
- 
   Mark Wodrich añadió sub-bitmaps, que comparten memoria con bitmaps padre
   y pueden ser posicionados en cualquier lugar dentro de ellos, y tienen
   sus propios rectángulos de clipping.
- 
   Mask modificó el driver de ratón para hacer doble-buffer con el puntero
   (para que no parpadeé más), y añadió la función set_mouse_sprite_focus().
- 
   Se añadieron las funciones set_mouse_range() y set_mouse_speed().
- 
   Gracias (de nuevo) a Mark Wodrich, el grabber ahora puede importar
   ficheros GRX .FNT.
- 
   El grabber ahora puede hacer backups al salvar ficheros de datos, y sólo
   escribe el fichero de cabecera si el contenido ha cambiado, para prevenir
   la recompilación innecesaria.
- 
   Añadida la función text_height().
- 
   Mejoradas las funciones de punto fijo de cosecante y secante. Ahora usan
   tablas precalculadas, por lo que sin mucho más rápidas.
- 
   Reorganizada la estructura de directorios, añadidos algunos programas de
   ejemplo y mejorada la documentación.
- 
   Marcel de Kogel arregló algunos problemas con el driver MPU-401. Ahora
   realmente funciona :-)
- 
   Marcel también mejoró los sonidos de batería del driver Adlib.
- 
   Funciones fmul() y fdic() ahora en ensamblador.
- 
   Función fsqrt() mucho más rápida, cogida de la librería de punto
   fijo/coma flotante de Arne Steinarson.
- 
   Funciones bmp_write_line(), bmp_read_line(), y _putpixel() en
   ensamblador.
- 
   Las rutinas de teclado ahora soportan la secuencia de escape de
   emergencia ctrl+alt+del, y hay mánagers de señales para asegurarse de que
   Allegro se cerrará limpiamente si tu programa se bloquea.
- 
   Nuevas funciones irq que ahora pueden tratar con interrupciones
   reentrantes.
- 
   Se añadieron rutinas de joystick (basadas en código de Jonathan Tarbox y
   Marcel de Kogel).
- 
   Se movieron algunas funciones a otros ficheros y se cambiaron cosas para
   que el enlazador haga un trabajo mejor. Si ahora no usas funciones de
   sonido o de gráficos, no serán enlazadas a tu ejecutable.
- 
   Marcel de Kogel consiguió localizar mi (terriblemente estúpido :-) error
   que no permitía trabajar al driver lineal VESA 2.0.
- 
   Varios correcciones de fallos y mejoras de rendimiento.
- 
   Dejé todo el código Borland. Hace unos meses se me acabó el espacio en el
   disco duro, y ejecuté con gran satisfacción el comando 'deltree /y
   c:\bc4'. Era un compilador horrible, y estoy orgulloso de que esté muerto.
- 
   Se añadió soporte SVGA. Como resultado, ya no hay motivo para poner el
   sistema en modo 13h con allegro_init(), por lo que estarás en modo texto
   hasta llamar set_gfx_mode().
- 
   Se añadió código de sonido (mezcla de samples y música MIDI de fondo).
- 
   Se añadió soporte para fuentes proporcionales (de cualquier tamaño) al
   igual que las antiguas fuentes fijas de 8x8.
- 
   Modo de dibujo XOR.
- 
   Ahora ya no existe la estructura SPRITE. El código de dibujo de sprites
   ahora dibuja bitmaps sobre otros bitmaps, lo cual es un modo más flexible
   de hacer las cosas. El lector de ficheros de datos convertirá tus viejos
   sprites a bitmaps al cargarlos, por lo que la única diferencia práctica
   es que ahora las funciones de dibujado de sprites no pueden dibujar
   sprites opacos (pero sigues pudiendo hacer un blit).
- 
   show() y get_sprite() ya no existen: usa blit() en su lugar.
- 
   Se añadieron las funciones de dibujo de sprites rotados e invertidos.
- 
   Se añadió el escalado de bitmaps.
- 
   Se añadieron sprites RLE.
- 
   drawsprite() ahora se llama draw_sprite().
- 
   textmode() ahora se llama text_mode() para evitar conflictos con las
   definiciones de conio.h.
- 
   Todas las funciones de acceso a ficheros se han renombrado de la sintaxis
   de stdio a pack_fopen(), pack_getc(), etc, para que puedan ser mezcladas
   con código que use stdio.
- 
   Se añadió pack_fgets() y pack_fputs().
- 
   El puntero port_callback ya no existe.
- 
   Eliminado polyline() (¿quién lo usaba?), y se añadió polygon(), que dibuja
   un polígono convexo relleno con un número arbitrario de vértices.
- 
   Se añadieron las funciones do_line() y do_circle(), que llaman una
   función del usuario por cada pixel que necesita ser dibujado.
- 
   Se añadió un interfaz de teclado por defecto a las rutinas GUI,
   permitiendo la selección de objetos con los cursores y <enter>.
- 
   Se añadieron algunos mensajes y banderas GUI. En particular ahora hay
   mensajes para seguir el movimiento del ratón, un mensaje de espera, un
   valor especial de retorno del mensaje MSG_CHAR que permite a un objeto
   ignorar el manejo por defecto del teclado, y una bandera que oculta un
   objeto.
- 
   Hay nuevas rutinas GUI para centrar el diálogo en la pantalla y para
   alterar los colores usados por los diálogos estándar de alerta y
   selección de ficheros.
- 
   El selector de ficheros ahora acepta un tercer parámetro que especifica
   el tipo de extensión a enseñar.
- 
   Las rutinas de reloj ahora tienen mejor grado de precisión que un
   milisegundo, y ahora es posible alterar la velocidad de una rutina
   callback de reloj en tiempo real (reinstalándola con un nuevo valor de
   velocidad).
- 
   Se eliminó la estructura _RGB y las funciones paltorgb(). Los RGB's ahora
   se almacenan directamente en el formato de hardware, cada uno con un
   valor en el rango 0-63.
- 
   Se añadieron funciones para coger y escribir entradas de paleta
   individuales al igual que paletas enteras.
- 
   Se añadió código para fijar (lock) memoria DPMI.
- 
   Se escribió la clase 'fija' C++ que sobrecarga muchos operadores,
   permitiéndote usar las rutinas de punto fijo fácilmente.
- 
   Probablemente hay muchas más cosas que he olvidado.