-
Se limpiaron algunos sitios donde la memoria no era liberada durante el
cierre del sistema. Un detalle cosmético, ya que el SO la liberará por
nosotros, pero es bueno hacer todas estas cosas bien.
-
Alessandro Monopoli tradujo al Italiano los mensajes de sistema.
-
Henrik Stokseth añadió código para distinguir entre win95 y win98.
-
Se ha quitado a Creative Labs del fichero THANKS, debido a su negativa de
proporcionar documentación sobre la tarjeta SB Live.
-
Se cambió el nombre de la biblioteca de funciones. Después de años
pensando que Allegro era una palabra sin un sentido particular, descubrí
que de hecho es un acrónimo recursivo de "Allegro Low Level Game
Routines".
-
Se estableción una nueva lista de correo (conductors@canvaslink.com) para
las personas que trabajan en Allegro. Por favor, mande sus contribuciones
de código a esta lista en vez de a mí directamente (Shawn Hargreaves),
porque esto permitirá que el desarrollo de Allegro continúe aun cuando no
esté por aquí o esté ocupado con otra cosa en el momento.
-
Andreas Kluge escribió un controlador para las tarjetas Ensoniq
Soundscape.
-
Más localización: traducción de los mensajes de sistema al sueco por Sven
Sandberg, Anton Ragnarsson y Erik Sandberg, traducción de los mensajes de
sistema al finlandés por Antti Haapala, y traducción de los mensajes de
sistema y mapa de teclado rusos por Dmitriy Kazimirow.
-
La función midi_out() ahora actualiza correctamente el estado de los
controladores de pan/volumen/bend.
-
Kester Maddock añadió un controlador para el joystick Wingman Warrior.
-
Se solucionaron algunos problemas con los controladores del Sidewinder,
Gamepad Pro y joypad SNES.
-
Se cambió el controlador de la SB16 para que use un modo de salida de 16
bits con signo, en lugar del antiguo formato sin signo. Esperemos que
esto mejore la compatibilidad con las copias baratas de hardware.
-
Se añadió el parámetro de entorno WARNMODE al makefile. Los
desarrolladores de Allegro deberían usarlo para recibir mensajes de aviso
más estrictos, pero será desactivado por defecto para que las versiones
de distribución sean más permisivas respecto a diferentes versiones de
compilador/biblioteca libc.
-
Solucionado el problema al leer las posiciones arriba e izquierda en
joysticks digitales.
-
Solucionado (creo, todavía espero información detallada sobre esto :-) el
problema con los temporizadores corriendo muy rápido en algunas placas
madre.
-
Solucionado el fallo estúpido cuando get_align_matrix() no se preocupaba
de poner ceros en el vector de translación.
-
Solucionado el fallo de los sprites rotados que aparecían invertidos en
modo-X y modos hi/truecolor.
-
Solucionado el fallo de la utilidad dat que truncaba los nombres largos
al formato 8.3.
-
Se renombró el fichero ChangeLog a CHANGES, para evitar problemas en
sistemas 8.3.
-
Varias otras correcciones menores.
-
Cambios entre la beta 3.1 y versión final: varios fallos corregidos,
Antoine Mathys añadió un mapa de teclado suizo, Thomas Wolf añadió una
traducción alemana del sistema de mensajes.
-
Cambios entre las versiones 3.1 alpha y beta: varios fallos corregidos,
las rutinas FLIC ahora pueden leer de ficheros de datos, se incluyeron
las optimizaciones para rotar sprites por Ivan Baldo.
-
Peter Cech añadió soporte para cambiar mediante una combinación de teclas
entre el mapa de teclado americano y el mapa de teclado personalizado.
-
Neil Townsend mejoró la precisión de las rutinas de temporización.
-
Se añadió el programa de ejemplo ex40, 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 ex39.
-
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 Hankiewicz añadió un nuevo ejemplo que enseña cómo crear y usar
una tabla de mapeado de color propia.
-
Se reescribió el sistema joystick (mejor API y nueva estructura driver).
-
Modificada la clase fija para que funcione bien con gcc 2.8.0.
-
Añadido el fichero help.txt "cómo conseguir soporte técnico".
-
La variable midi_pos ahora es negada, en vez de ajustada a -1, al final
del fichero MIDI. Esto puede usarse para medir el tamaño del fichero.
-
Se añadió un gancho de render a la estructura font, para uso de los
addons de texto.
-
Se mejoró la rutina VBE/AF de salida de texto.
-
Corregido el error en el cual el driver VBE/AF interpretaba colores de
cursores hardware.
-
Pedro Cardoso contribuyó un modo trucado VGA 80x80.
-
El driver VBE/AF ahora soporta tanto drivers tontos con framebuffer como
drivers acelerados.
-
Se añadió más soporte de aceleración al driver VBE/AF (cursores hardware,
líneas, líneas verticales, triángulos, salida de texto de ancho fijo, y
blits opacos/enmascarados desde memoria de sistema a la pantalla).
-
Se añadió la función scare_mouse(), basada en ideas de Martijn Versteegh.
-
Grabber ahora almacena el estado del diálogo "grab from grid" en
allegro.cfg.
-
Sven Sandberg solucionó un problema con los anchos de save_bitmap() que
eran redondeados hacia arriba.
-
La bandera _timer_installed es ahora globalmente visible.
-
Ove Kaaven añadió soporte de framebuffer lineal al driver nativo mach64.
-
Erik Sandberg optimizó las funciones draw_sprite() y draw_trans_sprite()
de 8 bits.
-
Michal Mertl solucionó un agujero de memoria en la función
generate_optimized_palette()
-
Se añadió la definición ALLEGRO_DATE a allegro.h.
-
Michael Bukin optimizó la rutina de dibujado de líneas y solucionó el
problema de las funciones fadd()/fsub() inline en ensamblador.
-
Solucionados los problemas potenciales causados por la diferencia de
tiempo entre las variables de estado del ratón y el puntero que estaba
siendo redibujado.
-
Michal Mertl optimizó el código de área de recorte para las líneas,
rectángulos y círculos.
-
Maiolino Carmelo contribuyó un mapa de teclado Italiano.
-
Solucionados los bloqueos causados por las funciones de LED del teclado
en algunas plataformas/hardware.
-
Se añadieron las funciones nuevas create_video_bitmap() y
show_video_bitmap().
-
Se añadió una opción para medir la velocidad en el programa test.
-
El controlador de teclado ahora actualiza correctamente el estado de las
teclas control y alt en la BIOS cuando se cierra.
-
Solucionado un problema que evitaba que el driver DIGMID leyese patches
almacenados en ficheros de datos añadidos a ficheros ejecutables.
-
Cambiada la prioridad por defecto de los samples de 255 a 128.
-
Solucionados algunos problemas con tamaños virtuales de pantalla en el
driver VBE/AF.
-
Añadidos dos ejemplos nuevos.
-
El driver VBE/AF ahora tiene soporte total para dibujado acelerado por
hardware.
-
Añadido soporte VBE 3.0, incluyendo las nuevas rutinas de triple buffer.
-
Se escribió una rutina para seleccionar la entrada de sonido (micrófono,
línea o CD).
-
Se añadió soporte decente para samples estéreo. Esto requería un
parámetro extra a la función play_audio_stren(), por lo que tendrás que
cambiar todos los programas que usen esto. ¡Lo siento mucho por romper tu
código antiguo!
-
Solucionados los fallos de autodetección de la SB16 y la grabación de
samples a 16 bits.
-
Añadido soporte a la interfaz de driver bruto SB MIDI.
-
Se escribió un nuevo programa de test que demuestra las características
de entrada de audio.
-
Ove Kaaven añadió soporte de entrada de audio (samples) y MIDI.
-
La función pack_fopen() ahora entiende los ficheros de datos anidados
como estructuras de directorio, usando nombres de fichero como
"graphics.dat#level1/sprites/zdurgle".
-
Charles Mac Donald me enseñó cómo activar el modo VGA 160x120, y
resoluciones de modo-X 400x* de más confianza.
-
Guilherme Silveira y Theuzifan Sumachingun modificaron ambos
independientemente el seleccionador de ficheros para que enseñase sólo
letras de unidades válidas.
-
Carsten Sorensen añadió un driver para la tarjeta de sonido ESS
AudioDrive.
-
Przemek Podsiadly añadió versiones hicolor de las rutinas de polígonos
3d.
-
Ove Kaaven añadió soporte truecolor al driver nativo ATI mach64.
-
Patrick Hogan añadió una función draw_goraud_sprite().
-
Ben Chauveau añadió el driver para tarjetas Tseng ET6000.
-
Marco Campinoti añadió soporte truecolor al driver nativo Tseng ET4000.
-
Marco Marmulla añadió soporte de 16 bits a la rutina load_voc().
-
Se añadieron mapas de teclado Daneses, Suecos y Noruegos.
-
Se añadió un gancho a las funciones GUI para escalar u offsetting la
posición del ratón.
-
Se solucionó un fallo que causaba un bloqueo cuando llamabas
set_leds(-1).
-
Michael Bevin optimizó la función create_trans_table().
-
Ahora es posible enseñar un puntero de ratón sin tener que instalar el
controlador de ratón.
-
Se añadió la función create_sample().
-
Se hizo que las funciones de fundido _blender_map y las banderas
_mouse_installed, _keyboard_installed, y _sound_installed sean visibles
globalmente.
-
Se añadió un modo joystick de 8 botones.
-
Chris La Mantia solucionó un problema visual menor de d_icon_proc().
-
Se añadió el formato de texto enriquecido (.rtf) a la documentación.
-
Se añadieron operadores de incremento/decremento postfix a la clase fija
de C++, y el operador de negación unary es ahora correcto.
-
La utilidad pat2dat ahora puede importar instrumentos de ficheros
SoundFont de la AWE32.
-
Optimizado el cargador de patches DIGMID y corregidos varios fallos.
-
Ove Kaaven corrigió el driver de la ATI Mach64.
-
El fichero de configuración ahora puede mencionar varios drivers de video
posibles, usando líneas de la forma gfx_driver=x, gfx_driver2=x, etc.
-
Mejoradas las funciones de ayuda del controlador nativo SVGA, haciendo
más fácil el añadir soporte truecolor a los drivers de nivel de registro.
-
Hacer doble click en un objeto de fuente en el grabber the permite ahora
ver los carácteres extendidos así como los ASCII normales.
-
Markus Oberhumer corrigió el problema potencial de la Video-7 del código
de inicialización.
-
Markus Oberhumer, Bitland y Sormuras me enviaron las tablas de los mapas
de teclado alemanes. Coordinación de esfuerzo: ¿quién la necesita? :-)
-
Mathieu Lafon mejoró el mapa de teclado francés.
-
Corregidos algunos fallos del sistema de reserva de voces MIDI.
-
Añadida ls opción -k (guarda nombres) a la utilidad dat.
-
El programa de setup ahora usa la variable de entorno ALLEGRO para
localizar el fichero keyboard.dat.
-
Solucionado un problema con los carácteres < y > de la documentación
HTML.
-
Se añadieron los parámetros de intrumentos de George mejorados para el
driver AWE32.
-
La utilidad pat2dat ahora puede reducir samples de 16 a 8 bits (salva
espacio, y el driver DIGMID en todo caso sólo usa 8 bits).
-
Se añadió otra versión del controlador del raton, esta vez en un intento
de que funcione mejor bajo Windows NT.
-
Frodo Baggins añadió un mapa de teclado portugués.
-
Se añadió la función "shell" como herramienta externa al grabber.
-
Se añadió la función "box grab" al grabber, la cual usa el color #255
para determinar los bordes de un sprite a seleccionar.
-
Santeri Saarimaa añadió un mapa de teclado finlandés.
-
La utilidad pat2dat por fin está completa, y el driver DIGMID ahora
funciona mucho mejor.
-
Mathieu Lafon añadió soporte para las teclas Pausa e Imprime Pantalla, y
cambió el array key[] a un campo de bits que indica si una o varias
teclas normales y extendidas están siendo pulsadas. Esto sigue siendo
compatible con la sintaxis "if (key[KEY_*])", pero también permite
distinguir entre, por ejemplo, la tecla Enter del teclado numérico y la
que está al lado de la tecla shift (mayúsculas).
-
Solucionado un fallo con el manejo de las variables de configuración que
no corresponden a ninguna sección.
-
El fichero makefile ahora intenta detectar y avisar a la gente de los
errores de instalación más comunes.
-
La versión HTML de la documentación ahora usa la extensión corta .htm si
es creada en un sistema con LFN desactivado.
-
Los ficheros de mapas de teclado ahora solo salvan las teclas que son
diferentes del mapa de teclado de EE.UU. ¡Esto hace los mapas de teclado
mucho más pequeños!
-
Se ha cambiado la fuente y el mapa de teclado por defecto que usa la
página de códigos 437 del DOS al estándar ISO (primera parte de Unicode).
Si tienes una configuración de teclado usando la página de códigos
antigua, ésta tendrá que ser actualizada, pero no te preocupes, tengo un
script que puede hacer esto fácilmente.
-
Corregido un fallo con la detección de los formatos de fuentes (fijas o
proporcionales) cuando se recogen desde un fichero bitmap.
-
Se ha añadido un punto modificable de repetición al reproductor MIDI
(gracias a George por solucionar esto...)
-
Se reescribió el controlador del ratón para que dé la posición usando
sólo los contadores mickey del driver con int 0x33. Ojalá esto solucione
el problema de los drivers defectuosos de Logitech...
-
Añadida la variable mouse_pos conteniendo los valores de los ejes X e Y
en un espacio de 32 bits, para permitir leerlos de una vez durante bucles
rápidos.
-
El grabber ahora puede hacer selecciones múltiples y tiene un nuevo
comando "ungrab" que copia de un objeto bitmap al portapapeles (puedes
usar esto para hacer paletas de imágenes truecolor, o para re-grabar un
área más pequeña de la imagen).
-
Se añadió la posibilidad de hacer múltiples selecciones en el objeto
lista GUI.
-
Theuzifan mejoró la detección de cpu para chips Cyrix.
-
Mathieu Lafon añadió un mapa de teclado francés.
-
Richard Mitton escribió un programa de ejemplo demostrando como emular un
modo de color de 12 bits truecolor en una tarjeta de 8 bits.
-
Michal Mertl añadió una rutina para generar paletas optimizadas para una
imagen truecolor específica.
-
Se han optimizado las funciones getr/g/b(). Convertir ahora imágenes de
diferentes profundidades de color debería de ser mucho más rápido ahora.
-
Scott Harrison añadió código para detectar OpenDOS, y se usa el modo
i_love_bill si su versión de EMM386 está en uso.
-
Se añadieron algunos programas de ejemplo.
-
La utilidad makedoc ahora convierte los códigos de caracteres de DOS a
los extendidos de Windows al crear ficheros HTML.
-
Ettore Perazzoli optimizó espectacularmente la función blit lineal del
modo-X.
-
Se añadió una opción grid a la utilidad dat, para especificar que región
del bitmap quieres coger.
-
Arreglado el fallo al dibujar bitmaps truecolor en bitmaps de modo-X.
-
Arreglado el fallo que impedía cambiar el volumen de la tarjeta Adlib
cuando sólo los drivers MIDI estaban instalados.
-
El grabber se puede ejecutar en otros modos de vídeo que 64x480 (sin
embargo, no es muy bonito en resoluciones bajas :-)
-
Se añadió un nuevo scancode falso para la tecla extendida / (la del
teclado numérico) para que las dos teclas puedan ser distinguibles.
-
Joaquin Hierro Díaz hizo un mapa de teclado español.
-
La utilidad de setup se puede usar ahora para seleccionar un mapa de
teclado y para calibrar el joystick, así como para el hardware de sonido.
-
Moví algunos documentos a otros sitios, para que la gente ojalá encuentre
más rápido el fichero faq.txt, y para acercarme al modo de distribución
estándar de GNU.
-
Mejorado el sistema de configuración de teclado. Ahora hay una utilidad
para seleccionar el mapa de teclado, y éstos pueden ser leídos desde
ficheros externos, y soportan correctamente las teclas alt-gr y los
acentos.
-
Los ítems de los menús ahora se pueden desactivar, tienen ahora signos de
marcado, pueden alinearse el texto a la derecha para enseñar atajos de
teclado, hay un nuevo campo "void *dp" en la estructura del menú, y hay
rutinas de clickeado callback usan el puntero global "active_menu" para
determinar qué opción fue llamada, si alguna rutina es compartida por
varios ítems de menú.
-
Peter Palotas añadió un callback de entrada a las rutinas de teclado, y
banderas de evento al callback del ratón.
-
Se añadió la opción -pal a la utilidad dat.
-
Grzegorz Ludorowski hizo algunos gráficos nuevos para la demo.
-
Se movió parte del código a nuevos ficheros y se añadieron varios macros
para que puedas quitar drivers de gráficos y sonido en el momento de
enlazar tu programa.
-
Fabian Nuñez añadió soporte para el joystick Logitech Wingman Extreme.
-
Chris La Mantia contribuyó con un objeto de diálogo d_slider_proc().
-
Sean Gugler añadió una rutina para cambiar el estado de los LEDs del
teclado.
-
Gearge Foot añadió funciones de pausa y búsqueda al reproductor MIDI.
-
Se añadió la posibilidad de unir ficheros de datos (de hecho, cualquier
fichero) al final de tu programa ejecutable.
-
Se incluyó del driver de la AWE32. ¡Larga vida a George!
-
Ahora se pueden leer ficheros TGA con compresión RLE.
-
Se añadió una función de callback de movimiento para el ratón (útil para
detectar eventos de doble click).
-
Stefan Eilert añadió soporte para dos joysticks.
-
Seymour Shlien contribuyó una rutina para dibujar texto justificado.
-
Krzysztof Krzyzaniak contribuyó un cargador de ficheros .VOC.
-
Se añadió la función rotate_scaled_sprite().
-
Ahora hay soporte para teclados Dvorak.
-
Salvador Eduardo Tropea añadió el modo VGA 320x100.
-
Se implementaron funciones para dibujar ficheros RLE translúcidos e
iluminados en los modos truecolor.
-
Se actualizó el la utilidad de setup de sonido.
-
La utilidad dat puede crear ficheros makefile para poder reconstruir un
fichero automáticamente cuando un fichero fuente cambia.
-
Se solucionaron algunos problemas de las funciones de conversión
RGB <-> HSV.
-
Soporte truecolor añadido al grabber y al cargar imágenes.
-
Phil Frisbie añadió código para detectar el tipo de CPU.
-
Michal Mertl añadió los modos gráficos de 24 bits. ¡Hurra!
-
Se añadieron funciones para reproducir canales de datos de audio digital.
-
Chris La Mantia contribuyó un objeto de icono bitmap GUI.
-
Doug Eleveld añadió un objeto de caja de texto GUI, y un sistema mejorado
de ayuda para el grabber.
-
Ahora se soportan los mapas de teclado UK y AZERTY. Se pueden añadir más
fácilmente si me mandas la tabla scancode->ASCII apropiada...
-
Se añadieron las funciones get_align_matrix(), qtranslate_matrix(), y
qscale_matrix().
-
Se añadió la función draw_character() para usar sprites como máscaras
monocromas de pixel.
-
Ahora es seguro pasar la misma matriz como entrada y salida de la función
matrix_mul().
-
Paul Bartrum contribuyó algunas funciones para dibujar elipses.
-
Se añadieron callbacks al driver MIDI, permitiéndote introducir tu propio
código en las notas midi o marcas de eventos.
-
Se añadió una función para medir el movimiento del ratón en mickeys
(diferencia desde la última llamada) así como en coordenadas absolutas de
pantalla.
-
VolkerOth posibilitó el scroll de los objetos d_edit_proc, si la cadena
de texto es más larga que el espacio disponible.
-
Se añadió la habilidad de distinguir entre las teclas izquierda y derecha
de Control y Alt.
-
Fabian Nuñez añadió soporte para las teclas extra del teclado Microsoft.
-
Se añadieron los campos *dp2 y *dp3 a la estructura de diálogo. Esto no
debería romper código existente, pero te permitirá almacenar más datos
cuando crees objetos propios.
-
Las funciones packfile ahora pueden abrir y leer objetos de un fichero de
datos, usando nombres falsos de la forma "nombre.dat#nom_objeto". Esto
significa que todas las rutinas de Allegro de acceso a ficheros (como
load_pcx() o set_config_file()) pueden leer de objetos de ficheros de
datos al igual que de ficheros individuales.
-
Se añadieron los programas miditest y digitest para permitir un testeo
más riguroso de las rutinas de sonido y los patches, y el programa
vesainfo para chequear a qué resoluciones se puede acceder en una tarjeta
de vídeo.
-
Jan Hubicka escribió una versión más rápida de create_rgb_table().
-
La utilidad grabber ahora escala la vista previa de un bitmap si la
imagen es demasiado larga para caber en la pantalla.
-
Jorrit Rouwe incorporó nuevas y mejores definiciones de instrumentos FM
al driver MIDI de Adlib.
-
Se añadió una función para cargar patches .IBK para uso del driver Adlib.
-
Se añadió el directorio allegro/ a la estructura del árbol del fichero
zip, por lo que ahora puedes descomprimir Allegro en tu directorio djgpp.
-
Richard Mitton añadió soporte para joysticks con 6 botones.
-
Modos gráficos truecolor (15, 16, y 32 bits).
-
Rutinas de sonido vastamente mejoradas (API más flexible, ahora soporta
hasta 32 voces simultáneas en la SB, driver MIDI basado en samples, puede
invertir samples, hacer efectos de volumen/pan/pitch, los comandos MIDI
se pueden ejecutar en tiempo real así como desde un fichero, y muchas más
cosas).
-
Ahora se puede actualizar el estado de los diálogos GUI de forma
ascendente desde tus propios bucles de control, con la función
update_dialog(), en vez de pasar el control totalmente a do_dialog().
-
Los ficheros comprimidos (incluyendo ficheros de datos) pueden ser
encriptados con un password.
-
Añadida la función masked_blit(), que ignora los pixels cero.
-
Se añadió código para detectar la ejecución bajo Linux DOSEMU, y en ese
caso se usa una versión del código de temporización que usa menos
recursos.
-
Se añadió un mecanismo de configuración estandarizado. El formato para la
información salvada de calibración de joystick ha cambiado, por lo que
los ficheros de joystick existentes ya no son válidos.
-
Se añadió la rutina textprintf(), que usa un formato de cadena como
printf().
-
Se añadió una versión TexInfo de la documentación ((gracias por la ayuda,
Francois!)
-
Jonas Petersen añadió la función save_bmp(), y añadió soporte para el
formato BMP de OS/2.
-
TBD/FeR añadió las resoluciones 320x600 y 360x600 al driver de modo-X.
-
Matthew Bowie añadió soporte para joysticks de 4 botones.
-
Dave Thomson añadió funciones de conversión RGB <-> HSV.
-
Se añadió la variable ''freeze_mouse_flag', que puede ser usada para
congelar el puntero a una posición específica.
-
Se añadió la variable 'key_led_flag', que ahora puede ser usada para
evitar que el LED de estado de las teclas bloq.mayús, bloq.num y
scroll-lock cambie.
-
El reproductor midi ahora inicializa midi_pos a -1 cuando la música acaba
de tocar.
-
Adrian Oboroc escribió una función para cargar LBM.
-
Las fuentes ahora pueden contener caracteres ASCII por encima de 127.
-
Chris Wigman hizo una intro mejor para el juego demo.
-
Se añadieron rutinas de translucencia, mezcla de color e iluminación
(basadas en código de Owen Embury e ideas de Nathan Albury).
-
Se añadieron funciones matemáticas 3d y de manipulación de matrices.
-
Se añadieron dibujadores de polígonos texturizados y con sombreado
goraud.
-
Tim Gunn contribuyó código para leer y escribir ficheros TGA.
-
Se arreglaron los problemas de los sprites rotatorios no circulares.
-
Se añadieron barras de desplazamiento al objeto GUI listbox.
-
Seymour Shlien escribió una función para dibujar curvas bezier.
-
Se añadieron las funciones de punto fijo fadd() y fsub(), que chequean el
desbordamiento.
-
Se añadieron las funciones pack_fseek() y manipulación de chunks a las
rutinas de ficheros.
-
Se mejoró la estructura de los ficheros de datos y el programa grabber.
-
Se escribió una utilidad para convertir ficheros de datos del grabber en
código asm enlazable.
-
Salvador Eduardo Tropea mejoró las rutinas de teclado (mejor manejo de
scancodes extendidos, soporte de LED del teclado, y detección de
bloq.mayús, bloq.num y alt+teclado numérico).
-
Se arreglaron las funciones packfile y el selector de ficheros para que
funcionen con los nombres largos de win95.
-
Seymour Shlien contribuyó un lector de ficheros BMP.
-
Añadida una función de enganche al código de teclado, permitiéndote usar
código GUI sin instalar el controlador de teclado.
-
Solucionado el cuelgue producido por intentar acceder a unidades de disco
no existentes.
-
Francois Charton escribió un driver para la tarjeta gráfica Paradise.
-
Chris La Mantia contribuyó el botón de radio de diálogo GUI y añadió la
bandera de objeto D_DISABLED.
-
Markus F.X.J. Oberhumer arregló las funciones de scroll de Video-7.
-
Se convirtió la documentación en formato HTML.
-
Se añadió código para detectar Windows NT.
-
Mark Habersack añadió soporte para nuevos chipsets Trident.
-
Se trabajó más en el driver VBA/AF (ahora funciona, pero todavía no
soporta funciones de aceleración por hardware).
-
Arreglados los fallos del reproductor FLIC y cargador de samples WAV.
-
Se añadió el modo especial 'windows friendly' al código del temporizador.
¡Ahora incluso puedes ejecutar demo.exe bajo Windows 3.1!
-
Se reorganizó la estructura de directorios para permitir una versión
Linux. El fichero liballeg.a ahora se encuentra en lib/djgpp.
-
Se añadió soporte para las fuentes de formato BIOS 8x16.
-
Solucionado un problema de desbordamiento al rotar sprites grandes.
-
Se arregló un problema con la recuperación del modo texto después de
ejecutar programas que usan Allegro.
-
Arreglado el fallo en el banco.S.
-
install_mouse() ahora ajusta el rango a (0,0,SCREEN_W,SCREEN_H).
-
install_sound() no ajusta automáticamente el volumen al máximo.
-
Se añadieron los operadores ++ y -- a la clase fija.
-
Makefile ahora copia liballeg.a a lib, y allegro.h a include.
-
Se hicieron algunos cambios para trabajar con LFN=y (por si usas unzip o
winzip en vez de pkunzip).
-
Se añadió el fichero manifest.
-
Instrucciones de instalación clarificadas.
-
Soporte de modo-X (gracias a Jonathan Tarbox y Dominique Biesmans por
sugerir esto y luego ayudar a implementarlo).
-
Sprites compilados.
-
Jonathan Tarbox contribuyó un reproductor FLI/FLC.
-
Se añadieron modos de dibujo con patrón.
-
Se añadió un simulador de la interrupción de retrazo vertical.
-
polygon() ahora puede manejar figuras cóncavas o con intersecciones.
También se cambiaron los parámetros un poco. Perdón si esto estropea tu
código viejo, pero es más eficiente de este modo.
-
Añadido stretch_sprite().
-
Se escribió la rutina floodfill().
-
Rutinas de fundido de paleta más flexibles.
-
Se añadió set_volume() al código de sonido.
-
David Calvin escribió una utilidad para configurar el sonido.
-
Mejorado el GUI. Se añadieron menús emergentes/de persiana, entrada de
joystick, cajas de alerta de tres botones, mejor manejo del foco con los
cursores, un nuevo objeto de atajo de teclado (d_keyboard_proc()), y el
carácter '&' para marcar los atajos de teclado. El GUI ahora puede ser
usado con otras fuentes que no sean 8x8 al alterar el puntero global
'font'.
-
Fabian Nuñez añadió soporte para el joystick CH Flightstick Pro (me
gusta: quiero uno :-) y el botón central del ratón.
-
El mánager de teclado ahora responde al estado de las teclas ctrl y alt,
y hay una nueva función simulate_keypress().
-
Mark Wodrich añadió sub-bitmaps, que comparten memoria con bitmaps padre
y pueden ser posicionados en cualquier lugar dentro de ellos, y tienen
sus propios rectángulos de clipping.
-
Mask modificó el driver de ratón para hacer doble-buffer con el puntero
(para que no parpadeé más), y añadió la función set_mouse_sprite_focus().
-
Se añadieron las funciones set_mouse_range() y set_mouse_speed().
-
Gracias (de nuevo) a Mark Wodrich, el grabber ahora puede importar
ficheros GRX .FNT.
-
El grabber ahora puede hacer backups al salvar ficheros de datos, y sólo
escribe el fichero de cabecera si el contenido ha cambiado, para prevenir
la recompilación innecesaria.
-
Añadida la función text_height().
-
Mejoradas las funciones de punto fijo de cosecante y secante. Ahora usan
tablas precalculadas, por lo que sin mucho más rápidas.
-
Reorganizada la estructura de directorios, añadidos algunos programas de
ejemplo y mejorada la documentación.
-
Marcel de Kogel arregló algunos problemas con el driver MPU-401. Ahora
realmente funciona :-)
-
Marcel también mejoró los sonidos de batería del driver Adlib.
-
Funciones fmul() y fdic() ahora en ensamblador.
-
Función fsqrt() mucho más rápida, cogida de la librería de punto
fijo/coma flotante de Arne Steinarson.
-
Funciones bmp_write_line(), bmp_read_line(), y _putpixel() en
ensamblador.
-
Las rutinas de teclado ahora soportan la secuencia de escape de
emergencia ctrl+alt+del, y hay mánagers de señales para asegurarse de que
Allegro se cerrará limpiamente si tu programa se bloquea.
-
Nuevas funciones irq que ahora pueden tratar con interrupciones
reentrantes.
-
Se añadieron rutinas de joystick (basadas en código de Jonathan Tarbox y
Marcel de Kogel).
-
Se movieron algunas funciones a otros ficheros y se cambiaron cosas para
que el enlazador haga un trabajo mejor. Si ahora no usas funciones de
sonido o de gráficos, no serán enlazadas a tu ejecutable.
-
Marcel de Kogel consiguió localizar mi (terriblemente estúpido :-) error
que no permitía trabajar al driver lineal VESA 2.0.
-
Varios correcciones de fallos y mejoras de rendimiento.
-
Dejé todo el código Borland. Hace unos meses se me acabó el espacio en el
disco duro, y ejecuté con gran satisfacción el comando 'deltree /y
c:\bc4'. Era un compilador horrible, y estoy orgulloso de que esté muerto.
-
Se añadió soporte SVGA. Como resultado, ya no hay motivo para poner el
sistema en modo 13h con allegro_init(), por lo que estarás en modo texto
hasta llamar set_gfx_mode().
-
Se añadió código de sonido (mezcla de samples y música MIDI de fondo).
-
Se añadió soporte para fuentes proporcionales (de cualquier tamaño) al
igual que las antiguas fuentes fijas de 8x8.
-
Modo de dibujo XOR.
-
Ahora ya no existe la estructura SPRITE. El código de dibujo de sprites
ahora dibuja bitmaps sobre otros bitmaps, lo cual es un modo más flexible
de hacer las cosas. El lector de ficheros de datos convertirá tus viejos
sprites a bitmaps al cargarlos, por lo que la única diferencia práctica
es que ahora las funciones de dibujado de sprites no pueden dibujar
sprites opacos (pero sigues pudiendo hacer un blit).
-
show() y get_sprite() ya no existen: usa blit() en su lugar.
-
Se añadieron las funciones de dibujo de sprites rotados e invertidos.
-
Se añadió el escalado de bitmaps.
-
Se añadieron sprites RLE.
-
drawsprite() ahora se llama draw_sprite().
-
textmode() ahora se llama text_mode() para evitar conflictos con las
definiciones de conio.h.
-
Todas las funciones de acceso a ficheros se han renombrado de la sintaxis
de stdio a pack_fopen(), pack_getc(), etc, para que puedan ser mezcladas
con código que use stdio.
-
Se añadió pack_fgets() y pack_fputs().
-
El puntero port_callback ya no existe.
-
Eliminado polyline() (¿quién lo usaba?), y se añadió polygon(), que dibuja
un polígono convexo relleno con un número arbitrario de vértices.
-
Se añadieron las funciones do_line() y do_circle(), que llaman una
función del usuario por cada pixel que necesita ser dibujado.
-
Se añadió un interfaz de teclado por defecto a las rutinas GUI,
permitiendo la selección de objetos con los cursores y <enter>.
-
Se añadieron algunos mensajes y banderas GUI. En particular ahora hay
mensajes para seguir el movimiento del ratón, un mensaje de espera, un
valor especial de retorno del mensaje MSG_CHAR que permite a un objeto
ignorar el manejo por defecto del teclado, y una bandera que oculta un
objeto.
-
Hay nuevas rutinas GUI para centrar el diálogo en la pantalla y para
alterar los colores usados por los diálogos estándar de alerta y
selección de ficheros.
-
El selector de ficheros ahora acepta un tercer parámetro que especifica
el tipo de extensión a enseñar.
-
Las rutinas de reloj ahora tienen mejor grado de precisión que un
milisegundo, y ahora es posible alterar la velocidad de una rutina
callback de reloj en tiempo real (reinstalándola con un nuevo valor de
velocidad).
-
Se eliminó la estructura _RGB y las funciones paltorgb(). Los RGB's ahora
se almacenan directamente en el formato de hardware, cada uno con un
valor en el rango 0-63.
-
Se añadieron funciones para coger y escribir entradas de paleta
individuales al igual que paletas enteras.
-
Se añadió código para fijar (lock) memoria DPMI.
-
Se escribió la clase 'fija' C++ que sobrecarga muchos operadores,
permitiéndote usar las rutinas de punto fijo fácilmente.
-
Probablemente hay muchas más cosas que he olvidado.