 ______   ___    ___
/\  _  \ /\_ \  /\_ \
\ \ \L\ \\//\ \ \//\ \      __     __   _ __   ___        __    ___      ____
 \ \  __ \ \ \ \  \ \ \   /'__`\ /'_ `\/\`'__\/ __`\    /'__`\ /\__`\  /'___/
  \ \ \/\ \ \_\ \_ \_\ \_/\  __//\ \L\ \ \ \//\ \L\ \__/\ \L\ \\/ __ \/\____`\
   \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/\_\ \  __//\____/\/\____/
    \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/\/_/\ \ \/ \/___/  \/___/
                                   /\____/               \ \_\
     Versin 4.4.5                 \_/__/                 \/_/

  Un envoltorio para utilizar la biblioteca Allegro en Pascal
  por uo Martnez, 31 de Octubre de 2015.



======
ndice
======

 - Introduccin
 - Caractersticas
 - Licencia
 - Instrucciones de instalacin
 - Documentacin
 - Distribuir programas que usan Allegro.pas
 - Se busca colaboracin
 - Cmo buscar y recibir ayuda.



============
Introduccin
============

  Allegro.pas es un envoltorio que permite utilizar la biblioteca Allegro con
  el compilador Free Pascal.

  En principio la he programado para uso propio, por lo que no he incluido
  toda la funcionalidad disponible en Allegro.  Aun as,  la ir corrigiendo y
  ampliando segn vaya necesitndose.  Tambin administrar las modificaciones
  o aadidos que lleguen a mis manos para que estn disponibles para todos.



===============
Caractersticas
===============

  Preparada para ser utilizada en sistemas Windows y GNU/Linux, tanto 32bit
  como 64 bit.  Debera ser sencillo de utilizar en otros sistemas POSIX tales
  como MacOS o BSD, y se agradecern los informes del xito o fracaso en estos
  sistemas y cualquier otro as como cualquier ayuda que pueda facilitar.

  Funciones de dibujo, incluyendo puntos, lneas, rectngulos, 'sprites', etc.
  Soporta recorte, transparencia, efectos de iluminacin y puede dibujarse
  dirctamente en la pantalla o en memoria.

  Ejecucin en pantalla completa o en ventanas de distintos tamaos y con
  profundidad de color de 8, 15, 16, 24 y 32 bits por pixel.

  Animacin de archivos FLIC.

  Ejecucin de msica MIDI y hasta 64 efectos sonoros imultneos, permitiendo
  bucles, sonido estreo, modificacin de volumen, velocidad, etc.

  Fcil acceso al teclado, ratn y mandos de juego, as como temporizadores de
  alta precisin.

  Rutinas para leer y escribir archivos comprimidos en formato LZSS.

  Objetos, procedimientos y funciones para la creacin de dilogos y mens
  de forma simple.

  Dibujo de polgonos 3D con texturas y transparencias.  Adems incluye
  tcnicas como z-buffer y s-buffer.



========
Licencia
========

  Allegro y Allegro.pas son un regalo (gift-ware).  Fueron creados por un grupo
  de personas en cooperacin, y le es entregado a usted libremente como regalo.
  Puede usarla, modificarla, distribuirla y, en definitiva, hackearla de
  cualquier forma que desee y no tiene que entregarnos nada a cambio.  Sin
  embargo, si le gusta este producto le rogamos que nos lo agradezca haciendo
  un regalo a la comunidad de Allegro.  Este puede ser escribir una extensin,
  facilitar una descripcin de errores til, hacer alguna mejora a la
  biblioteca, o simplemente publicar las fuentes de su programa de forma que
  otras personas puedan aprender de l.  Si usted redistribuye partes de este
  cdigo o hace un juego con l, sera estupendo si menciona Allegro en alguna
  parte de los crditos, pero no es necesario que lo haga.  Confiamos que no
  abusar de nuestra generosidad.

   Disclaimer:

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT.  IN NO EVENT
   SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
   FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   DEALINGS IN THE SOFTWARE.



============================
Instrucciones de instalacin
============================

  Antes de comenzar, recuerde que debe instalar la biblioteca Allegro y el
  compilador Free Pascal.

