9 static const char* filenames
[] = {
20 void init_graphics( const char *data_dir
) {
24 char temp
[MAXPATHLEN
];
26 images
= (Image
*)calloc( GR_COUNT
, sizeof( Image
));
28 for( i
=0; i
<GR_COUNT
; i
++) {
29 strcpy( temp
, data_dir
);
30 strcat( temp
, filenames
[i
]);
31 tmp
= IMG_Load( temp
);
33 fprintf( stderr
, "Error: %s\n", SDL_GetError());
37 SDL_SetColorKey( tmp
, SDL_SRCCOLORKEY
, SDL_MapRGB( tmp
->format
, 0, 0, 0));
38 data
= SDL_DisplayFormatAlpha( tmp
);
39 SDL_FreeSurface( tmp
);
42 fprintf( stderr
, "Error: %s\n", SDL_GetError());
45 images
[i
].data
= data
;
49 void uninit_graphics() {
52 for( i
=0; i
<GR_COUNT
; i
++) {
53 SDL_FreeSurface( images
[i
].data
);
59 void show_sprite( unsigned int id
, int pos
, int items
, int x_offset
, int y_offset
, int opacity
) {
63 bitmap
= images
[id
].data
;
67 SDL_SetAlpha( bitmap
, SDL_SRCALPHA
| SDL_RLEACCEL
, opacity
);
69 dst
.w
= src
.w
= bitmap
->w
/items
;
70 dst
.h
= src
.h
= bitmap
->h
;
76 SDL_BlitSurface( bitmap
, &src
, screen
, &dst
);
79 void show_image( unsigned int id
, int x_offset
, int y_offset
, int opacity
) {
80 show_sprite( id
, 0, 1, x_offset
, y_offset
, opacity
);
83 void show_digit( int zahl
, int x_offset
, int y_offset
, int opacity
) {
84 show_sprite( GR_SCORE
, zahl
, 11, x_offset
, y_offset
, opacity
);
87 void introimage( unsigned int id
) {
90 for( i
=0; i
<256; i
+=10) {
92 show_image( id
, 0, 0, i
);
100 for( i
=255; i
>=0; i
-=10) {
102 show_image( id
, 0, 0, i
);
118 SDL_FillRect( screen
, &rect
, SDL_MapRGB( screen
->format
, 0, 0, 0));
122 SDL_UpdateRect( screen
, 0, 0, 0, 0);