#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(const char *name) { std::ifstream * is = new std::ifstream(); is -> open(name,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(); loadImages(); } void CSemiDefHandler::readFileList() { howManyImgs = buforD[788]; int i = 800; for (int pom=0;pomw; 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()); // handle error } Cimage vinya; vinya.bitmap=image; vinya.imName = name; ourImages.push_back(vinya); }