La biblioteca Allegro
---------------------

  Recuerde que Allegro.pas es un envoltorio para usar la biblioteca Allegro con
  compiladores Pascal.  Allegro y Allegro.pas son dos bibliotecas y proyectos
  diferentes, por lo que no debe confundirlos entre s.  Por tanto, necesita la
  biblioteca Allegro "original" para que Allegro.pas funcione.

  Esta versin de Allegro.pas es compatible con la rama 4.4 de la biblioteca
  Allegro.  Esto significa que puede utilizar cualquier versin de Allegro que
  comience con el nmero 4.4 (como la 4.4.0 RC, 4.4.0, 4.4.1, etc) pero no con
  versiones anteriores (4.2, 3.0) ni posteriores (4.9, 5.0).

  Si est usando Windows, puede usar la versin precompilada de Allegro que se
  encuentra en http://sourceforge.net/projects/allegro-pas/files/allegro-pas-bin/
  Tenga en cuenta que esta versin puede ser ms vieja que la ltima publicada,
  pero es suficientemente estable.

  La mejor opcin si est usando GNU/Linux es bajarse las fuentes desde la web
  de Allegro y compilarla.  El propio paquete incluye instrucciones de cmo
  hacerlo.

El compilador de Pascal
-----------------------

  NOTA: La versin actual NO es compatible con Delphi, debido a que este
	compilador no es capaz de compartir variables con bibliotecas de
	enlace dinmcio (al menos no en las versiones de Delphi que he usado).
	Una versin anterior de Allegro.pas (4.2) lo permita usando una
	biblioteca intermedia, pero obligaba al uso de punteros y ms funciones
	de una forma muy poco natural y cmoda, por lo que se avandon.
	La versin 5.0 de Allegro, al no usar variables, volver a ser
	compatible con Delphi.


  Puede obtener el compilador Free Pascal desde su pgina web sita en
  http://www.freepascal.org/, o bien usar la includa en el entorno IDE Lazarus
  que encontrar en http://www.lazarus.freepascal.org/.  Ambos paquetes son
  fciles de instalar.

Compilar la demostracin y los ejemplos de Allegro.pas
------------------------------------------------------

  Para compilar los ejemplos y el juego de demostracin, abra una consola de
  comandos y sitese en el directorio donde ha descomprimido el paquete de
  distribucin de Allegro.pas, por ejemplo ejecutando el comando
  "cd allegro.pas".  Ejecute el guin "fix.bat", si utiliza Windows, o
  "./fix.sh", si utiliza GNU/Linux o similar, y siga las instrucciones de la
  pantalla.  Finalmente ejecute el comando "make";  esto debera ser suficiente
  para compilar los ejemplos y el juego de demostracin.  Si se produce algn
  error, asegrese que tanto el compilador como la biblioteca Allegro y
  cualquier otra biblioteca adicional estn correctamente instalados y
  configurados.  Si aun as tiene problemas, lea la seccin "Informacin de
  contacto" para recibir ms informacin.

