Allegro Una librería para programar videojuegos Lenguajes: English  Deutsch  français  한국어 (Hangul)  polski  Italiano 

 
 

Allegro
  Novedades
  Introducción
  Licencia
  Colaboradores
  Antiguas noticias

Descargas
  Última versión
  Versiones antiguas
  CVS

Documentación 
  API
  FAQ
  Tutoriales
  El futuro

Soporte
  Ayuda
  Listas de correo
  IRC

Juegos, Utilidades, Librerías, etc
  Allegro.cc

Miscelánea
  DIGMID
  Enlaces
  Mirrors
  Webmasters

 
 
  

Cambios de la 4.1.0 a la 4.1.1 (Agosto 2002)

  • Many minor changes and clarifications in the docs and the FAQ.

  • Eric Botcazou fixed a bug with graphics mode switching using a ALT+key combination under Windows.

  • Laurence Withers contributed the dat2c utility.

  • Grzegorz Adam Hankiewicz made it so that chapters can be referenced in the documentation and added a new one on the types and structures defined by the library.

  • Eric Botcazou improved win_set_window() so that it can be called after the library has been initialized.

  • Elias Pschernig fixed a bug in midi_seek().

  • Eric Botcazou wrote a new page flipping/triple buffering code for the Windows port.

  • Grzegorz Adam Hankiewicz added a linux specific debug help section.

  • Eric Botcazou made the constructors of the fix class from integer and floating point values explicit.

  • Eric Botcazou fixed a dat2s bug with dynamically linked programs under Windows.

  • Jan Bruun Andersen fixed a compilation problem with Cygwin.

  • Jeremiah Blanchard updated the build instructions for Darwin.

  • Vincent Penquerc'h added sample loader/saver registration and a save_sample() function. Peter Wang documented it.

  • George Foot added (preliminary) non-FM support to the OSS MIDI driver.

  • Ben David and Robert J. Ohannessian put in (void *) casts for the LOCK_* macros on DJGPP and Mac.

  • Nicholas Davies made the fix class not trigger warnings with gcc -Weffc++.

  • Angelo Mottola fixed a keyboard focus problem under BeOS.

  • Peter Wang fixed the detection of ESD and aRts on Unix systems.

  • Peter Wang made files be opened with as permissive as possible permissions on Unix systems.

  • Stepan Roh added support for a automake-style DESTDIR variable in the Unix makefile.

  • Grzegorz Adam Hankiewicz made the doc processor output valid HMTL 4.0 in some corner cases for which it previously didn't.

  • Grzegorz Adam Hankiewicz fixed a crash of the doc processor with very long lines.

  • Peter Wang did some housekeeping work throughout the code and the documentation.

Cambios de la 4.0.2 a la 4.1.0 (Julio 2002)

  • Charles Bilyue optimized the i386 blitters.

  • Peter Wang fixed the mis-treatment of empty files by the library and the 'pack' utility.

  • Eric Botcazou simplified pack_f{read,write} and cleaned up several uses of pack_feof().

  • Eric Botcazou split USE_CONSOLE into ALLEGRO_USE_CONSOLE and ALLEGRO_NO_MAGIC_MAIN.

  • Eric Botcazou simplified and cleaned up the asm bank switchers.

  • Peter Wang added support for the environment variable ALLEGRO_MODULES under Unix.

  • Peter Wang made 'configure --disable-vga' remove more stuff out of the core under Unix.

  • Eric Botcazou made the DirectDraw code try to restore its surfaces as soon as it detects they have been lost.

  • Peter Wang added a description of the packfile format.

  • Peter Wang added an aRts sound driver to the Unix port.

  • Sven Sandberg optimized create_video_bitmap() for systems with a single video memory surface.

  • Grzegorz Adam Hankiewicz reindented the documentation sources, improving the text/info/html output in the process.

  • Grzegorz Adam Hankiewicz improved chm output for the documentation.

  • Sven Sandberg optimized and reduced numeric errors in create_trans_table().

  • Lorenzo Petrone added a xwin_set_window_name() function to the X11 port.

  • Peter Wang made install_allegro()/allegro_init() not abort the program on failure.

  • Sven Sandberg and Grzegorz Adam Hankiewicz added backward compatibility to the new doc processor.

  • Sven Sandberg fixed various problem in the makefiles.

  • Elias Pschernig made it so that the COLORCONV_KEEP_TRANS flag is checked when converting bitmaps out of datafiles.

  • Eric Botcazou added preliminary support for hardware acceleration and video bitmaps to the QNX port.

  • Elias Pschernig added a window position saving feature to the Windows port.

  • Vincent Penquerc'h added a -s-PROP option to the dat utility in order to preserve properties when stripping.

  • Henrik Stokseth made the zipwin.sh script for packaging the Windows binary distribution work with Cygwin.

  • Peter Wang and Eric Botcazou made it so that Allegro C programs can compile with gcc -ansi -pedantic.

  • Vincent Penquerc'h added a 'sort' option to the grabber and the dat utility.

  • Eric Botcazou added preliminary support for native windows under Windows.

  • Vincent Penquerc'h made gcc use pipes on Unix when building the library.

  • Lorenzo Petrone added support for switch callbacks under X11 and refactored the display switching code.

  • Javier Gonzalez changed the default value of emulate_three to no in all cases.

  • Eric Botcazou modified the behaviour of the retrace_* objects to take into account the refresh rate if known.

  • Eric Botcazou fixed the 'configure --disable-constructor' problem.

  • Elias Pschernig fixed menu dimensions in the GUI engine.

  • Eric Botcazou added documentation on API compatibility.

  • Elias Pschernig and Eric Botcazou fixed the get_camera_matrix*() functions.

  • Igor Gnip removed the requirements for fileutils on DOS/Windows platforms.

  • Jeremiah Blanchard contributed modifications in order for Allegro to compile on Darwin/MacOS X.

  • Henrik Stokseth merged standard and extended mode-selectors.

  • Elias Pschernig added chm ouput support for the documentation.

  • Eric Botcazou merged the three input threads into a single one under Windows.

  • Mike Pichagin contributed the ustrnicmp() function.

  • Grzegorz Adam Hankiewicz contributed a new documentation format for better html output.

  • Eric Botcazou added a DirectInput joystick driver to the Windows port.

