Merged and fixed some whitespaces.

This commit is contained in:
tomrus88 2009-05-29 10:40:13 +04:00
commit 84ed071e16
42 changed files with 283 additions and 141 deletions

View file

@ -3,23 +3,16 @@
#include "Stormlib.h"
#define __STORMLIB_SELF__
typedef std::vector<MPQArchive*> ArchiveSet;
ArchiveSet gOpenArchives;
MPQArchiveSet gOpenArchives;
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MPQArchive::MPQArchive(const char* filename)
{
BOOL succ = SFileOpenArchive(filename, 0, 0,&hMPQ);
if (succ)
{
MPQArchive*ar = (MPQArchive*)(hMPQ);
printf("Opening %s\n", filename);
gOpenArchives.push_back(ar);
succ = true;
}
else
{
printf("Error!!!Not open archive %s\n", filename);
}
}
void MPQArchive::close()
@ -27,16 +20,35 @@ void MPQArchive::close()
SFileCloseArchive(hMPQ);
}
bool MPQArchiveSet::Open( std::vector<std::string> const& archiveNames )
{
for (size_t i=0; i < archiveNames.size(); ++i)
{
MPQArchive mpqarch(archiveNames[i].c_str());
if(mpqarch.isOpen())
archives.push_back(mpqarch);
}
return !archives.empty();
}
MPQArchiveSet::~MPQArchiveSet()
{
// close archives
for (ArchiveSet::iterator ar_itr = archives.begin(); ar_itr != archives.end(); ++ar_itr)
ar_itr->close();
}
MPQFile::MPQFile(const char* filename):
eof(false),
buffer(0),
pointer(0),
size(0)
{
for(ArchiveSet::iterator i=gOpenArchives.begin(); i!=gOpenArchives.end();++i)
for(ArchiveSet::const_iterator i=gOpenArchives.archives.begin(); i!=gOpenArchives.archives.end();++i)
{
HANDLE hFile = "";
MPQArchive*(hMPQ) = *i;
hMPQ = i->hMPQ;
BOOL succ = SFileOpenFileEx(hMPQ,filename,0, &hFile);
if (succ)
{
@ -54,7 +66,7 @@ MPQFile::MPQFile(const char* filename):
eof = false;
return;
}
}
}
eof = true;