mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
Logging cleanup.
This commit is contained in:
parent
c293589c07
commit
64d9dadd64
@ -130,7 +130,7 @@ SDL_Surface * BitmapHandler::loadBitmapFromDir(std::string path, std::string fna
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logGlobal->errorStream()<<"Failed to open "<<fname<<" as H3 PCX!";
|
logGlobal->error("Failed to open %s as H3 PCX!", fname);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -151,8 +151,8 @@ SDL_Surface * BitmapHandler::loadBitmapFromDir(std::string path, std::string fna
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Failed to open " << fname << " via SDL_Image";
|
logGlobal->error("Failed to open %s via SDL_Image", fname);
|
||||||
logGlobal->errorStream() << "Reason: " << IMG_GetError();
|
logGlobal->error("Reason: %s", IMG_GetError());
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -183,7 +183,7 @@ SDL_Surface * BitmapHandler::loadBitmap(std::string fname, bool setKey)
|
|||||||
if (!(bitmap = loadBitmapFromDir("DATA/", fname, setKey)) &&
|
if (!(bitmap = loadBitmapFromDir("DATA/", fname, setKey)) &&
|
||||||
!(bitmap = loadBitmapFromDir("SPRITES/", fname, setKey)))
|
!(bitmap = loadBitmapFromDir("SPRITES/", fname, setKey)))
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: Failed to find file " << fname;
|
logGlobal->error("Error: Failed to find file %s", fname);
|
||||||
}
|
}
|
||||||
|
|
||||||
return bitmap;
|
return bitmap;
|
||||||
|
@ -67,7 +67,7 @@ void CDefHandler::openFromMemory(ui8 *table, const std::string & name)
|
|||||||
palette[it].r = de.palette[it].R;
|
palette[it].r = de.palette[it].R;
|
||||||
palette[it].g = de.palette[it].G;
|
palette[it].g = de.palette[it].G;
|
||||||
palette[it].b = de.palette[it].B;
|
palette[it].b = de.palette[it].B;
|
||||||
palette[it].a = SDL_ALPHA_OPAQUE;
|
palette[it].a = SDL_ALPHA_OPAQUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The SDefEntryBlock starts just after the SDefEntry
|
// The SDefEntryBlock starts just after the SDefEntry
|
||||||
@ -163,22 +163,22 @@ SDL_Surface * CDefHandler::getSprite (int SIndex, const ui8 * FDef, const SDL_Co
|
|||||||
add=0;
|
add=0;
|
||||||
|
|
||||||
ret = SDL_CreateRGBSurface(SDL_SWSURFACE, FullWidth, FullHeight, 8, 0, 0, 0, 0);
|
ret = SDL_CreateRGBSurface(SDL_SWSURFACE, FullWidth, FullHeight, 8, 0, 0, 0, 0);
|
||||||
|
|
||||||
if(nullptr == ret)
|
if(nullptr == ret)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << __FUNCTION__ <<": Unable to create surface";
|
logGlobal->error("%s: Unable to create surface", __FUNCTION__);
|
||||||
logGlobal->errorStream() << FullWidth << "X" << FullHeight;
|
logGlobal->error("%dX%d", FullWidth, FullHeight);
|
||||||
logGlobal->errorStream() << SDL_GetError();
|
logGlobal->error(SDL_GetError());
|
||||||
throw std::runtime_error("Unable to create surface");
|
throw std::runtime_error("Unable to create surface");
|
||||||
}
|
}
|
||||||
|
|
||||||
BaseOffset += sizeof(SSpriteDef);
|
BaseOffset += sizeof(SSpriteDef);
|
||||||
int BaseOffsetor = BaseOffset;
|
int BaseOffsetor = BaseOffset;
|
||||||
|
|
||||||
SDL_Palette * p = SDL_AllocPalette(256);
|
SDL_Palette * p = SDL_AllocPalette(256);
|
||||||
SDL_SetPaletteColors(p, palette, 0, 256);
|
SDL_SetPaletteColors(p, palette, 0, 256);
|
||||||
SDL_SetSurfacePalette(ret, p);
|
SDL_SetSurfacePalette(ret, p);
|
||||||
SDL_FreePalette(p);
|
SDL_FreePalette(p);
|
||||||
|
|
||||||
int ftcp=0;
|
int ftcp=0;
|
||||||
|
|
||||||
@ -344,8 +344,8 @@ SDL_Surface * CDefHandler::getSprite (int SIndex, const ui8 * FDef, const SDL_Co
|
|||||||
}
|
}
|
||||||
|
|
||||||
SDL_Color ttcol = ret->format->palette->colors[0];
|
SDL_Color ttcol = ret->format->palette->colors[0];
|
||||||
Uint32 keycol = SDL_MapRGBA(ret->format, ttcol.r, ttcol.b, ttcol.g, ttcol.a);
|
Uint32 keycol = SDL_MapRGBA(ret->format, ttcol.r, ttcol.b, ttcol.g, ttcol.a);
|
||||||
SDL_SetColorKey(ret, SDL_TRUE, keycol);
|
SDL_SetColorKey(ret, SDL_TRUE, keycol);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -151,8 +151,7 @@ void startGameFromFile(const bfs::path &fname)
|
|||||||
}
|
}
|
||||||
catch(std::exception &e)
|
catch(std::exception &e)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Failed to start from the file: " << fname << ". Error: " << e.what()
|
logGlobal->error("Failed to start from the file: %s. Error: %s. Falling back to main menu.", fname, e.what());
|
||||||
<< " Falling back to main menu.";
|
|
||||||
GH.curInt = CGPreGame::create();
|
GH.curInt = CGPreGame::create();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -217,7 +216,7 @@ static void SDLLogCallback(void* userdata,
|
|||||||
//todo: convert SDL log priority to vcmi log priority
|
//todo: convert SDL log priority to vcmi log priority
|
||||||
//todo: make separate log domain for SDL
|
//todo: make separate log domain for SDL
|
||||||
|
|
||||||
logGlobal->debugStream() << "SDL(category " << category << "; priority " <<priority <<") "<<message;
|
logGlobal->debug("SDL(category %d; priority %d) %s", category, priority, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef VCMI_APPLE
|
#ifdef VCMI_APPLE
|
||||||
@ -320,9 +319,9 @@ int main(int argc, char * argv[])
|
|||||||
const bfs::path logPath = VCMIDirs::get().userCachePath() / "VCMI_Client_log.txt";
|
const bfs::path logPath = VCMIDirs::get().userCachePath() / "VCMI_Client_log.txt";
|
||||||
CBasicLogConfigurator logConfig(logPath, console);
|
CBasicLogConfigurator logConfig(logPath, console);
|
||||||
logConfig.configureDefault();
|
logConfig.configureDefault();
|
||||||
logGlobal->infoStream() << NAME;
|
logGlobal->info(NAME);
|
||||||
logGlobal->info("Creating console and configuring logger: %d ms", pomtime.getDiff());
|
logGlobal->info("Creating console and configuring logger: %d ms", pomtime.getDiff());
|
||||||
logGlobal->infoStream() << "The log file will be saved to " << logPath;
|
logGlobal->info("The log file will be saved to %s", logPath);
|
||||||
|
|
||||||
// Init filesystem and settings
|
// Init filesystem and settings
|
||||||
preinitDLL(::console);
|
preinitDLL(::console);
|
||||||
@ -355,7 +354,7 @@ int main(int argc, char * argv[])
|
|||||||
if (CResourceHandler::get()->existsResource(ResourceID(filename)))
|
if (CResourceHandler::get()->existsResource(ResourceID(filename)))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
logGlobal->errorStream() << "Error: " << message << " was not found!";
|
logGlobal->error("Error: %s was not found!", message);
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -383,8 +382,8 @@ int main(int argc, char * argv[])
|
|||||||
{
|
{
|
||||||
logGlobal->error("Fatal error: failed to load settings!");
|
logGlobal->error("Fatal error: failed to load settings!");
|
||||||
logGlobal->error("Possible reasons:");
|
logGlobal->error("Possible reasons:");
|
||||||
logGlobal->errorStream() << "\tCorrupted local configuration file at " << VCMIDirs::get().userConfigPath() << "/settings.json";
|
logGlobal->error("\tCorrupted local configuration file at %s/settings.json", VCMIDirs::get().userConfigPath());
|
||||||
logGlobal->errorStream() << "\tMissing or corrupted global configuration file at " << VCMIDirs::get().userConfigPath() << "/schemas/settings.json";
|
logGlobal->error("\tMissing or corrupted global configuration file at %s/schemas/settings.json", VCMIDirs::get().userConfigPath());
|
||||||
logGlobal->error("VCMI will now exit...");
|
logGlobal->error("VCMI will now exit...");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
@ -393,7 +392,7 @@ int main(int argc, char * argv[])
|
|||||||
{
|
{
|
||||||
if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_AUDIO|SDL_INIT_NOPARACHUTE))
|
if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_AUDIO|SDL_INIT_NOPARACHUTE))
|
||||||
{
|
{
|
||||||
logGlobal->errorStream()<<"Something was wrong: "<< SDL_GetError();
|
logGlobal->error("Something was wrong: %s", SDL_GetError());
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -413,7 +412,7 @@ int main(int argc, char * argv[])
|
|||||||
int driversCount = SDL_GetNumRenderDrivers();
|
int driversCount = SDL_GetNumRenderDrivers();
|
||||||
std::string preferredDriverName = video["driver"].String();
|
std::string preferredDriverName = video["driver"].String();
|
||||||
|
|
||||||
logGlobal->infoStream() << "Found " << driversCount << " render drivers";
|
logGlobal->info("Found %d render drivers", driversCount);
|
||||||
|
|
||||||
for(int it = 0; it < driversCount; it++)
|
for(int it = 0; it < driversCount; it++)
|
||||||
{
|
{
|
||||||
@ -425,17 +424,17 @@ int main(int argc, char * argv[])
|
|||||||
if(!preferredDriverName.empty() && driverName == preferredDriverName)
|
if(!preferredDriverName.empty() && driverName == preferredDriverName)
|
||||||
{
|
{
|
||||||
preferredDriverIndex = it;
|
preferredDriverIndex = it;
|
||||||
logGlobal->infoStream() << "\t" << driverName << " (active)";
|
logGlobal->info("\t%s (active)", driverName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
logGlobal->infoStream() << "\t" << driverName;
|
logGlobal->info("\t%s", driverName);
|
||||||
}
|
}
|
||||||
|
|
||||||
config::CConfigHandler::GuiOptionsMap::key_type resPair(res["width"].Float(), res["height"].Float());
|
config::CConfigHandler::GuiOptionsMap::key_type resPair(res["width"].Float(), res["height"].Float());
|
||||||
if (conf.guiOptions.count(resPair) == 0)
|
if (conf.guiOptions.count(resPair) == 0)
|
||||||
{
|
{
|
||||||
// selected resolution was not found - complain & fallback to something that we do have.
|
// selected resolution was not found - complain & fallback to something that we do have.
|
||||||
logGlobal->errorStream() << "Selected resolution " << resPair.first << "x" << resPair.second << " was not found!";
|
logGlobal->error("Selected resolution %dx%d was not found!", resPair.first, resPair.second);
|
||||||
if (conf.guiOptions.empty())
|
if (conf.guiOptions.empty())
|
||||||
{
|
{
|
||||||
logGlobal->error("Unable to continue - no valid resolutions found! Please reinstall VCMI to fix this");
|
logGlobal->error("Unable to continue - no valid resolutions found! Please reinstall VCMI to fix this");
|
||||||
@ -448,7 +447,7 @@ int main(int argc, char * argv[])
|
|||||||
newRes["height"].Float() = conf.guiOptions.begin()->first.second;
|
newRes["height"].Float() = conf.guiOptions.begin()->first.second;
|
||||||
conf.SetResolution(newRes["width"].Float(), newRes["height"].Float());
|
conf.SetResolution(newRes["width"].Float(), newRes["height"].Float());
|
||||||
|
|
||||||
logGlobal->errorStream() << "Falling back to " << newRes["width"].Float() << "x" << newRes["height"].Float();
|
logGlobal->error("Falling back to %dx%d", newRes["width"].Integer(), newRes["height"].Integer());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -548,8 +547,7 @@ int main(int argc, char * argv[])
|
|||||||
{
|
{
|
||||||
if(!fileToStartFrom.empty())
|
if(!fileToStartFrom.empty())
|
||||||
{
|
{
|
||||||
logGlobal->warnStream() << "Warning: cannot find given file to start from (" << fileToStartFrom
|
logGlobal->warn("Warning: cannot find given file to start from (%s). Falling back to main menu.", fileToStartFrom.string());
|
||||||
<< "). Falling back to main menu.";
|
|
||||||
}
|
}
|
||||||
GH.curInt = CGPreGame::create(); //will set CGP pointer to itself
|
GH.curInt = CGPreGame::create(); //will set CGP pointer to itself
|
||||||
}
|
}
|
||||||
@ -592,7 +590,7 @@ void printInfoAboutIntObject(const CIntObject *obj, int level)
|
|||||||
sbuffer << "inactive";
|
sbuffer << "inactive";
|
||||||
sbuffer << " at " << obj->pos.x <<"x"<< obj->pos.y;
|
sbuffer << " at " << obj->pos.x <<"x"<< obj->pos.y;
|
||||||
sbuffer << " (" << obj->pos.w <<"x"<< obj->pos.h << ")";
|
sbuffer << " (" << obj->pos.w <<"x"<< obj->pos.h << ")";
|
||||||
logGlobal->infoStream() << sbuffer.str();
|
logGlobal->info(sbuffer.str());
|
||||||
|
|
||||||
for(const CIntObject *child : obj->children)
|
for(const CIntObject *child : obj->children)
|
||||||
printInfoAboutIntObject(child, level+1);
|
printInfoAboutIntObject(child, level+1);
|
||||||
@ -862,7 +860,7 @@ void processCommand(const std::string &message)
|
|||||||
}
|
}
|
||||||
catch(std::exception &e)
|
catch(std::exception &e)
|
||||||
{
|
{
|
||||||
logGlobal->warnStream() << "Failed opening " << fname << ": " << e.what();
|
logGlobal->warn("Failed opening %s: %s", fname, e.what());
|
||||||
logGlobal->warn("Setting not changes, AI not found or invalid!");
|
logGlobal->warn("Setting not changes, AI not found or invalid!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1062,7 +1060,7 @@ static bool recreateWindow(int w, int h, int bpp, bool fullscreen, int displayIn
|
|||||||
}
|
}
|
||||||
if(!checkVideoMode(displayIndex, w, h))
|
if(!checkVideoMode(displayIndex, w, h))
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: SDL says that " << w << "x" << h << " resolution is not available!";
|
logGlobal->error("Error: SDL says that %dx%d resolution is not available!", w, h);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1105,8 +1103,8 @@ static bool recreateWindow(int w, int h, int bpp, bool fullscreen, int displayIn
|
|||||||
}
|
}
|
||||||
|
|
||||||
SDL_RendererInfo info;
|
SDL_RendererInfo info;
|
||||||
SDL_GetRendererInfo(mainRenderer,&info);
|
SDL_GetRendererInfo(mainRenderer, &info);
|
||||||
logGlobal->infoStream() << "Created renderer " << info.name;
|
logGlobal->info("Created renderer %s", info.name);
|
||||||
|
|
||||||
if(!(fullscreen && realFullscreen))
|
if(!(fullscreen && realFullscreen))
|
||||||
{
|
{
|
||||||
@ -1134,10 +1132,7 @@ static bool recreateWindow(int w, int h, int bpp, bool fullscreen, int displayIn
|
|||||||
screen = SDL_CreateRGBSurface(0,w,h,bpp,rmask,gmask,bmask,amask);
|
screen = SDL_CreateRGBSurface(0,w,h,bpp,rmask,gmask,bmask,amask);
|
||||||
if(nullptr == screen)
|
if(nullptr == screen)
|
||||||
{
|
{
|
||||||
logGlobal->error("Unable to create surface");
|
logGlobal->error("Unable to create surface %dx%d with %d bpp: %s", w, h, bpp, SDL_GetError());
|
||||||
logGlobal->errorStream() << w << " "<< h << " "<< bpp;
|
|
||||||
|
|
||||||
logGlobal->errorStream() << SDL_GetError();
|
|
||||||
throw std::runtime_error("Unable to create surface");
|
throw std::runtime_error("Unable to create surface");
|
||||||
}
|
}
|
||||||
//No blending for screen itself. Required for proper cursor rendering.
|
//No blending for screen itself. Required for proper cursor rendering.
|
||||||
@ -1151,7 +1146,7 @@ static bool recreateWindow(int w, int h, int bpp, bool fullscreen, int displayIn
|
|||||||
if(nullptr == screenTexture)
|
if(nullptr == screenTexture)
|
||||||
{
|
{
|
||||||
logGlobal->error("Unable to create screen texture");
|
logGlobal->error("Unable to create screen texture");
|
||||||
logGlobal->errorStream() << SDL_GetError();
|
logGlobal->error(SDL_GetError());
|
||||||
throw std::runtime_error("Unable to create screen texture");
|
throw std::runtime_error("Unable to create screen texture");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1269,7 +1264,7 @@ static void handleEvent(SDL_Event & ev)
|
|||||||
fullScreenChanged();
|
fullScreenChanged();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
logGlobal->errorStream() << "Unknown user event. Code " << ev.user.code;
|
logGlobal->error("Unknown user event. Code %d", ev.user.code);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ void CAudioBase::init()
|
|||||||
|
|
||||||
if (Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024)==-1)
|
if (Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024)==-1)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Mix_OpenAudio error: " << Mix_GetError();
|
logGlobal->error("Mix_OpenAudio error: %s", Mix_GetError());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ Mix_Chunk *CSoundHandler::GetSoundChunk(std::string &sound, bool cache)
|
|||||||
}
|
}
|
||||||
catch(std::exception &e)
|
catch(std::exception &e)
|
||||||
{
|
{
|
||||||
logGlobal->warnStream() << "Cannot get sound " << sound << " chunk: " << e.what();
|
logGlobal->warn("Cannot get sound %s chunk: %s", sound, e.what());
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -164,7 +164,7 @@ int CSoundHandler::playSound(soundBase::soundID soundID, int repeats)
|
|||||||
{
|
{
|
||||||
assert(soundID < soundBase::sound_after_last);
|
assert(soundID < soundBase::sound_after_last);
|
||||||
auto sound = sounds[soundID];
|
auto sound = sounds[soundID];
|
||||||
logGlobal->traceStream() << "Attempt to play sound " << soundID << " with file name " << sound << " with cache";
|
logGlobal->trace("Attempt to play sound %d with file name %s with cache", soundID, sound);
|
||||||
|
|
||||||
return playSound(sound, repeats, true);
|
return playSound(sound, repeats, true);
|
||||||
}
|
}
|
||||||
@ -182,7 +182,7 @@ int CSoundHandler::playSound(std::string sound, int repeats, bool cache)
|
|||||||
channel = Mix_PlayChannel(-1, chunk, repeats);
|
channel = Mix_PlayChannel(-1, chunk, repeats);
|
||||||
if (channel == -1)
|
if (channel == -1)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Unable to play sound file " << sound << " , error " << Mix_GetError();
|
logGlobal->error("Unable to play sound file %s , error %s", sound, Mix_GetError());
|
||||||
if (!cache)
|
if (!cache)
|
||||||
Mix_FreeChunk(chunk);
|
Mix_FreeChunk(chunk);
|
||||||
}
|
}
|
||||||
@ -314,7 +314,7 @@ void CMusicHandler::playMusicFromSet(std::string whichSet, bool loop)
|
|||||||
auto selectedSet = musicsSet.find(whichSet);
|
auto selectedSet = musicsSet.find(whichSet);
|
||||||
if (selectedSet == musicsSet.end())
|
if (selectedSet == musicsSet.end())
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: playing music from non-existing set: " << whichSet;
|
logGlobal->error("Error: playing music from non-existing set: %s", whichSet);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,14 +331,14 @@ void CMusicHandler::playMusicFromSet(std::string whichSet, int entryID, bool loo
|
|||||||
auto selectedSet = musicsSet.find(whichSet);
|
auto selectedSet = musicsSet.find(whichSet);
|
||||||
if (selectedSet == musicsSet.end())
|
if (selectedSet == musicsSet.end())
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: playing music from non-existing set: " << whichSet;
|
logGlobal->error("Error: playing music from non-existing set: %s", whichSet);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto selectedEntry = selectedSet->second.find(entryID);
|
auto selectedEntry = selectedSet->second.find(entryID);
|
||||||
if (selectedEntry == selectedSet->second.end())
|
if (selectedEntry == selectedSet->second.end())
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: playing non-existing entry " << entryID << " from set: " << whichSet;
|
logGlobal->error("Error: playing non-existing entry %d from set: %s", entryID, whichSet);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -373,8 +373,8 @@ void CMusicHandler::queueNext(CMusicHandler *owner, std::string setName, std::st
|
|||||||
}
|
}
|
||||||
catch(std::exception &e)
|
catch(std::exception &e)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Failed to queue music. setName=" << setName << "\tmusicURI=" << musicURI;
|
logGlobal->error("Failed to queue music. setName=%s\tmusicURI=%s", setName, musicURI);
|
||||||
logGlobal->errorStream() << "Exception: " << e.what();
|
logGlobal->error("Exception: %s", e.what());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -429,7 +429,7 @@ MusicEntry::MusicEntry(CMusicHandler *owner, std::string setName, std::string mu
|
|||||||
}
|
}
|
||||||
MusicEntry::~MusicEntry()
|
MusicEntry::~MusicEntry()
|
||||||
{
|
{
|
||||||
logGlobal->traceStream()<<"Del-ing music file "<<currentName;
|
logGlobal->trace("Del-ing music file %s", currentName);
|
||||||
if (music)
|
if (music)
|
||||||
Mix_FreeMusic(music);
|
Mix_FreeMusic(music);
|
||||||
}
|
}
|
||||||
@ -438,14 +438,14 @@ void MusicEntry::load(std::string musicURI)
|
|||||||
{
|
{
|
||||||
if (music)
|
if (music)
|
||||||
{
|
{
|
||||||
logGlobal->traceStream()<<"Del-ing music file "<<currentName;
|
logGlobal->trace("Del-ing music file %s", currentName);
|
||||||
Mix_FreeMusic(music);
|
Mix_FreeMusic(music);
|
||||||
music = nullptr;
|
music = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
currentName = musicURI;
|
currentName = musicURI;
|
||||||
|
|
||||||
logGlobal->traceStream()<<"Loading music file "<<musicURI;
|
logGlobal->trace("Loading music file %s", musicURI);
|
||||||
|
|
||||||
auto musicFile = MakeSDLRWops(CResourceHandler::get()->load(ResourceID(std::move(musicURI), EResType::MUSIC)));
|
auto musicFile = MakeSDLRWops(CResourceHandler::get()->load(ResourceID(std::move(musicURI), EResType::MUSIC)));
|
||||||
|
|
||||||
@ -453,7 +453,7 @@ void MusicEntry::load(std::string musicURI)
|
|||||||
|
|
||||||
if(!music)
|
if(!music)
|
||||||
{
|
{
|
||||||
logGlobal->warnStream() << "Warning: Cannot open " << currentName << ": " << Mix_GetError();
|
logGlobal->warn("Warning: Cannot open %s: %s", currentName, Mix_GetError());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -469,10 +469,10 @@ bool MusicEntry::play()
|
|||||||
load(RandomGeneratorUtil::nextItem(set, CRandomGenerator::getDefault())->second);
|
load(RandomGeneratorUtil::nextItem(set, CRandomGenerator::getDefault())->second);
|
||||||
}
|
}
|
||||||
|
|
||||||
logGlobal->traceStream()<<"Playing music file "<<currentName;
|
logGlobal->trace("Playing music file %s", currentName);
|
||||||
if(Mix_PlayMusic(music, 1) == -1)
|
if(Mix_PlayMusic(music, 1) == -1)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Unable to play music (" << Mix_GetError() << ")";
|
logGlobal->error("Unable to play music (%s)", Mix_GetError());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -482,7 +482,7 @@ bool MusicEntry::stop(int fade_ms)
|
|||||||
{
|
{
|
||||||
if (Mix_PlayingMusic())
|
if (Mix_PlayingMusic())
|
||||||
{
|
{
|
||||||
logGlobal->traceStream()<<"Stopping music file "<<currentName;
|
logGlobal->trace("Stopping music file %s", currentName);
|
||||||
loop = 0;
|
loop = 0;
|
||||||
Mix_FadeOutMusic(fade_ms);
|
Mix_FadeOutMusic(fade_ms);
|
||||||
return true;
|
return true;
|
||||||
|
@ -110,7 +110,7 @@ struct HeroObjectRetriever : boost::static_visitor<const CGHeroInstance *>
|
|||||||
|
|
||||||
CPlayerInterface::CPlayerInterface(PlayerColor Player)
|
CPlayerInterface::CPlayerInterface(PlayerColor Player)
|
||||||
{
|
{
|
||||||
logGlobal->traceStream() << "\tHuman player interface for player " << Player << " being constructed";
|
logGlobal->trace("\tHuman player interface for player %s being constructed", Player.getStr(false));
|
||||||
destinationTeleport = ObjectInstanceID();
|
destinationTeleport = ObjectInstanceID();
|
||||||
destinationTeleportPos = int3(-1);
|
destinationTeleportPos = int3(-1);
|
||||||
howManyPeople++;
|
howManyPeople++;
|
||||||
@ -136,7 +136,7 @@ CPlayerInterface::CPlayerInterface(PlayerColor Player)
|
|||||||
|
|
||||||
CPlayerInterface::~CPlayerInterface()
|
CPlayerInterface::~CPlayerInterface()
|
||||||
{
|
{
|
||||||
logGlobal->traceStream() << "\tHuman player interface for player " << playerID << " being destructed";
|
logGlobal->trace("\tHuman player interface for player %s being destructed", playerID.getStr(false));
|
||||||
//howManyPeople--;
|
//howManyPeople--;
|
||||||
delete showingDialog;
|
delete showingDialog;
|
||||||
delete cingconsole;
|
delete cingconsole;
|
||||||
@ -358,10 +358,10 @@ void CPlayerInterface::heroMoved(const TryMoveHero & details)
|
|||||||
{
|
{
|
||||||
//evil returns here ...
|
//evil returns here ...
|
||||||
//todo: get rid of it
|
//todo: get rid of it
|
||||||
logGlobal->traceStream() << "before [un]locks in " << __FUNCTION__;
|
logGlobal->trace("before [un]locks in %s", __FUNCTION__);
|
||||||
auto unlockPim = vstd::makeUnlockGuard(*pim); //let frame to be rendered
|
auto unlockPim = vstd::makeUnlockGuard(*pim); //let frame to be rendered
|
||||||
GH.mainFPSmng->framerateDelay(); //for animation purposes
|
GH.mainFPSmng->framerateDelay(); //for animation purposes
|
||||||
logGlobal->traceStream() << "after [un]locks in " << __FUNCTION__;
|
logGlobal->trace("after [un]locks in %s", __FUNCTION__);
|
||||||
}
|
}
|
||||||
//CSDL_Ext::update(screen);
|
//CSDL_Ext::update(screen);
|
||||||
|
|
||||||
@ -808,7 +808,7 @@ void CPlayerInterface::actionFinished(const BattleAction &action)
|
|||||||
BattleAction CPlayerInterface::activeStack(const CStack * stack) //called when it's turn of that stack
|
BattleAction CPlayerInterface::activeStack(const CStack * stack) //called when it's turn of that stack
|
||||||
{
|
{
|
||||||
THREAD_CREATED_BY_CLIENT;
|
THREAD_CREATED_BY_CLIENT;
|
||||||
logGlobal->traceStream() << "Awaiting command for " << stack->nodeName();
|
logGlobal->trace("Awaiting command for %s", stack->nodeName());
|
||||||
auto stackId = stack->ID;
|
auto stackId = stack->ID;
|
||||||
auto stackName = stack->nodeName();
|
auto stackName = stack->nodeName();
|
||||||
if (autofightingAI)
|
if (autofightingAI)
|
||||||
@ -856,10 +856,10 @@ BattleAction CPlayerInterface::activeStack(const CStack * stack) //called when i
|
|||||||
{
|
{
|
||||||
if (stackId != ret.stackNumber)
|
if (stackId != ret.stackNumber)
|
||||||
logGlobal->error("Not current active stack action canceled");
|
logGlobal->error("Not current active stack action canceled");
|
||||||
logGlobal->traceStream() << "Canceled command for " << stackName;
|
logGlobal->trace("Canceled command for %s", stackName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
logGlobal->traceStream() << "Giving command for " << stackName;
|
logGlobal->trace("Giving command for %s", stackName);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -1362,7 +1362,7 @@ template <typename Handler> void CPlayerInterface::serializeTempl( Handler &h, c
|
|||||||
if (p.second.nodes.size())
|
if (p.second.nodes.size())
|
||||||
pathsMap[p.first] = p.second.endPos();
|
pathsMap[p.first] = p.second.endPos();
|
||||||
else
|
else
|
||||||
logGlobal->errorStream() << p.first->name << " has assigned an empty path! Ignoring it...";
|
logGlobal->debug("%s has assigned an empty path! Ignoring it...", p.first->name);
|
||||||
}
|
}
|
||||||
h & pathsMap;
|
h & pathsMap;
|
||||||
}
|
}
|
||||||
@ -1398,7 +1398,7 @@ void CPlayerInterface::loadGame( BinaryDeserializer & h, const int version )
|
|||||||
|
|
||||||
void CPlayerInterface::moveHero( const CGHeroInstance *h, CGPath path )
|
void CPlayerInterface::moveHero( const CGHeroInstance *h, CGPath path )
|
||||||
{
|
{
|
||||||
logGlobal->traceStream() << __FUNCTION__;
|
LOG_TRACE(logGlobal);
|
||||||
if (!LOCPLINT->makingTurn)
|
if (!LOCPLINT->makingTurn)
|
||||||
return;
|
return;
|
||||||
if (!h)
|
if (!h)
|
||||||
@ -2857,7 +2857,7 @@ void CPlayerInterface::doMoveHero(const CGHeroInstance * h, CGPath path)
|
|||||||
|
|
||||||
assert(h->pos.z == nextCoord.z); // Z should change only if it's movement via teleporter and in this case this code shouldn't be executed at all
|
assert(h->pos.z == nextCoord.z); // Z should change only if it's movement via teleporter and in this case this code shouldn't be executed at all
|
||||||
int3 endpos(nextCoord.x, nextCoord.y, h->pos.z);
|
int3 endpos(nextCoord.x, nextCoord.y, h->pos.z);
|
||||||
logGlobal->traceStream() << "Requesting hero movement to " << endpos;
|
logGlobal->trace("Requesting hero movement to %s", endpos());
|
||||||
|
|
||||||
bool useTransit = false;
|
bool useTransit = false;
|
||||||
if ((i-2 >= 0) // Check there is node after next one; otherwise transit is pointless
|
if ((i-2 >= 0) // Check there is node after next one; otherwise transit is pointless
|
||||||
@ -2871,7 +2871,7 @@ void CPlayerInterface::doMoveHero(const CGHeroInstance * h, CGPath path)
|
|||||||
|
|
||||||
doMovement(endpos, useTransit);
|
doMovement(endpos, useTransit);
|
||||||
|
|
||||||
logGlobal->traceStream() << "Resuming " << __FUNCTION__;
|
logGlobal->trace("Resuming %s", __FUNCTION__);
|
||||||
bool guarded = cb->isInTheMap(cb->getGuardingCreaturePosition(endpos - int3(1, 0, 0)));
|
bool guarded = cb->isInTheMap(cb->getGuardingCreaturePosition(endpos - int3(1, 0, 0)));
|
||||||
if ((!useTransit && guarded) || showingDialog->get() == true) // Abort movement if a guard was fought or there is a dialog to display (Mantis #1136)
|
if ((!useTransit && guarded) || showingDialog->get() == true) // Abort movement if a guard was fought or there is a dialog to display (Mantis #1136)
|
||||||
break;
|
break;
|
||||||
|
@ -358,7 +358,7 @@ static std::function<void()> genCommand(CMenuScreen* menu, std::vector<std::stri
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logGlobal->errorStream()<<"Failed to parse command: "<<string;
|
logGlobal->error("Failed to parse command: %s", string);
|
||||||
return std::function<void()>();
|
return std::function<void()>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -538,7 +538,7 @@ void CGPreGame::openCampaignScreen(std::string name)
|
|||||||
GH.pushInt(new CCampaignScreen(CGPreGameConfig::get().getCampaigns()[name]));
|
GH.pushInt(new CCampaignScreen(CGPreGameConfig::get().getCampaigns()[name]));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
logGlobal->errorStream()<<"Unknown campaign set: "<<name;
|
logGlobal->error("Unknown campaign set: %s", name);
|
||||||
}
|
}
|
||||||
|
|
||||||
CGPreGame *CGPreGame::create()
|
CGPreGame *CGPreGame::create()
|
||||||
@ -942,7 +942,7 @@ void CSelectionScreen::handleConnection()
|
|||||||
{
|
{
|
||||||
CPackForSelectionScreen *pack = nullptr;
|
CPackForSelectionScreen *pack = nullptr;
|
||||||
*serv >> pack;
|
*serv >> pack;
|
||||||
logNetwork->traceStream() << "Received a pack of type " << typeid(*pack).name();
|
logNetwork->trace("Received a pack of type %s", typeid(*pack).name());
|
||||||
assert(pack);
|
assert(pack);
|
||||||
if(QuitMenuWithoutStarting *endingPack = dynamic_cast<QuitMenuWithoutStarting *>(pack))
|
if(QuitMenuWithoutStarting *endingPack = dynamic_cast<QuitMenuWithoutStarting *>(pack))
|
||||||
{
|
{
|
||||||
@ -1130,7 +1130,7 @@ void SelectionTab::parseMaps(const std::unordered_set<ResourceID> &files)
|
|||||||
}
|
}
|
||||||
catch(std::exception & e)
|
catch(std::exception & e)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Map " << file.getName() << " is invalid. Message: " << e.what();
|
logGlobal->error("Map %s is invalid. Message: %s", file.getName(), e.what());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1183,7 +1183,7 @@ void SelectionTab::parseGames(const std::unordered_set<ResourceID> &files, CMenu
|
|||||||
}
|
}
|
||||||
catch(const std::exception & e)
|
catch(const std::exception & e)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: Failed to process " << file.getName() <<": " << e.what();
|
logGlobal->error("Error: Failed to process %s: %s", file.getName(), e.what());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1494,7 +1494,7 @@ void SelectionTab::printMaps(SDL_Surface *to)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// Unknown version. Be safe and ignore that map
|
// Unknown version. Be safe and ignore that map
|
||||||
logGlobal->warnStream() << "Warning: " << currentItem->fileURI << " has wrong version!";
|
logGlobal->warn("Warning: %s has wrong version!", currentItem->fileURI);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
IImage * icon = formatIcons->getImage(frame,group);
|
IImage * icon = formatIcons->getImage(frame,group);
|
||||||
@ -1824,7 +1824,7 @@ void CRandomMapTab::addButtonsToGroup(CToggleGroup * group, const std::vector<st
|
|||||||
|
|
||||||
void CRandomMapTab::deactivateButtonsFrom(CToggleGroup * group, int startId)
|
void CRandomMapTab::deactivateButtonsFrom(CToggleGroup * group, int startId)
|
||||||
{
|
{
|
||||||
logGlobal->infoStream() << "Blocking buttons from " << startId;
|
logGlobal->debug("Blocking buttons from %d", startId);
|
||||||
for(auto toggle : group->buttons)
|
for(auto toggle : group->buttons)
|
||||||
{
|
{
|
||||||
if (auto button = dynamic_cast<CToggleButton*>(toggle.second))
|
if (auto button = dynamic_cast<CToggleButton*>(toggle.second))
|
||||||
@ -3722,7 +3722,7 @@ void CBonusSelection::startMap()
|
|||||||
{
|
{
|
||||||
auto exitCb = [=]()
|
auto exitCb = [=]()
|
||||||
{
|
{
|
||||||
logGlobal->infoStream() << "Starting scenario " << selectedMap;
|
logGlobal->info("Starting scenario %d", selectedMap);
|
||||||
CGP->showLoadingScreen(std::bind(&startGame, si, (CConnection *)nullptr));
|
CGP->showLoadingScreen(std::bind(&startGame, si, (CConnection *)nullptr));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ bool CVideoPlayer::open(std::string fname, bool loop, bool useOverlay, bool scal
|
|||||||
|
|
||||||
if (!CResourceHandler::get()->existsResource(resource))
|
if (!CResourceHandler::get()->existsResource(resource))
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: video " << resource.getName() << " was not found";
|
logGlobal->error("Error: video %s was not found", resource.getName());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ void CClient::waitForMoveAndSend(PlayerColor color)
|
|||||||
BattleAction ba = battleints[color]->activeStack(gs->curB->battleGetStackByID(gs->curB->activeStack, false));
|
BattleAction ba = battleints[color]->activeStack(gs->curB->battleGetStackByID(gs->curB->activeStack, false));
|
||||||
if(ba.actionType != Battle::CANCEL)
|
if(ba.actionType != Battle::CANCEL)
|
||||||
{
|
{
|
||||||
logNetwork->traceStream() << "Send battle action to server: " << ba;
|
logNetwork->trace("Send battle action to server: %s", ba.toString());
|
||||||
MakeAction temp_action(ba);
|
MakeAction temp_action(ba);
|
||||||
sendRequest(&temp_action, color);
|
sendRequest(&temp_action, color);
|
||||||
}
|
}
|
||||||
@ -301,7 +301,7 @@ void CClient::loadGame(const std::string & fname, const bool server, const std::
|
|||||||
}
|
}
|
||||||
catch(std::exception &e)
|
catch(std::exception &e)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Cannot load game " << fname << ". Error: " << e.what();
|
logGlobal->error("Cannot load game %s. Error: %s", fname, e.what());
|
||||||
throw; //obviously we cannot continue here
|
throw; //obviously we cannot continue here
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ void CClient::loadGame(const std::string & fname, const bool server, const std::
|
|||||||
// {
|
// {
|
||||||
// auto o = gs->map->objects[i];
|
// auto o = gs->map->objects[i];
|
||||||
// if(o)
|
// if(o)
|
||||||
// logGlobal->traceStream() << boost::format("\tindex=%5d, id=%5d; address=%5d, pos=%s, name=%s") % i % o->id % (int)o.get() % o->pos % o->getHoverText();
|
// logGlobal->trace("\tindex=%5d, id=%5d; address=%5d, pos=%s, name=%s", i, o->id, (int)o.get(), o->pos, o->getHoverText());
|
||||||
// else
|
// else
|
||||||
// logGlobal->trace("\tindex=%5d --- nullptr", i);
|
// logGlobal->trace("\tindex=%5d --- nullptr", i);
|
||||||
// }
|
// }
|
||||||
@ -454,7 +454,7 @@ void CClient::newGame( CConnection *con, StartInfo *si )
|
|||||||
if(!vstd::contains(myPlayers, color))
|
if(!vstd::contains(myPlayers, color))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
logNetwork->traceStream() << "Preparing interface for player " << color;
|
logNetwork->trace("Preparing interface for player %s", color.getStr(false));
|
||||||
if(elem.second.playerID == PlayerSettings::PLAYER_AI)
|
if(elem.second.playerID == PlayerSettings::PLAYER_AI)
|
||||||
{
|
{
|
||||||
auto AiToGive = aiNameForPlayer(elem.second, false);
|
auto AiToGive = aiNameForPlayer(elem.second, false);
|
||||||
@ -882,8 +882,7 @@ int CClient::sendRequest(const CPack *request, PlayerColor player)
|
|||||||
static ui32 requestCounter = 0;
|
static ui32 requestCounter = 0;
|
||||||
|
|
||||||
ui32 requestID = requestCounter++;
|
ui32 requestID = requestCounter++;
|
||||||
logNetwork->traceStream() << boost::format("Sending a request \"%s\". It'll have an ID=%d.")
|
logNetwork->trace("Sending a request \"%s\". It'll have an ID=%d.", typeid(*request).name(), requestID);
|
||||||
% typeid(*request).name() % requestID;
|
|
||||||
|
|
||||||
waitingRequest.pushBack(requestID);
|
waitingRequest.pushBack(requestID);
|
||||||
serv->sendPackToServer(*request, player, requestID);
|
serv->sendPackToServer(*request, player, requestID);
|
||||||
@ -1118,7 +1117,7 @@ void CServerHandler::callServer()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
logNetwork->error("Error: server failed to close correctly or crashed!");
|
logNetwork->error("Error: server failed to close correctly or crashed!");
|
||||||
logNetwork->errorStream() << "Check " << logName << " for more info";
|
logNetwork->error("Check %s for more info", logName);
|
||||||
exit(1);// exit in case of error. Othervice without working server VCMI will hang
|
exit(1);// exit in case of error. Othervice without working server VCMI will hang
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -291,7 +291,7 @@ void Graphics::blueToPlayersAdv(SDL_Surface * sur, PlayerColor player)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Wrong player id in blueToPlayersAdv (" << player << ")!";
|
logGlobal->error("Wrong player id in blueToPlayersAdv (%s)!", player.getStr(false));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SDL_SetColors(sur, palette, 224, 32);
|
SDL_SetColors(sur, palette, 224, 32);
|
||||||
|
@ -122,7 +122,7 @@ void SetPrimSkill::applyCl(CClient *cl)
|
|||||||
const CGHeroInstance *h = cl->getHero(id);
|
const CGHeroInstance *h = cl->getHero(id);
|
||||||
if(!h)
|
if(!h)
|
||||||
{
|
{
|
||||||
logNetwork->errorStream() << "Cannot find hero with ID " << id.getNum();
|
logNetwork->error("Cannot find hero with ID %d", id.getNum());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
INTERFACE_CALL_IF_PRESENT(h->tempOwner,heroPrimarySkillChanged,h,which,val);
|
INTERFACE_CALL_IF_PRESENT(h->tempOwner,heroPrimarySkillChanged,h,which,val);
|
||||||
@ -133,7 +133,7 @@ void SetSecSkill::applyCl(CClient *cl)
|
|||||||
const CGHeroInstance *h = cl->getHero(id);
|
const CGHeroInstance *h = cl->getHero(id);
|
||||||
if(!h)
|
if(!h)
|
||||||
{
|
{
|
||||||
logNetwork->errorStream() << "Cannot find hero with ID " << id;
|
logNetwork->error("Cannot find hero with ID %d", id.getNum());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
INTERFACE_CALL_IF_PRESENT(h->tempOwner,heroSecondarySkillChanged,h,which,val);
|
INTERFACE_CALL_IF_PRESENT(h->tempOwner,heroSecondarySkillChanged,h,which,val);
|
||||||
@ -784,7 +784,7 @@ void SystemMessage::applyCl(CClient *cl)
|
|||||||
std::ostringstream str;
|
std::ostringstream str;
|
||||||
str << "System message: " << text;
|
str << "System message: " << text;
|
||||||
|
|
||||||
logNetwork->errorStream() << str.str(); // usually used to receive error messages from server
|
logNetwork->error(str.str()); // usually used to receive error messages from server
|
||||||
if(LOCPLINT && !settings["session"]["hideSystemMessages"].Bool())
|
if(LOCPLINT && !settings["session"]["hideSystemMessages"].Bool())
|
||||||
LOCPLINT->cingconsole->print(str.str());
|
LOCPLINT->cingconsole->print(str.str());
|
||||||
}
|
}
|
||||||
@ -813,13 +813,13 @@ void SaveGame::applyCl(CClient *cl)
|
|||||||
}
|
}
|
||||||
catch(std::exception &e)
|
catch(std::exception &e)
|
||||||
{
|
{
|
||||||
logNetwork->errorStream() << "Failed to save game:" << e.what();
|
logNetwork->error("Failed to save game:%s", e.what());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerMessage::applyCl(CClient *cl)
|
void PlayerMessage::applyCl(CClient *cl)
|
||||||
{
|
{
|
||||||
logNetwork->debugStream() << "Player "<< player <<" sends a message: " << text;
|
logNetwork->debug("Player %s sends a message: %s", player.getStr(false), text);
|
||||||
|
|
||||||
std::ostringstream str;
|
std::ostringstream str;
|
||||||
if(player.isSpectator())
|
if(player.isSpectator())
|
||||||
|
@ -283,7 +283,7 @@ void CDefenceAnimation::endAnim()
|
|||||||
CDummyAnimation::CDummyAnimation(CBattleInterface * _owner, int howManyFrames)
|
CDummyAnimation::CDummyAnimation(CBattleInterface * _owner, int howManyFrames)
|
||||||
: CBattleAnimation(_owner), counter(0), howMany(howManyFrames)
|
: CBattleAnimation(_owner), counter(0), howMany(howManyFrames)
|
||||||
{
|
{
|
||||||
logAnim->debugStream() << "Created dummy animation for " << howManyFrames <<" frames";
|
logAnim->debug("Created dummy animation for %d frames", howManyFrames);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CDummyAnimation::init()
|
bool CDummyAnimation::init()
|
||||||
@ -360,7 +360,7 @@ bool CMeleeAttackAnimation::init()
|
|||||||
group = mutPosToGroup[mutPos];
|
group = mutPosToGroup[mutPos];
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
logGlobal->errorStream()<<"Critical Error! Wrong dest in stackAttacking! dest: "<<dest<<" attacking stack pos: "<<attackingStackPosBeforeReturn<<" mutual pos: "<<mutPos;
|
logGlobal->error("Critical Error! Wrong dest in stackAttacking! dest: %d; attacking stack pos: %d; mutual pos: %d", dest.hex, attackingStackPosBeforeReturn, mutPos);
|
||||||
group = CCreatureAnim::ATTACK_FRONT;
|
group = CCreatureAnim::ATTACK_FRONT;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -875,19 +875,19 @@ void CShootingAnimation::endAnim()
|
|||||||
CSpellEffectAnimation::CSpellEffectAnimation(CBattleInterface * _owner, ui32 _effect, BattleHex _destTile, int _dx, int _dy, bool _Vflip, bool _alignToBottom)
|
CSpellEffectAnimation::CSpellEffectAnimation(CBattleInterface * _owner, ui32 _effect, BattleHex _destTile, int _dx, int _dy, bool _Vflip, bool _alignToBottom)
|
||||||
:CBattleAnimation(_owner), effect(_effect), destTile(_destTile), customAnim(""), x(-1), y(-1), dx(_dx), dy(_dy), Vflip(_Vflip), alignToBottom(_alignToBottom)
|
:CBattleAnimation(_owner), effect(_effect), destTile(_destTile), customAnim(""), x(-1), y(-1), dx(_dx), dy(_dy), Vflip(_Vflip), alignToBottom(_alignToBottom)
|
||||||
{
|
{
|
||||||
logAnim->debugStream() << "Created spell anim for effect #" << effect;
|
logAnim->debug("Created spell anim for effect #%d", effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
CSpellEffectAnimation::CSpellEffectAnimation(CBattleInterface * _owner, std::string _customAnim, int _x, int _y, int _dx, int _dy, bool _Vflip, bool _alignToBottom)
|
CSpellEffectAnimation::CSpellEffectAnimation(CBattleInterface * _owner, std::string _customAnim, int _x, int _y, int _dx, int _dy, bool _Vflip, bool _alignToBottom)
|
||||||
:CBattleAnimation(_owner), effect(-1), destTile(BattleHex::INVALID), customAnim(_customAnim), x(_x), y(_y), dx(_dx), dy(_dy), Vflip(_Vflip), alignToBottom(_alignToBottom)
|
:CBattleAnimation(_owner), effect(-1), destTile(BattleHex::INVALID), customAnim(_customAnim), x(_x), y(_y), dx(_dx), dy(_dy), Vflip(_Vflip), alignToBottom(_alignToBottom)
|
||||||
{
|
{
|
||||||
logAnim->debugStream() << "Created spell anim for " << customAnim;
|
logAnim->debug("Created spell anim for %s", customAnim);
|
||||||
}
|
}
|
||||||
|
|
||||||
CSpellEffectAnimation::CSpellEffectAnimation(CBattleInterface * _owner, std::string _customAnim, BattleHex _destTile, bool _Vflip, bool _alignToBottom)
|
CSpellEffectAnimation::CSpellEffectAnimation(CBattleInterface * _owner, std::string _customAnim, BattleHex _destTile, bool _Vflip, bool _alignToBottom)
|
||||||
:CBattleAnimation(_owner), effect(-1), destTile(_destTile), customAnim(_customAnim), x(-1), y(-1), dx(0), dy(0), Vflip(_Vflip), alignToBottom(_alignToBottom)
|
:CBattleAnimation(_owner), effect(-1), destTile(_destTile), customAnim(_customAnim), x(-1), y(-1), dx(0), dy(0), Vflip(_Vflip), alignToBottom(_alignToBottom)
|
||||||
{
|
{
|
||||||
logAnim->debugStream() << "Created spell anim for " << customAnim;
|
logAnim->debug("Created spell anim for %s", customAnim);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -189,9 +189,9 @@ CBattleInterface::CBattleInterface(const CCreatureSet *army1, const CCreatureSet
|
|||||||
{
|
{
|
||||||
auto bfieldType = (int)curInt->cb->battleGetBattlefieldType();
|
auto bfieldType = (int)curInt->cb->battleGetBattlefieldType();
|
||||||
if (graphics->battleBacks.size() <= bfieldType || bfieldType < 0)
|
if (graphics->battleBacks.size() <= bfieldType || bfieldType < 0)
|
||||||
logGlobal->errorStream() << bfieldType << " is not valid battlefield type index!";
|
logGlobal->error("%d is not valid battlefield type index!", bfieldType);
|
||||||
else if (graphics->battleBacks[bfieldType].empty())
|
else if (graphics->battleBacks[bfieldType].empty())
|
||||||
logGlobal->errorStream() << bfieldType << " battlefield type does not have any backgrounds!";
|
logGlobal->error("%d battlefield type does not have any backgrounds!", bfieldType);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const std::string bgName = *RandomGeneratorUtil::nextItem(graphics->battleBacks[bfieldType], CRandomGenerator::getDefault());
|
const std::string bgName = *RandomGeneratorUtil::nextItem(graphics->battleBacks[bfieldType], CRandomGenerator::getDefault());
|
||||||
@ -718,7 +718,7 @@ void CBattleInterface::setBattleCursor(const int myNumber)
|
|||||||
// Generally should NEVER happen, but to avoid the possibility of having endless loop below... [#1016]
|
// Generally should NEVER happen, but to avoid the possibility of having endless loop below... [#1016]
|
||||||
if (!vstd::contains_if (sectorCursor, [](int sc) { return sc != -1; }))
|
if (!vstd::contains_if (sectorCursor, [](int sc) { return sc != -1; }))
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: for hex " << myNumber << " cannot find a hex to attack from!";
|
logGlobal->error("Error: for hex %d cannot find a hex to attack from!", myNumber);
|
||||||
attackingHex = -1;
|
attackingHex = -1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1143,7 +1143,7 @@ void CBattleInterface::giveCommand(Battle::ActionType action, BattleHex tile, ui
|
|||||||
|
|
||||||
if (!tacticsMode)
|
if (!tacticsMode)
|
||||||
{
|
{
|
||||||
logGlobal->traceStream() << "Setting command for " << (stack ? stack->nodeName() : "hero");
|
logGlobal->trace("Setting command for %s", (stack ? stack->nodeName() : "hero"));
|
||||||
myTurn = false;
|
myTurn = false;
|
||||||
setActiveStack(nullptr);
|
setActiveStack(nullptr);
|
||||||
givenCommand.setn(ba);
|
givenCommand.setn(ba);
|
||||||
@ -1926,7 +1926,7 @@ void CBattleInterface::startAction(const BattleAction* action)
|
|||||||
}
|
}
|
||||||
if (!stack)
|
if (!stack)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream()<<"Something wrong with stackNumber in actionStarted. Stack number: "<<action->stackNumber;
|
logGlobal->error("Something wrong with stackNumber in actionStarted. Stack number: %d", action->stackNumber);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2715,13 +2715,13 @@ void CBattleInterface::obstaclePlaced(const CObstacleInstance & oi)
|
|||||||
sound = soundBase::fireWall;
|
sound = soundBase::fireWall;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
logGlobal->errorStream() << "I don't know how to animate appearing obstacle of type " << (int)oi.obstacleType;
|
logGlobal->error("I don't know how to animate appearing obstacle of type %d", (int)oi.obstacleType);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (effectID >= 0 && graphics->battleACToDef[effectID].empty())
|
if (effectID >= 0 && graphics->battleACToDef[effectID].empty())
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Cannot find def for effect type " << effectID;
|
logGlobal->error("Cannot find def for effect type %d", effectID);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ void CBattleConsole::showAll(SDL_Surface * to)
|
|||||||
|
|
||||||
bool CBattleConsole::addText(const std::string & text)
|
bool CBattleConsole::addText(const std::string & text)
|
||||||
{
|
{
|
||||||
logGlobal->traceStream() <<"CBattleConsole message: "<<text;
|
logGlobal->trace("CBattleConsole message: %s", text);
|
||||||
if(text.size()>70)
|
if(text.size()>70)
|
||||||
return false; //text too long!
|
return false; //text too long!
|
||||||
int firstInToken = 0;
|
int firstInToken = 0;
|
||||||
|
@ -385,7 +385,7 @@ void CCreatureAnimation::nextFrame(SDL_Surface *dest, bool attacker)
|
|||||||
case 3: return nextFrameT<3>(dest, !attacker);
|
case 3: return nextFrameT<3>(dest, !attacker);
|
||||||
case 4: return nextFrameT<4>(dest, !attacker);
|
case 4: return nextFrameT<4>(dest, !attacker);
|
||||||
default:
|
default:
|
||||||
logGlobal->errorStream() << (int)dest->format->BitsPerPixel << " bpp is not supported!!!";
|
logGlobal->error("%d bpp is not supported!", (int)dest->format->BitsPerPixel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -445,7 +445,7 @@ void CDefFile::loadFrame(size_t frame, size_t group, ImageLoader &loader) const
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
logGlobal->errorStream()<<"Error: unsupported format of def file: "<<sprite.format;
|
logGlobal->error("Error: unsupported format of def file: %d", sprite.format);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -741,7 +741,7 @@ SDLImage::SDLImage(std::string filename, bool compressed):
|
|||||||
|
|
||||||
if (surf == nullptr)
|
if (surf == nullptr)
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: failed to load image "<<filename;
|
logGlobal->error("Error: failed to load image %s", filename);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1373,8 +1373,7 @@ CDefFile * CAnimation::getFile() const
|
|||||||
|
|
||||||
void CAnimation::printError(size_t frame, size_t group, std::string type) const
|
void CAnimation::printError(size_t frame, size_t group, std::string type) const
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << type << " error: Request for frame not present in CAnimation! "
|
logGlobal->error("%s error: Request for frame not present in CAnimation! File name: %s, Group: %d, Frame: %d", type, name, group, frame);
|
||||||
<< "\tFile name: " << name << " Group: " << group << " Frame: " << frame;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CAnimation::CAnimation(std::string Name, bool Compressed):
|
CAnimation::CAnimation(std::string Name, bool Compressed):
|
||||||
@ -1406,7 +1405,7 @@ CAnimation::~CAnimation()
|
|||||||
|
|
||||||
if(!images.empty())
|
if(!images.empty())
|
||||||
{
|
{
|
||||||
logGlobal->warnStream()<<"Warning: not all frames were unloaded from "<<name;
|
logGlobal->warn("Warning: not all frames were unloaded from %s", name);
|
||||||
for (auto & elem : images)
|
for (auto & elem : images)
|
||||||
for (auto & _image : elem.second)
|
for (auto & _image : elem.second)
|
||||||
delete _image.second;
|
delete _image.second;
|
||||||
@ -1579,7 +1578,7 @@ void CFadeAnimation::init(EMode mode, SDL_Surface * sourceSurface, bool freeSurf
|
|||||||
}
|
}
|
||||||
if (animDelta <= 0.0f)
|
if (animDelta <= 0.0f)
|
||||||
{
|
{
|
||||||
logGlobal->warnStream() << "Fade anim: delta should be positive; " << animDelta << " given.";
|
logGlobal->warn("Fade anim: delta should be positive; %f given.", animDelta);
|
||||||
animDelta = DEFAULT_DELTA;
|
animDelta = DEFAULT_DELTA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -461,7 +461,7 @@ void CGuiHandler::renderFrame()
|
|||||||
CCS->curh->render();
|
CCS->curh->render();
|
||||||
|
|
||||||
if(0 != SDL_RenderCopy(mainRenderer, screenTexture, nullptr, nullptr))
|
if(0 != SDL_RenderCopy(mainRenderer, screenTexture, nullptr, nullptr))
|
||||||
logGlobal->errorStream() << __FUNCTION__ << " SDL_RenderCopy " << SDL_GetError();
|
logGlobal->error("%s SDL_RenderCopy %s", __FUNCTION__, SDL_GetError());
|
||||||
|
|
||||||
SDL_RenderPresent(mainRenderer);
|
SDL_RenderPresent(mainRenderer);
|
||||||
}
|
}
|
||||||
|
@ -26,11 +26,11 @@ void SDL_UpdateRect(SDL_Surface *surface, int x, int y, int w, int h)
|
|||||||
{
|
{
|
||||||
Rect rect(x,y,w,h);
|
Rect rect(x,y,w,h);
|
||||||
if(0 !=SDL_UpdateTexture(screenTexture, &rect, surface->pixels, surface->pitch))
|
if(0 !=SDL_UpdateTexture(screenTexture, &rect, surface->pixels, surface->pitch))
|
||||||
logGlobal->errorStream() << __FUNCTION__ << "SDL_UpdateTexture " << SDL_GetError();
|
logGlobal->error("%sSDL_UpdateTexture %s", __FUNCTION__, SDL_GetError());
|
||||||
|
|
||||||
SDL_RenderClear(mainRenderer);
|
SDL_RenderClear(mainRenderer);
|
||||||
if(0 != SDL_RenderCopy(mainRenderer, screenTexture, NULL, NULL))
|
if(0 != SDL_RenderCopy(mainRenderer, screenTexture, NULL, NULL))
|
||||||
logGlobal->errorStream() << __FUNCTION__ << "SDL_RenderCopy " << SDL_GetError();
|
logGlobal->error("%sSDL_RenderCopy %s", __FUNCTION__, SDL_GetError());
|
||||||
SDL_RenderPresent(mainRenderer);
|
SDL_RenderPresent(mainRenderer);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -326,7 +326,7 @@ int CSDL_Ext::blit8bppAlphaTo24bpp(const SDL_Surface * src, const SDL_Rect * src
|
|||||||
case 3: return blit8bppAlphaTo24bppT<3>(src, srcRect, dst, dstRect);
|
case 3: return blit8bppAlphaTo24bppT<3>(src, srcRect, dst, dstRect);
|
||||||
case 4: return blit8bppAlphaTo24bppT<4>(src, srcRect, dst, dstRect);
|
case 4: return blit8bppAlphaTo24bppT<4>(src, srcRect, dst, dstRect);
|
||||||
default:
|
default:
|
||||||
logGlobal->errorStream() << (int)dst->format->BitsPerPixel << " bpp is not supported!!!";
|
logGlobal->error("%d bpp is not supported!", (int)dst->format->BitsPerPixel);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -349,7 +349,7 @@ void CSDL_Ext::update(SDL_Surface * what)
|
|||||||
if(!what)
|
if(!what)
|
||||||
return;
|
return;
|
||||||
if(0 !=SDL_UpdateTexture(screenTexture, nullptr, what->pixels, what->pitch))
|
if(0 !=SDL_UpdateTexture(screenTexture, nullptr, what->pixels, what->pitch))
|
||||||
logGlobal->errorStream() << __FUNCTION__ << "SDL_UpdateTexture " << SDL_GetError();
|
logGlobal->error("%s SDL_UpdateTexture %s", __FUNCTION__, SDL_GetError());
|
||||||
}
|
}
|
||||||
void CSDL_Ext::drawBorder(SDL_Surface * sur, int x, int y, int w, int h, const int3 &color)
|
void CSDL_Ext::drawBorder(SDL_Surface * sur, int x, int y, int w, int h, const int3 &color)
|
||||||
{
|
{
|
||||||
@ -428,7 +428,7 @@ case BytesPerPixel: \
|
|||||||
CASE_BPP(3)
|
CASE_BPP(3)
|
||||||
CASE_BPP(4)
|
CASE_BPP(4)
|
||||||
default:
|
default:
|
||||||
logGlobal->errorStream() << (int)dest->format->BitsPerPixel << "bpp is not supported!";
|
logGlobal->error("%d bpp is not supported!", (int)dest->format->BitsPerPixel);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -442,7 +442,7 @@ TColorPutterAlpha CSDL_Ext::getPutterAlphaFor(SDL_Surface * const &dest, int inc
|
|||||||
CASE_BPP(3)
|
CASE_BPP(3)
|
||||||
CASE_BPP(4)
|
CASE_BPP(4)
|
||||||
default:
|
default:
|
||||||
logGlobal->errorStream() << (int)dest->format->BitsPerPixel << "bpp is not supported!";
|
logGlobal->error("%d bpp is not supported!", (int)dest->format->BitsPerPixel);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
#undef CASE_BPP
|
#undef CASE_BPP
|
||||||
|
@ -755,7 +755,7 @@ void CMapHandler::CMapBlitter::drawObjects(SDL_Surface * targetSurf, const Terra
|
|||||||
fade->draw(targetSurf, nullptr, &r2);
|
fade->draw(targetSurf, nullptr, &r2);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
logGlobal->errorStream() << "Fading map object with missing fade anim : " << object.fadeAnimKey;
|
logGlobal->error("Fading map object with missing fade anim : %d", object.fadeAnimKey);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -967,7 +967,7 @@ CMapHandler::AnimBitmapHolder CMapHandler::CMapBlitter::findHeroBitmap(const CGH
|
|||||||
{
|
{
|
||||||
if(hero->tempOwner >= PlayerColor::PLAYER_LIMIT) //Neutral hero?
|
if(hero->tempOwner >= PlayerColor::PLAYER_LIMIT) //Neutral hero?
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "A neutral hero (" << hero->name << ") at " << hero->pos << ". Should not happen!";
|
logGlobal->error("A neutral hero (%s) at %s. Should not happen!", hero->name, hero->pos());
|
||||||
return CMapHandler::AnimBitmapHolder();
|
return CMapHandler::AnimBitmapHolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1025,7 +1025,7 @@ IImage * CMapHandler::CMapBlitter::findBoatFlagBitmap(const CGBoat * boat, int a
|
|||||||
int boatType = boat->subID;
|
int boatType = boat->subID;
|
||||||
if(boatType < 0 || boatType >= graphics->boatFlagAnimations.size())
|
if(boatType < 0 || boatType >= graphics->boatFlagAnimations.size())
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Not supported boat subtype: " << boat->subID;
|
logGlobal->error("Not supported boat subtype: %d", boat->subID);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1035,7 +1035,7 @@ IImage * CMapHandler::CMapBlitter::findBoatFlagBitmap(const CGBoat * boat, int a
|
|||||||
|
|
||||||
if(colorIndex < 0 || colorIndex >= subtypeFlags.size())
|
if(colorIndex < 0 || colorIndex >= subtypeFlags.size())
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Invalid player color " << colorIndex;
|
logGlobal->error("Invalid player color %d", colorIndex);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1138,7 +1138,7 @@ bool CMapHandler::updateObjectsFade()
|
|||||||
{
|
{
|
||||||
if ((*objIter).fadeAnimKey == (*iter).first)
|
if ((*objIter).fadeAnimKey == (*iter).first)
|
||||||
{
|
{
|
||||||
logAnim->traceStream() << "Fade anim finished for obj at " << pos << "; remaining: " << (fadeAnims.size() - 1);
|
logAnim->trace("Fade anim finished for obj at %s; remaining: %d", pos(), fadeAnims.size() - 1);
|
||||||
if (anim->fadingMode == CFadeAnimation::EMode::OUT)
|
if (anim->fadingMode == CFadeAnimation::EMode::OUT)
|
||||||
objs.erase(objIter); // if this was fadeout, remove the object from the map
|
objs.erase(objIter); // if this was fadeout, remove the object from the map
|
||||||
else
|
else
|
||||||
@ -1185,8 +1185,7 @@ bool CMapHandler::startObjectFade(TerrainTileObject & obj, bool in, int3 pos)
|
|||||||
fadeAnims[++fadeAnimCounter] = std::pair<int3, CFadeAnimation*>(pos, anim);
|
fadeAnims[++fadeAnimCounter] = std::pair<int3, CFadeAnimation*>(pos, anim);
|
||||||
obj.fadeAnimKey = fadeAnimCounter;
|
obj.fadeAnimKey = fadeAnimCounter;
|
||||||
|
|
||||||
logAnim->traceStream() << "Fade anim started for obj " << obj.obj->ID
|
logAnim->trace("Fade anim started for obj %d at %s; anim count: %d", obj.obj->ID, pos(), fadeAnims.size());
|
||||||
<< " at " << pos << "; anim count: " << fadeAnims.size();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -503,7 +503,7 @@ std::map<int, std::pair<SDL_Color, SDL_Color> > CMinimap::loadColors(std::string
|
|||||||
auto index = boost::find(GameConstants::TERRAIN_NAMES, m.first);
|
auto index = boost::find(GameConstants::TERRAIN_NAMES, m.first);
|
||||||
if (index == std::end(GameConstants::TERRAIN_NAMES))
|
if (index == std::end(GameConstants::TERRAIN_NAMES))
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "Error: unknown terrain in terrains.json: " << m.first;
|
logGlobal->error("Error: unknown terrain in terrains.json: %s", m.first);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
int terrainID = index - std::begin(GameConstants::TERRAIN_NAMES);
|
int terrainID = index - std::begin(GameConstants::TERRAIN_NAMES);
|
||||||
|
@ -117,12 +117,12 @@ void CButton::block(bool on)
|
|||||||
void CButton::onButtonClicked()
|
void CButton::onButtonClicked()
|
||||||
{
|
{
|
||||||
// debug logging to figure out pressed button (and as result - player actions) in case of crash
|
// debug logging to figure out pressed button (and as result - player actions) in case of crash
|
||||||
logAnim->traceStream() << "Button clicked at " << pos.x << "x" << pos.y;
|
logAnim->trace("Button clicked at %dx%d", pos.x, pos.y);
|
||||||
CIntObject * parent = this->parent;
|
CIntObject * parent = this->parent;
|
||||||
std::string prefix = "Parent is";
|
std::string prefix = "Parent is";
|
||||||
while (parent)
|
while (parent)
|
||||||
{
|
{
|
||||||
logAnim->traceStream() << prefix << typeid(*parent).name() << " at " << parent->pos.x << "x" << parent->pos.y;
|
logAnim->trace("%s%s at %dx%d", prefix, typeid(*parent).name(), parent->pos.x, parent->pos.y);
|
||||||
parent = parent->parent;
|
parent = parent->parent;
|
||||||
prefix = '\t' + prefix;
|
prefix = '\t' + prefix;
|
||||||
}
|
}
|
||||||
|
@ -229,11 +229,7 @@ bool CHeroArtPlace::askToAssemble(const CArtifactInstance *art, ArtifactPosition
|
|||||||
0);
|
0);
|
||||||
|
|
||||||
if(assemblyPossibilities.size() > 2)
|
if(assemblyPossibilities.size() > 2)
|
||||||
{
|
logGlobal->warn("More than one possibility of assembling on %s... taking only first", art->artType->Name());
|
||||||
logGlobal->warnStream() << boost::format(
|
|
||||||
"More than one possibility of assembling on %s... taking only first")
|
|
||||||
% art->artType->Name();
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -821,7 +817,7 @@ CHeroArtPlace * CArtifactsOfHero::getArtPlace(int slot)
|
|||||||
{
|
{
|
||||||
if(artWorn.find(ArtifactPosition(slot)) == artWorn.end())
|
if(artWorn.find(ArtifactPosition(slot)) == artWorn.end())
|
||||||
{
|
{
|
||||||
logGlobal->errorStream() << "CArtifactsOfHero::getArtPlace: invalid slot " << slot;
|
logGlobal->error("CArtifactsOfHero::getArtPlace: invalid slot %d", slot);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ void CGarrisonSlot::hover (bool on)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logGlobal->warnStream() << "Warning - shouldn't be - highlighted void slot "<<owner->getSelection();
|
logGlobal->warn("Warning - shouldn't be - highlighted void slot %d", owner->getSelection()->ID.getNum());
|
||||||
logGlobal->warn("Highlighted set to nullptr");
|
logGlobal->warn("Highlighted set to nullptr");
|
||||||
owner->selectSlot(nullptr);
|
owner->selectSlot(nullptr);
|
||||||
}
|
}
|
||||||
|
@ -297,7 +297,7 @@ void CAnimImage::setFrame(size_t Frame, size_t Group)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
logGlobal->errorStream() << "Error: accessing unavailable frame " << Group << ":" << Frame << " in CAnimation!";
|
logGlobal->error("Error: accessing unavailable frame %d:%d in CAnimation!", Group, Frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CAnimImage::playerColored(PlayerColor currPlayer)
|
void CAnimImage::playerColored(PlayerColor currPlayer)
|
||||||
|
@ -234,7 +234,7 @@ void CArmyTooltip::init(const InfoAboutArmy &army)
|
|||||||
{
|
{
|
||||||
if(slot.first.getNum() >= GameConstants::ARMY_SIZE)
|
if(slot.first.getNum() >= GameConstants::ARMY_SIZE)
|
||||||
{
|
{
|
||||||
logGlobal->warnStream() << "Warning: " << army.name << " has stack in slot " << slot.first;
|
logGlobal->warn("%s has stack in slot %d", army.name, slot.first.getNum());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -592,7 +592,7 @@ void CTextInput::numberFilter(std::string & text, const std::string & oldText, i
|
|||||||
catch(boost::bad_lexical_cast &)
|
catch(boost::bad_lexical_cast &)
|
||||||
{
|
{
|
||||||
//Should never happen. Unless I missed some cases
|
//Should never happen. Unless I missed some cases
|
||||||
logGlobal->warnStream() << "Warning: failed to convert "<< text << " to number!";
|
logGlobal->warn("Warning: failed to convert %s to number!", text);
|
||||||
text = oldText;
|
text = oldText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -440,7 +440,7 @@ int3 CTerrainRect::tileCountOnScreen()
|
|||||||
switch (adventureInt->mode)
|
switch (adventureInt->mode)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
logGlobal->errorStream() << "Unhandled map mode " << (int)adventureInt->mode;
|
logGlobal->error("Unknown map mode %d", (int)adventureInt->mode);
|
||||||
return int3();
|
return int3();
|
||||||
case EAdvMapMode::NORMAL:
|
case EAdvMapMode::NORMAL:
|
||||||
return int3(tilesw, tilesh, 1);
|
return int3(tilesw, tilesh, 1);
|
||||||
|
@ -229,7 +229,7 @@ std::string CBuildingRect::getSubtitle()//hover text for building
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logGlobal->warnStream() << "Problem: dwelling with id " << bid << " offers no creatures!";
|
logGlobal->warn("Dwelling with id %d offers no creatures!", bid);
|
||||||
return "#ERROR#";
|
return "#ERROR#";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -600,7 +600,7 @@ const CGHeroInstance* CCastleBuildings::getHero()
|
|||||||
|
|
||||||
void CCastleBuildings::buildingClicked(BuildingID building)
|
void CCastleBuildings::buildingClicked(BuildingID building)
|
||||||
{
|
{
|
||||||
logGlobal->traceStream()<<"You've clicked on "<<building;
|
logGlobal->trace("You've clicked on %d", (int)building.toEnum());
|
||||||
const CBuilding *b = town->town->buildings.find(building)->second;
|
const CBuilding *b = town->town->buildings.find(building)->second;
|
||||||
|
|
||||||
if(building >= BuildingID::DWELL_FIRST)
|
if(building >= BuildingID::DWELL_FIRST)
|
||||||
@ -1183,7 +1183,7 @@ void CCastleInterface::keyPressed( const SDL_KeyboardEvent & key )
|
|||||||
for(const CStructure * str : town->town->clientInfo.structures)
|
for(const CStructure * str : town->town->clientInfo.structures)
|
||||||
{
|
{
|
||||||
if (str->building)
|
if (str->building)
|
||||||
logGlobal->errorStream() << int(str->building->bid) << " -> " << int(str->pos.z);
|
logGlobal->error("%d -> %d", int(str->building->bid), int(str->pos.z));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1199,7 +1199,7 @@ void CCastleInterface::keyPressed( const SDL_KeyboardEvent & key )
|
|||||||
for(const CStructure * str : town->town->clientInfo.structures)
|
for(const CStructure * str : town->town->clientInfo.structures)
|
||||||
{
|
{
|
||||||
if (str->building)
|
if (str->building)
|
||||||
logGlobal->errorStream() << int(str->building->bid) << " -> " << int(str->pos.z);
|
logGlobal->error("%d -> %d", int(str->building->bid), int(str->pos.z));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -92,11 +92,18 @@ BattleAction BattleAction::makeEndOFTacticPhase(ui8 side)
|
|||||||
return ba;
|
return ba;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ostream & operator<<(std::ostream & os, const BattleAction & ba)
|
std::string BattleAction::toString() const
|
||||||
{
|
{
|
||||||
std::stringstream actionTypeStream;
|
std::stringstream actionTypeStream;
|
||||||
actionTypeStream << ba.actionType;
|
actionTypeStream << actionType;
|
||||||
|
|
||||||
return os << boost::str(boost::format("{BattleAction: side '%d', stackNumber '%d', actionType '%s', destinationTile '%s', additionalInfo '%d', selectedStack '%d'}")
|
boost::format fmt("{BattleAction: side '%d', stackNumber '%d', actionType '%s', destinationTile '%s', additionalInfo '%d', selectedStack '%d'}");
|
||||||
% static_cast<int>(ba.side) % ba.stackNumber % actionTypeStream.str() % ba.destinationTile % ba.additionalInfo % ba.selectedStack);
|
fmt % static_cast<int>(side) % stackNumber % actionTypeStream.str() % destinationTile % additionalInfo % selectedStack;
|
||||||
|
return fmt.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::ostream & operator<<(std::ostream & os, const BattleAction & ba)
|
||||||
|
{
|
||||||
|
os << ba.toString();
|
||||||
|
return os;
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,8 @@ struct DLL_LINKAGE BattleAction
|
|||||||
static BattleAction makeShotAttack(const CStack * shooter, const CStack * target);
|
static BattleAction makeShotAttack(const CStack * shooter, const CStack * target);
|
||||||
static BattleAction makeMove(const CStack * stack, BattleHex dest);
|
static BattleAction makeMove(const CStack * stack, BattleHex dest);
|
||||||
static BattleAction makeEndOFTacticPhase(ui8 side);
|
static BattleAction makeEndOFTacticPhase(ui8 side);
|
||||||
|
|
||||||
|
std::string toString() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
DLL_EXPORT std::ostream & operator<<(std::ostream & os, const BattleAction & ba);
|
DLL_EXPORT std::ostream & operator<<(std::ostream & os, const BattleAction & ba); //todo: remove
|
||||||
|
@ -45,7 +45,7 @@ CArchiveLoader::CArchiveLoader(std::string _mountPoint, boost::filesystem::path
|
|||||||
else
|
else
|
||||||
throw std::runtime_error("LOD archive format unknown. Cannot deal with " + archive.string());
|
throw std::runtime_error("LOD archive format unknown. Cannot deal with " + archive.string());
|
||||||
|
|
||||||
logGlobal->traceStream() << ext << "Archive \""<<archive.filename()<<"\" loaded (" << entries.size() << " files found).";
|
logGlobal->trace("%sArchive \"%s\" loaded (%d files found).", ext, archive.filename(), entries.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CArchiveLoader::initLODArchive(const std::string &mountPoint, CFileInputStream & fileStream)
|
void CArchiveLoader::initLODArchive(const std::string &mountPoint, CFileInputStream & fileStream)
|
||||||
|
Loading…
Reference in New Issue
Block a user