Cambios de la 4.0.1 a la 4.0.2 (Junio 2002)

  • Muchas clarificaciones en la documentación.

  • Sven Sandberg mejoró la precisión y corrigió fallos en do_arc().

  • Matthew Leverton hizo que se instalasen los ficheros de cabecera en la distribución binaria de Windows.

  • Grzegorz Adam Hankiewicz corrigió un problema con la tabla de contenidos del FAQ.

  • Eric Botcazou corrigió un fallo de stretch_blit() bajo Windows XP.

  • Peter Wang arregló varios problemas con el configure de Unix.

  • Sven Sandberg actualizó el fichero de traducción al sueco.

  • Sven Sandberg corrigió un cuelgue del ejemplo exswitch cuando era compilado con Watcom C/C++ y lo hizo correr más rápido.

  • Maxime Carey añadió un mapa de teclado de Canada (francés).

  • Henrik Stokseth actualizó y corrigió la instalación de Cygwin.

  • Eric Botcazou añadió una opción para desactivar la actualización directa en los modos de conversión de color bajo Windows.

  • Eric Botcazou (presuntamente) corrigió el fallo en el mecanismo de salida de emergencia bajo Windows cuando era llamado desde la DLL.

  • Angelo Mottola hizo que el sonido no bloquease al hilo principal bajo BeOS.

  • Deepak T y Eric Botcazou corrigieron el recorte en tres rutinas C de dibujado de sprites.

  • Peter Wang corrigió un interbloqueo que ocurría bajo Unix cuando Allegro recibía un evento X11 de cierre.

  • Eric Botcazou añadió la opción --cppflags a allegro-config y corrigió la compilación de C++ bajo QNX.

  • Vincent Penquerc'h añadió la opción --version= a allegro-config.

  • Robert J. Ohannessian hizo los conversores de color 32->24 más robustos y mejoró el conversor MMX en el proceso.

  • Robert J. Ohannessian, Eric Botcazou y Sven Sandberg corrigieron un fallo en el hue blender y la rutina hsv_to_rgb().

  • Matthew Leverton corrigió otro problema con al_find*() y particiones NTFS bajo Windows.

  • Peter Wang corrigió un fallo en la detección de dispositivo ALSA.

  • Peter Wang corrigió un fallo de al_find* bajo Unix cuando se ejecuta como root.

  • Matthew Leverton y Eric Botcazou corrigieron un fallo con los mouse mickeys en modo ventana bajo Windows.

Cambios de la 4.0.0 a la 4.0.1 (Marzo 2002)

  • 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.


Cambios de la 3.9.40 a la 4.0.0 (Diciembre 2001)

  • 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.


Cambios de la 3.11 a la 3.9.40 (Noviembre 2001)

  • 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: Stepan 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: Stepan 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: Stepan Roh contribuyó 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).


Cambios de 3.11 a 3.12 (Agosto 1999)

  • Se corrigieron algunas incompatibilidades con gcc 2.95. Esta versión es en el resto idéntica a la versión 3.11.


Cambios de 3.1 a 3.11 (Febrero 1999)

  • 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 de 3.0 a 3.1 (Enero 1999)

  • 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.


Cambios de 3.0 beta a final (Diciembre 1997)

  • 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.


Cambios de 2.2 a 3.0 beta (Noviembre 1997)

  • 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.

Cambios de 2.11 a 2.2 (Febrero 1997)

  • 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.


Cambios de 2.1 a 2.11 (Noviembre 1996)

  • 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.


Cambios de 2.0 a 2.1 (Junio 1996)

  • 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.


Cambios de beta 2.0 a final (Marzo 1996)

  • 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.


Cambios de 1.x a 2.0 beta (Enero/Febrero 1996).

  • 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.


No ePatents Visible con cualquier navegador Valid HTML 4.0!

Contactar con el webmaster Última actualización: el 13 de Septiembre del 2002 a las 17:51 (UTC).