diff --git a/server/CVCMIServer.cpp b/server/CVCMIServer.cpp index 39939fb8e..6103847f8 100644 --- a/server/CVCMIServer.cpp +++ b/server/CVCMIServer.cpp @@ -550,6 +550,22 @@ void memoryMonitor(int lAIpid, int rAIpid, int refPid) } //// +std::string clearBaseName(const std::string &fname) +{ + std::string ret = fname; + int hlp = ret.find_last_of('/'); + if(hlp != std::string::npos) + { + ret = ret.substr(hlp+1); + } + hlp = ret.find_last_of('.'); + if(hlp != std::string::npos) + { + ret = ret.substr(0,hlp); + } + return ret; +}; + void CVCMIServer::startDuel(const std::string &battle, const std::string &leftAI, const std::string &rightAI, int howManyClients) { std::map<CConnection *, si32> pidsFromConns; @@ -642,8 +658,7 @@ void CVCMIServer::startDuel(const std::string &battle, const std::string &leftAI //TODO monitor memory of PIDs testMem.set(true); boost::thread* memMon = new boost::thread(boost::bind(memoryMonitor, PIDs[0], PIDs[1], PIDs[2])); - - std::string logFName = LOGS_DIR + "/" + leftAI + "_vs_"+rightAI+"_on_" + battle + ".vdat"; + std::string logFName = LOGS_DIR + "/" + clearBaseName(leftAI) + "_vs_"+clearBaseName(rightAI)+"_on_" + clearBaseName(battle) + ".vdat"; tlog0 << "Logging battle activities (for replay possibility) in " << logFName << std::endl; gh->gameLog = new CSaveFile(logFName); gh->gameLog->smartPointerSerialization = false;