salve a tutti,
sto leggendo la guida sulla programmazione di giochi con le librerie allegro (trovata su manuali.it)
ho realizzato un semplice programma che visualizza l'immagine del giocatore e uno sfondo, tutte le immagine sono in forato .bmp però quando eseguo il programma i colori sono errati ovvero l'erba che dovrebbe essere verde invece è blu, il cielo è giallo ecc...

qualcuno sa aiutarmi?

ecco il codice completo

#include<allegro.h>

#include"Main.h"

#define H_ris 640
#define L_ris 480

int main() {
allegro_init();
/*periferiche*/
install_keyboard();

/*colori*/
set_color_depth(32);
set_palette(colori);

sprite = load_bmp("player.bmp", colori);
x = 10; y = 10;
sfondo = load_bmp("sfondo.bmp", colori);

/*sfondo*/
scrolling = create_bitmap(2560, 480);
clear(scrolling);
for (moltiplica=0;moltiplica<=2560;moltiplica=moltipli ca+1280) {
blit(sfondo, scrolling, 0, 0, moltiplica, 0, 1280, 480);
}


set_gfx_mode(GFX_AUTODETECT_WINDOWED, H_ris, L_ris, 0, 0);
buf = create_bitmap(H_ris, L_ris);
clear(buf);
while(!key[KEY_ESC]) {
doppiobuffering();
fondale();
player();
movimentotasti();
}
destroy_bitmap(buf);
destroy_bitmap(sprite);
destroy_bitmap(sfondo);
destroy_bitmap(scrolling);
}

END_OF_MAIN();
e il codice del file header

#define H_ris 640
#define L_ris 480

/*Dichiarazioni Variabili*/
BITMAP *buf, *sprite, *sfondo, *scrolling;
PALETTE colori;
int x, y, moltiplica, xscroll;

/*Prototitpi Funzioni*/
void doppiobuffering() {
vsync();
blit(buf, screen, 0, 0, 0 ,0, H_ris, L_ris);
clear(buf);
}

void player() {
draw_sprite(buf, sprite, x, y);
}

void movimentotasti() {
if(key[KEY_LEFT]) x=x-4; if(x<=0) x=0;
if(key[KEY_RIGHT]) x=x+4; if(x>=(H_ris-45)) x=(H_ris-45);
if(key[KEY_UP]) y=y-4; if(y<=0) y=0;
if(key[KEY_DOWN]) y=y+4; if(y>=(L_ris-45)) y=(L_ris-45);
}

void fondale() {
xscroll = xscroll+1;
blit(scrolling, buf, xscroll, 0, 0, 0, H_ris, L_ris);
if(xscroll>1279) {
xscroll = 0;
}
}
AIUTO!