#include "stdafx.h" #include "CSemiDefHandler.h" #include extern SDL_Surface * ekran; std::string CSemiDefHandler::nameFromType (EterrainType typ) { switch(typ) { case dirt: { return std::string("DIRTTL.DEF"); break; } case sand: { return std::string("SANDTL.DEF"); break; } case grass: { return std::string("GRASTL.DEF"); break; } case snow: { return std::string("SNOWTL.DEF"); break; } case swamp: { return std::string("SWMPTL.DEF"); break; } case rough: { return std::string("ROUGTL.DEF"); break; } case subterranean: { return std::string("SUBBTL.DEF"); break; } case lava: { return std::string("LAVATL.DEF"); break; } case water: { return std::string("WATRTL.DEF"); break; } case rock: { return std::string("ROCKTL.DEF"); break; } } } void CSemiDefHandler::openDef(std::string name, std::string lodName, int dist) { std::ifstream * is = new std::ifstream(); is -> open((lodName+"\\"+name).c_str(),std::ios::binary); is->seekg(0,std::ios::end); // na koniec int andame = is->tellg(); // read length is->seekg(0,std::ios::beg); // wracamy na poczatek buforD = new unsigned char[andame]; // allocate memory is->read((char*)buforD, andame); // read map file to buffer defName = name; int gdzie = defName.find_last_of("\\"); defName = defName.substr(gdzie+1, gdzie-defName.length()); delete is; readFileList(dist); loadImages(lodName); } CSemiDefHandler::~CSemiDefHandler() { for (int i=0;iw; dest.h = image->h; SDL_BlitSurface(image, NULL, ekran, &dest); SDL_UpdateRects(ekran, 1, &dest); SDL_FreeSurface(image); } void CSemiDefHandler::openImg(const char *name) { SDL_Surface *image; image=IMG_Load(name); //SDL_DisplayBitmap(name,image, 0,0); if(!image) { printf("IMG_Load: %s\n", IMG_GetError()); return; // handle error } Cimage vinya; vinya.bitmap = image; SDL_SetColorKey(vinya.bitmap,SDL_SRCCOLORKEY,SDL_MapRGB(vinya.bitmap->format,0,255,255)); vinya.imName = name; ourImages.push_back(vinya); }