1 #pragma once
2 
3 #include "all.h"
4 
5 namespace dvl {
6 
7 struct Art {
8 	SDL_Surface *surface;
9 	int frames;
10 	int logical_width;
11 	int frame_height;
12 	unsigned int palette_version;
13 
ArtArt14 	Art()
15 	{
16 		surface = NULL;
17 		frames = 1;
18 		logical_width = 0;
19 		frame_height = 0; // logical frame height (before scaling)
20 		palette_version = 0;
21 	}
22 
wArt23 	int w() const
24 	{
25 		return logical_width;
26 	}
27 
hArt28 	int h() const
29 	{
30 		return frame_height;
31 	}
32 
UnloadArt33 	void Unload()
34 	{
35 		SDL_FreeSurface(surface);
36 		surface = NULL;
37 	}
38 };
39 
40 void LoadArt(const char *pszFile, Art *art, int frames = 1, SDL_Color *pPalette = NULL);
41 void LoadMaskedArt(const char *pszFile, Art *art, int frames = 1, int mask = 250);
42 void LoadArt(Art *art, const BYTE *artData, int w, int h, int frames = 1);
43 
44 } // namespace dvl
45