Mercurial > hg > forks > yadex
view src/r_images.h @ 110:e9eb768e7d2b
Cleanup, fix a warning.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 06 Oct 2014 15:18:03 +0300 |
parents | a68786b9c74b |
children |
line wrap: on
line source
/* * r_images.h * AJA 2002-04-27 */ #ifndef YH_R_IMAGES /* DO NOT INSERT ANYTHING BEFORE THIS LINE */ #define YH_R_IMAGES #include <map> #include <algorithm> #include <string> struct ImageCache { public: typedef std::map < std::string, Img * >flat_map_t; typedef std::map < std::string, Img * >tex_map_t; typedef std::map < wad_ttype_t, Img * >sprite_map_t; flat_map_t flats; tex_map_t textures; sprite_map_t sprites; static std::string WadToString(const wad_flat_name_t & fname) { size_t len; for (len = 0; len < WAD_NAME && fname[len]; len++); return std::string(fname, len); } static void DeleteFlat(const flat_map_t::value_type & P) { delete P.second; } static void DeleteTex(const tex_map_t::value_type & P) { delete P.second; } static void DeleteSprite(const sprite_map_t::value_type & P) { delete P.second; } ~ImageCache() { std::for_each(flats.begin(), flats.end(), DeleteFlat); std::for_each(textures.begin(), textures.end(), DeleteTex); std::for_each(sprites.begin(), sprites.end(), DeleteSprite); flats.clear(); textures.clear(); sprites.clear(); } Img *GetFlat(const wad_flat_name_t & fname); Img *GetTex(const wad_tex_name_t & tname); Img *GetSprite(const wad_ttype_t & type); }; #endif /* DO NOT ADD ANYTHING AFTER THIS LINE */