Usar Allegro.pas en sus programas
---------------------------------

  Para utilizar Allegro.pas en sus programas, primero deber configurar el
  compilador para que pueda encontrar la biblioteca.  Para ello puede escribir
  esta informacin en el archivo de configuracin "fpc.cfg" o utilizar las
  opciones de la lnea de comandos.

  Use los parmetros "-FuUnitPath" y "-FiIncludePath" para indicar dnde se
  encuentra el subdirectorio "lib" de Allegro.pas.  Por ejemplo:
  fpc -FuD:\allegro.pas\lib -FiD:\allegro.pas\lib

  Tenga en cuenta que, puesto que la biblioteca Allegro est escrita en C y
  Ensamblador y est optimizada a muy bajo nivel, hay partes que pueden entrar
  en conflicto con algunas opciones del compilador Free Pascal, en especial en
  lo referente al manejo de la memoria.  Por ejemplo, se ha comprobado que la
  opcin "-Ct" parece interpretar errneamente el uso que se hace de las pilas
  en las funciones de interrupcin (por ejemplo, al_install_int) generando un
  error en tiempo de ejecucin "202" ("Desbordamiento de pila o corrupcin de
  pila") aun cuando esto no es as.  Lo mejor es usar las opciones que desee y,
  si se produce un error, comprobar si este se encuentra dentro o fuera de
  Allegro (por ejemplo, usando la herramienta GDB), y si se genera dentro de
  Allegro desactive la opcin que de problemas.

  De la misma forma, algunos modos de dibujo de polgonos 3D pueden dar
  problemas en los modos grficos de 15, 16, 24 y 32 bits por punto, aunque
  el resto s lo hacen a la perfeccin.  Lea la documentacin de la unidad al3d
  para ms informacin al respecto.

Ms informacin
---------------

  Existe una copia actualizada, en ingls, del proceso completo de instalacin
  en la wiki de Allegro.pas.  No dude en visitarla si tiene cualquier duda.

  http://allegro-pas.sourceforge.net/wiki/



=============
Documentacin
=============

  Si dispone de la utilidad pasdoc (http://pasdoc.sipsolutions.net/), puede
  generar la documentacin en formato HTML utilizando el archivo makefile.
  Smplemente escriba el comando "make docs".

  Si no, puede descargarse la documentacin desde la pgina de descargas
  del proyecto (http://allegro-pas.sourceforge.net/download) o consultarla
  en lnea en http://allegro-pas.sourceforge.net/docs

  Revise, tambin, el contenido del directorio "resources".

  Si necesita ms, vea la seccin de "Informacin de contacto".



========================================
Distribuir programas que usan Alegro.pas
========================================

  Siga las indicaciones dadas en la documentacin de Allegro para saber qu
  archivos deber distribuir junto con su programa.



=====================
Se busca colaboracin
=====================

  Si quiere, puede colaborar en la mejora y desarrollo de Allegro.pas y aadir
  su nombre a la lista de autores.  Se necesitan desde simples probadores hasta
  personas que ayuden a completar el manual de programacin, que lo traduzcan a
  otros idiomas o que escriban las funciones que faltan, demostraciones y
  ejemplos de uso.

  Si desea colaborar, lea la siguiente seccin y pngase en contacto *antes* de
  empezar a trabajar.



=======================
Informacin de contacto
=======================

  Encontrar la informacin referente a Allegro.pas y podr encontrar las
  ltimas versiones publicadas en http://allegro-pas.sourceforge.net.
  Tambin encontrar una lista de correo donde podr exponer sus dudas y
  hacer sugerencias, adems de pginas "wiki" con documentacin adicional.

  Otros foros interesantes sobre la programacin de juegos, donde tambin
  pueden ayudarle si tiene problemas con Allegro.pas, en "Pascal Game
  Development" (http://www.pascalgamedevelopment.com/) en ingls.
  Sobre programacin Pascal y Object Pascal en general puede visitar el Club
  Delphi (http://www.clubdelphi.com/) o la web Delphi Access
  (http://www.delphiaccess.com/).

  Si quiere obtener el mximo provecho, le recomendamos que siga las siguientes
  indicaciones:

    * Antes de hacer cualquier pregunta sobre la biblioteca, lea la
      documentacin.  Si no encuentra la respuesta en ella o no entiende algo,
      entonces s, dirjase al foro.  Si cree que falta algo en los documentos,
      no se explica correctamente o que hay errores, lo sabemos: ya dijimos que
      estamos trabajando en ello, verdad?
    * Antes de enviar un mensaje compruebe si ya se ha comentado con
      anterioridad su duda o propuesta.  La lista de correos y los foros
      disponen de un buscador que facilita la tarea de comprobacin.  Recuerde
      que el repetir las mismas preguntas, aunque sea en distintos foros, no
      asegura encontrar mejores o ms rpidas respuestas.
    * Asegrese de usar el idioma apropiado del foro.  Si nadie usa el
      castellano (o el idioma que sea) probablemente sea porque la mayora no
      lo conoce.
    * Ponga en el asunto una frase que resuma su mensaje.  Frases como
      "Necesito ayuda" o "No funciona" tal vez no atraigan la atencin de la
      gente que pueda ayudarle.  Utilize frases como "No se muestra el sprite
      donde quiero" o "No se reproduce el sonido correctamente".  Y no olvide
      indicar que est usando Allegro.pas;  de lo contrario podra obtener
      respuestas para otras bibliotecas (SDL, Pt, Delphix, etc.).
    * Si la consulta se refiere a un programa que ha escrito usted, procure
      incluir el cdigo donde crea que est el problema.  No es preciso que
      incluya todo el programa (a menos que alguien se lo pida expresamente),
      sino tan solo el fragmento que d contexto a su consulta.

  Siguiendo estas sencillas normas tendr ms posibilidades de obtener una
  respuesta rpida, correcta y adecuada a sus preguntas y sugerencias.
