Wczytanie obrazka w allegro

0
procedure start;
var
  logo : ^al_bitmap;
begin
  al_clear_to_color(al_screen, al_makecol(60,60,60));
  logo := NIL;
  logo := al_load_bmp('logo.bmp', al_default_palette);

  al_masked_blit(logo, al_screen, 0, 0, screenWidth div 2 - 200, ScreenHeight div 4, 400,150 ); 
  al_textout_centre_ex(al_screen,al_font,'Press any key to continue...', screenWidth div 2, screenHeight div 2 + screenHeight div 10, al_makecol(0, 255, 0), -1);
  al_readKey();
  al_destroy_bitmap(logo);
end;                         

program nie chce się skompilować, ponieważ nie czyta al_default_palette, a robię http://www.binboy.org/tworzenie-gier/tutorials/522/show/lekcja04.html tak jak tutaj jest napisane. Ktoś wie jak temu zaradzić?

0

program nie chce się skompilować, ponieważ nie czyta al_default_palette [...]

A może tak wkleisz dokładną treść błędu, zamiast marnować czas na dziwne opisy typu "nie czyta"..?

0
Error: (4025) Incompatible type for arg no. 2: Got "AL_PALETTE", expected "AL_PALETTEptr"
Hint: (5039) Found declaration: al_load_bmp(AnsiString,AL_PALETTEptr):^AL_BITMAP; CDecl;
2

Komunikat jasno informuje, że w argumencie drugim oczekiwany jest wskaźnik AL_PALETTEptr, a nie cała paleta typu AL_PALETTE; Nie znam tej biblioteki, ale poniższy fragment powinien się przynajmniej skompilować:

logo := al_load_bmp('logo.bmp', @al_default_palette);

O ile deklaracje tych dwóch typów są ze sobą powiązane, czyli typy te zadeklarowane są według poniższego schematu:

type
  AL_PALETTE    = {coś tam};
  AL_PALETTEptr = ^AL_PALETTE;

Jeśli tak jest - będzie się kompilować i działać prawidłowo, chyba że coś innego jest popsute.

1 użytkowników online, w tym zalogowanych: 0, gości: 1