Hay gente que se queja de que Allegro produce ejecutables muy grandes. Esto es cierto: con la versi�n DJGPP, un simple programa "hola mundo" ocupar� unas 200k, aunque este tama�o por ejecutable es mucho menor en plataformas que soportan enlazado din�mico. Pero no se preocupe, Allegro ocupa un tama�o relativamente fijo, y no aumentar� a medida que lo hace su programa. Tal y como George Foot dijo sin tapujos, quien est� preocupado por la relaci�n entre c�digo de biblioteca y programa deber�a ponerse manos a la obra y escribir m�s c�digo de programa para equilibrar la cosa :-)
Dicho esto, hay varias cosas que puede hacer para reducir el tama�o de sus ejecutables:
donde los nombres driverx son cualquiera de las definiciones:BEGIN_GFX_DRIVER_LIST driver1 driver2 etc... END_GFX_DRIVER_LIST
Esta construcci�n debe ser incluida s�lo en uno de sus ficheros C. El orden de los nombres es importante, porque la rutina de auto detecci�n funciona de arriba a abajo hasta encontrar un controlador capaz de soportar el modo solicitado. Yo le sugiero que use la lista de arriba ordenada por defecto, y borre simplemente las l�neas que no vaya a necesitar.GFX_DRIVER_VBEAF GFX_DRIVER_VGA GFX_DRIVER_MODEX GFX_DRIVER_VESA3 GFX_DRIVER_VESA2L GFX_DRIVER_VESA2B GFX_DRIVER_XTENDED GFX_DRIVER_VESA1
donde los nombres de profundidades de color son cualquiera de los defines:BEGIN_COLOR_DEPTH_LIST depth1 depth2 etc... END_COLOR_DEPTH_LIST
Quitar cualquier profundidad de color le ahorrar� un poco de espacio, con la excepci�n de los modos de 15 y 16 bits: �stos comparten una buena porci�n de c�digo, as� que si est� incluyendo uno, no hay raz�n para quitar el otro. Est� avisado de que si intenta usar una profundidad de color no incluida en esta lista, �su programa se colgar� de forma horrible!COLOR_DEPTH_8 COLOR_DEPTH_15 COLOR_DEPTH_16 COLOR_DEPTH_24 COLOR_DEPTH_32
usando las definiciones de controladores digitales:BEGIN_DIGI_DRIVER_LIST driver1 driver2 etc... END_DIGI_DRIVER_LIST
y para la m�sica MIDI:DIGI_DRIVER_SOUNDSCAPE DIGI_DRIVER_AUDIODRIVE DIGI_DRIVER_WINSOUNDSYS DIGI_DRIVER_SB
usando las definiciones de controladores MIDI:BEGIN_MIDI_DRIVER_LIST driver1 driver2 etc... END_MIDI_DRIVER_LIST
Si va a usar alguno de �stas construcciones, debe usar las dos. Si s�lo quiere incluir controladores de sonido digital, simplemente escriba DECLARE_MIDI_DRIVER_LIST() para no incluir controladores de m�sica.MIDI_DRIVER_AWE32 MIDI_DRIVER_DIGMID MIDI_DRIVER_ADLIB MIDI_DRIVER_MPU MIDI_DRIVER_SB_OUT
usando las definiciones de controladores de joystick:BEGIN_JOYSTICK_DRIVER_LIST driver1 driver2 etc... END_JOYSTICK_DRIVER_LIST
El controlador est�ndar incluye soporte para joysticks duales, n�mero superior de botones, Flightstick Pro, y Wingman Extreme, porque �stos son variaciones menores del c�digo b�sico.JOYSTICK_DRIVER_WINGWARRIOR JOYSTICK_DRIVER_SIDEWINDER JOYSTICK_DRIVER_GAMEPAD_PRO JOYSTICK_DRIVER_GRIP JOYSTICK_DRIVER_STANDARD JOYSTICK_DRIVER_SNESPAD JOYSTICK_DRIVER_PSXPAD JOYSTICK_DRIVER_N64PAD JOYSTICK_DRIVER_DB9 JOYSTICK_DRIVER_TURBOGRAFX JOYSTICK_DRIVER_IFSEGA_ISA JOYSTICK_DRIVER_IFSEGA_PCI JOYSTICK_DRIVER_IFSEGA_PCI_FAST
Si comenta cualquiera de estas definiciones y reconstruye la librer�a, tendr� una versi�n sin soporte para las profundidades de color ausentes, lo que incluso reducir� m�s el ejecutable que la macro DECLARE_COLOR_DEPTH_LIST(). El quitar el define ALLEGRO_COLOR16 eliminar� el soporte para los modos de 15 y 16bits, ya que �stos comparten mucho c�digo.#define ALLEGRO_COLOR8 #define ALLEGRO_COLOR16 #define ALLEGRO_COLOR24 #define ALLEGRO_COLOR32
Si est� distribuyendo una copia del programa setup junto con su juego, puede conseguir una reducci�n de tama�o dram�tica mezclando el c�digo del programa setup con su programa principal, para que s�lo sea necesario enlazar una copia de Allegro. Lea setup.txt para m�s detalles. En la versi�n DJGPP, tras comprimir su ejecutable, esto le ahorrar� unos 200k en comparaci�n con tener dos programas separados para setup y el propio juego.