load_pal()

load_pal(<nombre de archivo>)

Descripción:

Carga una paleta de color de disco (de un archivo PAL, FPG, MAP, PCX o FNT) con la definición de los 256 colores que se visualizan en pantalla.

A partir de ese momento el juego se verá con la correspondencia de colores que indica dicha paleta.

Si en el momento de cargar la paleta el programa tenía asignada ya otra diferente, entonces se realizará un fundido de los colores de la pantalla a negro para después ir introduciendo, en los siguientes fotogramas del juego, la nueva paleta de color de forma gradual.

Se puede especificar la ruta de acceso al archivo con la paleta; no obstante, si el fichero está en el directorio por defecto (que dependiendo del tipo de archivo éste será: \PAL, \FPG, \MAP, \PCX o \FNT) no será necesario.

El programa leerá la paleta automáticamente del primero de estos tipos de archivos que se carguen en el programa, aunque no se utilice la función load_pal(). Luego, esta función se utiliza cuando el programa usa varias paletas diferentes para cambiar de una a otra.

Programa ejemplo:
PROGRAM ejemplo_load_pal;
BEGIN
    load_fpg("help\help.fpg");
    put_screen(0, 1);
    write(0, 160, 0, 1, "Pulse [ESPACIO] para cargar una paleta diferente.");
    write(0, 160, 10, 1, "Pulse [ENTER] para cargar la paleta original.");
    LOOP
        IF (key(_space))

            load_pal("help\help.pal"); // Se carga una paleta de un fichero .pal

        END
        IF (key(_enter))

            load_pal("help\help.fpg");  // Se carga una paleta de un fichero .fpg

        END
        FRAME;
    END
END


En el ejemplo, al inicio se carga un fichero de gráficos, se pone un fondo de pantalla y se imprimen los mensajes necesarios.

En el bucle principal del programa se carga una paleta diferente (de help.pal) cuando se pulsa la barra espaciadora y la paleta original (de help.fpg) al pulsar la tecla ENTER.


Una paleta no se puede descargar de la memoria del ordenador, ya que ésta no ocupa espacio en la memoria.


Ver: load_map/pcx() - load_fpg() - load_fnt()