From: <bal...@us...> - 2003-12-30 17:47:34
|
Update of /cvsroot/gemrb/gemrb/gemrb/plugins/Core In directory sc8-pr-cvs1:/tmp/cvs-serv15346/gemrb/plugins/Core Modified Files: TileMap.h TileMap.cpp Log Message: TileMap.cpp / .h : - Removed the old InfoPoint Struct - Using the new InfoPoint class Index: TileMap.h =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/TileMap.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** TileMap.h 22 Dec 2003 23:25:29 -0000 1.14 --- TileMap.h 30 Dec 2003 17:47:31 -0000 1.15 *************** *** 54,58 **** } Container; ! typedef struct InfoPoint { char Name[32]; unsigned short Type; --- 54,58 ---- } Container; ! /*typedef struct InfoPoint { char Name[32]; unsigned short Type; *************** *** 70,74 **** unsigned short TrapDetected; unsigned short LaunchX, LaunchY; ! } InfoPoint; #ifdef WIN32 --- 70,74 ---- unsigned short TrapDetected; unsigned short LaunchX, LaunchY; ! } InfoPoint;*/ #ifdef WIN32 *************** *** 90,94 **** std::vector<Door*> doors; std::vector<Container> containers; ! std::vector<InfoPoint> infoPoints; public: TileMap(void); --- 90,94 ---- std::vector<Door*> doors; std::vector<Container> containers; ! std::vector<InfoPoint*> infoPoints; public: TileMap(void); Index: TileMap.cpp =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/TileMap.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** TileMap.cpp 22 Dec 2003 23:25:28 -0000 1.15 --- TileMap.cpp 30 Dec 2003 17:47:31 -0000 1.16 *************** *** 37,40 **** --- 37,43 ---- delete(overlays[i]); } + for(size_t i = 0; i < infoPoints.size(); i++) { + delete(infoPoints[i]); + } } *************** *** 155,170 **** InfoPoint * TileMap::AddInfoPoint(char * Name, unsigned short Type, Gem_Polygon * outline) { ! InfoPoint ip; ! strncpy(ip.Name, Name, 32); ! ip.Type = Type; ! ip.outline = outline; ! ip.Active = true; infoPoints.push_back(ip); ! return &infoPoints.at(infoPoints.size()-1); } InfoPoint * TileMap::GetInfoPoint(unsigned short x, unsigned short y) { for(size_t i = 0; i < infoPoints.size(); i++) { ! InfoPoint * ip = &infoPoints.at(i); if(!ip->Active) continue; --- 158,182 ---- InfoPoint * TileMap::AddInfoPoint(char * Name, unsigned short Type, Gem_Polygon * outline) { ! InfoPoint *ip = new InfoPoint(); ! strncpy(ip->Name, Name, 32); ! switch(Type) { ! case 0: ! ip->ipType = ST_PROXIMITY; ! break; ! ! case 1: ! case 2: ! ip->ipType = ST_TRIGGER; ! break; ! } ! ip->outline = outline; ! ip->Active = true; infoPoints.push_back(ip); ! return infoPoints.at(infoPoints.size()-1); } InfoPoint * TileMap::GetInfoPoint(unsigned short x, unsigned short y) { for(size_t i = 0; i < infoPoints.size(); i++) { ! InfoPoint * ip = infoPoints.at(i); if(!ip->Active) continue; *************** *** 186,190 **** { for(size_t i = 0; i < infoPoints.size(); i++) { ! InfoPoint * ip = &infoPoints.at(i); int len = (int)strlen(ip->Name); int p = 0; --- 198,202 ---- { for(size_t i = 0; i < infoPoints.size(); i++) { ! InfoPoint * ip = infoPoints.at(i); int len = (int)strlen(ip->Name); int p = 0; *************** *** 205,208 **** { if(idx >= infoPoints.size()) return NULL; ! return &infoPoints.at(idx); } --- 217,220 ---- { if(idx >= infoPoints.size()) return NULL; ! return infoPoints.at(idx); } |