1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-10-31 00:07:39 +02:00
* CTRL+T will open marketplace window
* T in adventure map will switch to next town
* T in castle window will open a tavern window (if available)
* G will open thieves guild window if player owns at least one town with tavern
* various minor changes
This commit is contained in:
Michał W. Urbańczyk
2012-04-08 01:15:18 +00:00
parent 987788ef66
commit 3bf76cb719
13 changed files with 103 additions and 58 deletions

View File

@@ -248,7 +248,6 @@ void CConnection::sendPackToServer(const CPack &pack, ui8 player, ui32 requestID
}
CSaveFile::CSaveFile( const std::string &fname )
:sfile(NULL)
{
registerTypes(*this);
openNextFile(fname);
@@ -256,7 +255,6 @@ CSaveFile::CSaveFile( const std::string &fname )
CSaveFile::~CSaveFile()
{
delete sfile;
}
int CSaveFile::write( const void * data, unsigned size )
@@ -265,17 +263,10 @@ int CSaveFile::write( const void * data, unsigned size )
return size;
}
void CSaveFile::close()
{
delete sfile;
sfile = NULL;
}
void CSaveFile::openNextFile(const std::string &fname)
{
fName = fname;
close();
sfile = new std::ofstream(fname.c_str(),std::ios::binary);
sfile = make_unique<std::ofstream>(fname.c_str(), std::ios::binary);
if(!(*sfile))
{
tlog1 << "Error: cannot open to write " << fname << std::endl;
@@ -291,14 +282,13 @@ void CSaveFile::openNextFile(const std::string &fname)
void CSaveFile::reportState(CLogger &out)
{
out << "CSaveFile" << std::endl;
if(sfile && *sfile)
if(sfile.get() && *sfile)
{
out << "\tOpened " << fName << "\n\tPosition: " << sfile->tellp() << std::endl;
}
}
CLoadFile::CLoadFile(const std::string &fname, int minimalVersion /*= version*/)
:sfile(NULL)
{
registerTypes(*this);
openNextFile(fname, minimalVersion);
@@ -306,7 +296,6 @@ CLoadFile::CLoadFile(const std::string &fname, int minimalVersion /*= version*/)
CLoadFile::~CLoadFile()
{
delete sfile;
}
int CLoadFile::read( const void * data, unsigned size )
@@ -315,20 +304,14 @@ int CLoadFile::read( const void * data, unsigned size )
return size;
}
void CLoadFile::close()
{
delete sfile;
sfile = NULL;
}
void CLoadFile::openNextFile(const std::string &fname, int minimalVersion)
{
fName = fname;
sfile = new std::ifstream(fname.c_str(),std::ios::binary);
sfile = make_unique<std::ifstream>(fname.c_str(),std::ios::binary);
if(!(*sfile))
{
tlog1 << "Error: cannot open to read " << fname << std::endl;
sfile = NULL;
sfile.release();
}
else
{
@@ -338,8 +321,7 @@ void CLoadFile::openNextFile(const std::string &fname, int minimalVersion)
if(std::memcmp(buffer,"VCMI",4))
{
tlog1 << "Error: not a VCMI file! ( " << fname << " )\n";
delete sfile;
sfile = NULL;
sfile.release();
return;
}
@@ -347,8 +329,7 @@ void CLoadFile::openNextFile(const std::string &fname, int minimalVersion)
if(myVersion < minimalVersion)
{
tlog1 << "Error: Old file format! (file " << fname << " )\n";
delete sfile;
sfile = NULL;
sfile.release();
}
}
}
@@ -356,7 +337,7 @@ void CLoadFile::openNextFile(const std::string &fname, int minimalVersion)
void CLoadFile::reportState(CLogger &out)
{
out << "CLoadFile" << std::endl;
if(sfile && *sfile)
if(!!sfile && *sfile)
{
out << "\tOpened " << fName << "\n\tPosition: " << sfile->tellg() << std::endl;
}