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